From d439d3d26fba5089f40aa714e0bf773e6ca0556b Mon Sep 17 00:00:00 2001
From: hutzsc01 <Daniel.Hutzschenreuter@ptb.de>
Date: Wed, 22 Mar 2023 17:09:35 +0100
Subject: [PATCH] Update NaN und Start Quantity

---
 SI_Format.xsd                                 | 21 +++++++++++++++----
 .../2023-03-31-PLATINUM-examples-1.xml        |  6 +++---
 examples/SI_Format_TestData.xsd               |  1 +
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/SI_Format.xsd b/SI_Format.xsd
index e0d9bae..79bb1cb 100644
--- a/SI_Format.xsd
+++ b/SI_Format.xsd
@@ -41,7 +41,20 @@
     
 <!-- ToDo: Check if needed and remove if not needed -->
     <xs:import namespace="http://qudt.org/vocab/" schemaLocation="qudt/quantityKind.xsd"/>
-    <xs:element name="quantityType" type="qudt:quantityKind"/>
+    
+    <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 #################### -->
@@ -102,7 +115,7 @@
             <!-- optional label and quantity type-->
             <xs:element name="label" type="xs:string" minOccurs="0"/>
  <!-- check this line -->
-            <xs:element name="quantityType" type="qudt:quantityKind" minOccurs="0"/>
+            <xs:element ref="si:quantityType" minOccurs="0"/>
             
             <!-- mandatory information -->
             <xs:element name="value" type="si:decimalType"/>
@@ -1244,7 +1257,7 @@
             </xs:documentation>
         </xs:annotation>    
         <xs:restriction base="xs:double">
-            <xs:pattern value="\+?(([1-9]\d*\.\d*)|([1-9]\d*))"/>     
+            <xs:pattern value="\+?(([1-9]\d*\.\d*)|([1-9]\d*))|NaN"/>     
         </xs:restriction>
     </xs:simpleType>
     
@@ -1270,7 +1283,7 @@
             </xs:documentation>
         </xs:annotation>
         <xs:restriction base="xs:double">
-            <xs:pattern value="\+?((0(\.\d*)?)|(1(\.0*)?))"/>
+            <xs:pattern value="\+?((0(\.\d*)?)|(1(\.0*)?))|NaN"/>
         </xs:restriction>
     </xs:simpleType>
     
diff --git a/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml b/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml
index b1ff258..6e745f6 100644
--- a/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml
+++ b/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml
@@ -33,13 +33,13 @@
 
     <siTest:testData id="PTB800">
 	    <si:real>
-            <si:quantityType>length</si:quantityType>                            
+            <si:quantityTypeQUDT>length</si:quantityTypeQUDT>                            
 	        <si:value>NaN</si:value>
 	        <si:unit>\metre</si:unit>
 	        <si:expandedUnc>
 				<si:uncertainty>NaN</si:uncertainty>
-				<si:coverageFactor>1.96</si:coverageFactor>
-				<si:coverageProbability>0.95</si:coverageProbability>
+				<si:coverageFactor>NaN</si:coverageFactor>
+				<si:coverageProbability>NaN</si:coverageProbability>
 			</si:expandedUnc>
 	    </si:real>
 	</siTest:testData>	
diff --git a/examples/SI_Format_TestData.xsd b/examples/SI_Format_TestData.xsd
index 9fe27bf..601110b 100644
--- a/examples/SI_Format_TestData.xsd
+++ b/examples/SI_Format_TestData.xsd
@@ -67,6 +67,7 @@
 						<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"/>
-- 
GitLab