diff --git a/SI_Format.xsd b/SI_Format.xsd index 79bb1cb1fcdf030d48a2848ab3c0244477f820f7..debc928f788a7e58266f7db79c6ac6b78db371eb 100644 --- a/SI_Format.xsd +++ b/SI_Format.xsd @@ -39,24 +39,12 @@ </xs:documentation> </xs:annotation> -<!-- ToDo: Check if needed and remove if not needed --> + <!-- Importing used namespaces, TODO: change from local to web schema location before release --> <xs:import namespace="http://qudt.org/vocab/" schemaLocation="qudt/quantityKind.xsd"/> - <xs:element name="quantityType" type="xs:string" abstract="true"/> - <xs:element name="quantityTypeQUDT" substitutionGroup="si:quantityType" type="qudt:quantityKind"/> - <!--<xs:element name="quantityTypeIEC" substitutionGroup="si:quantityType"/>--> - - <!-- xs:anyURI --> - - <xs:element name="real2"> - <xs:complexType> - <xs:sequence> - <xs:element ref="si:quantityType"/> - </xs:sequence> - </xs:complexType> - </xs:element> - - + + + <!-- ############## D-SI XML ELEMENT DEFINITIONS FOR MEASUREMETN DATA EXCHANGE #################### --> <xs:element name="real" type="si:realQuantityType"> @@ -71,7 +59,7 @@ 1. Basic measured quantity (o) - element label (string) - (o) - element quantityType (string) + (o) - element quantityTypeQUDT (qudt:quantityKindType) (m) - element value (decimal value type) (m) - element unit (string - SI format) (o) - element significatnDigits (non negative integer) @@ -79,7 +67,7 @@ 2. Measured quantity with univariate measurement uncertainty (o) - element label (string) - (o) - element quantityType (string) + (o) - element quantityTypeQUDT (qudt:quantityKindType) (m) - element value (decimal value type) (m) - element unit (string - SI format) (o) - element significatnDigits (non negative integer) @@ -114,7 +102,6 @@ <xs:sequence> <!-- optional label and quantity type--> <xs:element name="label" type="xs:string" minOccurs="0"/> - <!-- check this line --> <xs:element ref="si:quantityType" minOccurs="0"/> <!-- mandatory information --> @@ -218,7 +205,7 @@ The element has the following components [(m)-mandatory, (o)-optional]: (o) - element label (string) - (o) - element quantityType (string) + (o) - element quantityTypeQUDT (qudt:quantityKindType) (m) - element value (decimal value type) (m) - element unit (string - SI unit) (o) - element significatnDigits (non negative integer) @@ -243,7 +230,7 @@ <xs:sequence> <!-- optional label and quantity type--> <xs:element name="label" type="xs:string" minOccurs="0"/> - <xs:element name="quantityType" type="xs:string" minOccurs="0"/> + <xs:element ref="si:quantityType" minOccurs="0"/> <!-- mandatory information --> <xs:element name="value" type="si:decimalType"/> @@ -280,7 +267,7 @@ 1. Basic measured quantity in Cartesian form (o) - element label (string) - (o) - element quantityType (string) + (o) - element quantityTypeQUDT (qudt:quantityKindType) (m) - element valueReal (decimal value type) (m) - element valueImag (decimal value type) (m) - element unit (string - SI unit) @@ -289,7 +276,7 @@ 2. Basic measured quantity in polar form (o) - element label (string) - (o) - element quantityType (string) + (o) - element quantityTypeQUDT (qudt:quantityKindType) (m) - element valueMagnitude (decimal value type) (m) - element valuePhase (decimal value type) (m) - element unit (string - SI unit) @@ -299,7 +286,7 @@ 3. Basic measured quantity in Cartesian form with bivariate uncertainty (o) - element label (string) - (o) - element quantityType (string) + (o) - element quantityTypeQUDT (qudt:quantityKindType) (m) - element valueReal (decimal value type) (m) - element valueImag (decimal value type) (m) - element unit (string - SI unit) @@ -309,7 +296,7 @@ 4. Basic measured quantity in polar form with bivariate uncertainty (o) - element label (string) - (o) - element quantityType (string) + (o) - element quantityTypeQUDT (qudt:quantityKindType) (m) - element valueMagnitude (decimal value type) (m) - element valuePhase (decimal value type) (m) - element unit (string - SI unit) @@ -326,7 +313,7 @@ <xs:sequence> <!-- optional label and quantity type--> <xs:element name="label" type="xs:string" minOccurs="0"/> - <xs:element name="quantityType" type="xs:string" minOccurs="0"/> + <xs:element ref="si:quantityType" minOccurs="0"/> <!-- choice of Cartesian coordinate form or polar coordinate form --> <xs:choice> @@ -455,7 +442,7 @@ <!-- optional list time stamp --> <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/> <!-- optional list quantityType --> - <xs:element name="listQuantityType" type="xs:string" minOccurs="0"/> + <xs:element ref="si:listQuantityType" minOccurs="0"/> <!-- optional list unit --> <xs:element name="listUnit" type="si:unitType" minOccurs="0"/> <!-- optional list significant digits --> @@ -506,7 +493,7 @@ <xs:sequence> <!-- optional local label and local quantity type--> <xs:element name="label" type="xs:string" minOccurs="0"/> - <xs:element name="quantityType" type="xs:string" minOccurs="0"/> + <xs:element ref="si:quantityType" minOccurs="0"/> <!-- mandatory information --> <xs:element name="value" type="si:decimalType"/> @@ -582,7 +569,7 @@ <xs:sequence> <!-- optional label and quantity type--> <xs:element name="labelXMLList" type="si:stringXMLListType" minOccurs="0"/> - <xs:element name="quantityTypeXMLList" type="si:stringXMLListType" minOccurs="0"/> + <xs:element ref="si:quantityTypeXMLList" minOccurs="0"/> <!-- mandatory information --> <xs:element name="valueXMLList" type="si:decimalXMLListType"/> @@ -780,7 +767,7 @@ <!-- optional list time stamp --> <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/> <!-- optional list quantityType --> - <xs:element name="listQuantityType" type="xs:string" minOccurs="0"/> + <xs:element ref="si:listQuantityType" minOccurs="0"/> <!-- optional list unit --> <xs:element name="listUnit" type="si:unitType" minOccurs="0"/> <xs:element name="listUnitPhase" type="xs:string" minOccurs="0"/> @@ -826,7 +813,7 @@ <xs:sequence> <!-- optional local label and local quantity type--> <xs:element name="label" type="xs:string" minOccurs="0"/> - <xs:element name="quantityType" type="xs:string" minOccurs="0"/> + <xs:element ref="si:quantityType" minOccurs="0"/> <!-- choice of Cartesian coordinate form or polar coordinate form --> <xs:choice> @@ -901,7 +888,7 @@ <xs:sequence> <!-- optional label and quantity type--> <xs:element name="labelXMLList" type="si:stringXMLListType" minOccurs="0"/> - <xs:element name="quantityTypeXMLList" type="si:stringXMLListType" minOccurs="0"/> + <xs:element ref="si:quantityTypeXMLList" minOccurs="0"/> <!-- choice of Cartesian coordinate form or polar coordinate form --> <xs:choice> @@ -1051,6 +1038,58 @@ <!-- ############## D-SI XML INTERNALLY USED SIMPLE TYPE DEFINITIONS #################### --> + + <xs:element name="quantityType" type="xs:string" abstract="true"> + <xs:annotation> + <xs:documentation xml:lang="en"> + Definition of placeholder element for providing different quantity types. + </xs:documentation> + </xs:annotation> + </xs:element> + + <xs:element name="quantityTypeQUDT" substitutionGroup="si:quantityType" type="qudt:quantityKind"> + <xs:annotation> + <xs:documentation xml:lang="en"> + Definition of a quantity element that links to the QUDT + ontology IDs for qauntities. + </xs:documentation> + </xs:annotation> + </xs:element> + <!--<xs:element name="quantityTypeIEC" substitutionGroup="si:quantityType"/>--> + + <xs:element name="listQuantityType" type="xs:string" abstract="true"> + <xs:annotation> + <xs:documentation xml:lang="en"> + Definition of placeholder element for providing different quantity types. + </xs:documentation> + </xs:annotation> + </xs:element> + + <xs:element name="listQuantityTypeQUDT" substitutionGroup="si:listQuantityType" type="qudt:quantityKind"> + <xs:annotation> + <xs:documentation xml:lang="en"> + Definition of a quantity element that links to the QUDT + ontology IDs for qauntities. + </xs:documentation> + </xs:annotation> + </xs:element> + + <xs:element name="quantityTypeXMLList" type="xs:string" abstract="true"> + <xs:annotation> + <xs:documentation xml:lang="en"> + Definition of placeholder element for providing different quantity types. + </xs:documentation> + </xs:annotation> + </xs:element> + + <xs:element name="quantityTypeQUDTXMLList" substitutionGroup="si:quantityTypeXMLList" type="qudt:quantityKind"> + <xs:annotation> + <xs:documentation xml:lang="en"> + Definition of a quantity element that links to the QUDT + ontology IDs for qauntities. + </xs:documentation> + </xs:annotation> + </xs:element> <xs:simpleType name="unitType"> <xs:annotation> diff --git a/examples/BRONZE/2022-05-23-BRONZE-examples.xml b/examples/BRONZE/2022-05-23-BRONZE-examples.xml index da818ddb65faf8f92a3cc0e4a965d3eca36c783a..a6953ad739658852bc3fc7325d0e592065c54928 100644 --- a/examples/BRONZE/2022-05-23-BRONZE-examples.xml +++ b/examples/BRONZE/2022-05-23-BRONZE-examples.xml @@ -33,7 +33,7 @@ <siTest:testData id="PTB700"> <si:real> - <si:quantityType>pressure</si:quantityType> + <si:quantityTypeQUDT>pressure</si:quantityTypeQUDT> <si:value>1.0</si:value> <si:unit>\bar</si:unit> </si:real> @@ -41,7 +41,7 @@ <siTest:testData id="PTB705"> <si:realList> - <si:listQuantityType>speed</si:listQuantityType> + <si:listQuantityTypeQUDT>speed</si:listQuantityTypeQUDT> <si:listUnit>\knot</si:listUnit> <si:real> <si:value>1.0</si:value> diff --git a/examples/GOLD/2022-05-23-GOLD-examples.xml b/examples/GOLD/2022-05-23-GOLD-examples.xml index 60e13e63fb0610e383a9a35ec2738c7b06a044db..7ca98e07a60bf8b2bcbf9cd96c3bd63f3ccd916a 100644 --- a/examples/GOLD/2022-05-23-GOLD-examples.xml +++ b/examples/GOLD/2022-05-23-GOLD-examples.xml @@ -33,7 +33,7 @@ <siTest:testData id="PTB701"> <si:real> - <si:quantityType>length</si:quantityType> + <si:quantityTypeQUDT>length</si:quantityTypeQUDT> <si:value>1.0</si:value> <si:unit>\kilo\metre</si:unit> </si:real> @@ -41,7 +41,7 @@ <siTest:testData id="PTB706"> <si:realList> - <si:listQuantityType>force</si:listQuantityType> + <si:listQuantityTypeQUDT>force</si:listQuantityTypeQUDT> <si:listUnit>\newton</si:listUnit> <si:real> <si:value>1.0</si:value> diff --git a/examples/IMPROVABLE/2022-05-23-IMPROVABLE-examples.xml b/examples/IMPROVABLE/2022-05-23-IMPROVABLE-examples.xml index 3e014e7982d6496a4ac544421f67cee9c185f168..ffc5523c5da82b5fd126c3b94b3bb34c94f63f13 100644 --- a/examples/IMPROVABLE/2022-05-23-IMPROVABLE-examples.xml +++ b/examples/IMPROVABLE/2022-05-23-IMPROVABLE-examples.xml @@ -33,7 +33,7 @@ <siTest:testData id="PTB702"> <si:real> - <si:quantityType>length</si:quantityType> + <si:quantityTypeQUDT>length</si:quantityTypeQUDT> <si:value>0.0</si:value> <si:unit>\meter</si:unit> </si:real> @@ -41,7 +41,7 @@ <siTest:testData id="PTB707"> <si:realList> - <si:listQuantityType></si:listQuantityType> + <si:listQuantityTypeQUDT></si:listQuantityTypeQUDT> <si:listUnit>\radian</si:listUnit> <si:real> <si:value>1.0</si:value> diff --git a/examples/PLATINUM/2022-05-23-PLATINUM-examples.xml b/examples/PLATINUM/2022-05-23-PLATINUM-examples.xml index e437904c2282b22cd11abb24eccd78ba3e335ad5..2293de65d63b1d5669675ad37b02c6afa43b2b06 100644 --- a/examples/PLATINUM/2022-05-23-PLATINUM-examples.xml +++ b/examples/PLATINUM/2022-05-23-PLATINUM-examples.xml @@ -33,7 +33,7 @@ <siTest:testData id="PTB703"> <si:real> - <si:quantityType>length</si:quantityType> + <si:quantityTypeQUDT>length</si:quantityTypeQUDT> <si:value>1.0</si:value> <si:unit>\metre</si:unit> </si:real> @@ -41,7 +41,7 @@ <siTest:testData id="PTB708"> <si:realList> - <si:listQuantityType>luminous intensity</si:listQuantityType> + <si:listQuantityTypeQUDT>luminous intensity</si:listQuantityTypeQUDT> <si:listUnit>\candela</si:listUnit> <si:real> <si:value>1.0</si:value> @@ -55,7 +55,7 @@ <siTest:testData id="PTB710"> <si:constant> <si:label>speed of light in vacuum</si:label> - <si:quantityType>speed</si:quantityType> + <si:quantityTypeQUDT>speed</si:quantityTypeQUDT> <si:value>299792458.0</si:value> <si:unit>\metre\second\tothe{-1}</si:unit> <si:uncertainty>0</si:uncertainty> @@ -64,7 +64,7 @@ <siTest:testData id="PTB711"> <si:complex> - <si:quantityType>length</si:quantityType> + <si:quantityTypeQUDT>length</si:quantityTypeQUDT> <si:valueReal>-12.592</si:valueReal> <si:valueImag>7.015</si:valueImag> <si:unit>\metre</si:unit> @@ -74,13 +74,13 @@ <siTest:testData id="PTB712"> <si:complexList> <si:complex> - <si:quantityType>electric charge</si:quantityType> + <si:quantityTypeQUDT>electric charge</si:quantityTypeQUDT> <si:valueReal>-10.310</si:valueReal> <si:valueImag>5.010</si:valueImag> <si:unit>\ampere</si:unit> </si:complex> <si:complex> - <si:quantityType>electric charge</si:quantityType> + <si:quantityTypeQUDT>electric charge</si:quantityTypeQUDT> <si:valueReal>1.0</si:valueReal> <si:valueImag>-2.0</si:valueImag> <si:unit>\ampere</si:unit> @@ -90,7 +90,7 @@ <siTest:testData id="PTB713"> <si:complexList> - <si:listQuantityType>electric charge</si:listQuantityType> + <si:listQuantityTypeQUDT>electric charge</si:listQuantityTypeQUDT> <si:listUnit>\ampere</si:listUnit> <si:listUnitPhase>\metre\metre\tothe{-1}</si:listUnitPhase> <si:complex> diff --git a/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml b/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml index 6e745f6e5ac61b11e4d01d2abc53fea91842b2be..a189c5315659ee3d5c21b140768e271e927ef5ed 100644 --- a/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml +++ b/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml @@ -46,7 +46,7 @@ <siTest:testData id="PTB801"> <si:realListXMLList> - <si:quantityTypeXMLList>length</si:quantityTypeXMLList> + <si:quantityTypeQUDTXMLList>length</si:quantityTypeQUDTXMLList> <si:valueXMLList>NaN 3.45 0.78 NaN 9.87</si:valueXMLList> <si:unitXMLList>\metre</si:unitXMLList> <si:expandedUncXMLList> @@ -67,7 +67,7 @@ <siTest:testData id="PTB803"> <si:realListXMLList> - <si:quantityTypeXMLList>length</si:quantityTypeXMLList> + <si:quantityTypeQUDTXMLList>length</si:quantityTypeQUDTXMLList> <si:valueXMLList>1.23 3.454 0.78 9.87</si:valueXMLList> <si:unitXMLList>\metre</si:unitXMLList> <si:significantDigitsXMLList>3 4 3 1</si:significantDigitsXMLList> @@ -161,7 +161,8 @@ </siTest:testData> <siTest:testData id="PTB811"> - <si:complexListXMLList> + <si:complexListXMLList> + <si:quantityTypeQUDTXMLList>length</si:quantityTypeQUDTXMLList> <si:valueRealXMLList>1.0 2.0</si:valueRealXMLList> <si:valueImagXMLList>1.0 2.0</si:valueImagXMLList> <si:unitXMLList>\metre</si:unitXMLList> @@ -318,4 +319,21 @@ </si:realListXMLList> </siTest:testData> + + <siTest:testData id="PTB814"> + <si:realList> + <si:listQuantityTypeQUDT>length</si:listQuantityTypeQUDT> + <si:real> + <si:value>1.0</si:value> + <si:unit>\metre</si:unit> + </si:real> + <si:real> + <si:value>1.0</si:value> + <si:unit>\metre</si:unit> + </si:real> + + + </si:realList> + </siTest:testData> + </siTest:testDSIXML> \ No newline at end of file diff --git a/examples/SILVER/2022-05-23-SILVER-examples.xml b/examples/SILVER/2022-05-23-SILVER-examples.xml index 301cdf3f7587aaaf4ecc138ba973d9da39239085..b418aa22f17357c50f461f03e01cb8774bf97529 100644 --- a/examples/SILVER/2022-05-23-SILVER-examples.xml +++ b/examples/SILVER/2022-05-23-SILVER-examples.xml @@ -33,7 +33,7 @@ <siTest:testData id="PTB704"> <si:real> - <si:quantityType>mass</si:quantityType> + <si:quantityTypeQUDT>mass</si:quantityTypeQUDT> <si:value>1.0</si:value> <si:unit>\tonne</si:unit> </si:real> @@ -41,7 +41,7 @@ <siTest:testData id="PTB709"> <si:realList> - <si:listQuantityType>length</si:listQuantityType> + <si:listQuantityTypeQUDT>length</si:listQuantityTypeQUDT> <si:listUnit>\astronomicalunit</si:listUnit> <si:real> <si:value>1.0</si:value> diff --git a/examples/SI_Format_TestData.xsd b/examples/SI_Format_TestData.xsd index 601110b2ef6dd22a51cab3d29cc1287e622cc8cf..9fe27bf09161c78cc28ff520210120087e038c1f 100644 --- a/examples/SI_Format_TestData.xsd +++ b/examples/SI_Format_TestData.xsd @@ -67,7 +67,6 @@ <xs:sequence> <xs:choice> <xs:element ref="si:real"/> - <xs:element ref="si:real2"/> <xs:element ref="si:complex"/> <xs:element ref="si:list"/> <xs:element ref="si:realList"/>