From 9d6cf26b5d6e7b0f7825bac9dd2c272bd3890426 Mon Sep 17 00:00:00 2001
From: hutzsc01 <Daniel.Hutzschenreuter@ptb.de>
Date: Thu, 6 Apr 2023 16:21:02 +0200
Subject: [PATCH] First part uncertainty extension update

---
 SI_Format.xsd                                 | 75 ++++++++++++-------
 .../2023-03-31-PLATINUM-examples-1.xml        |  2 +-
 2 files changed, 49 insertions(+), 28 deletions(-)

diff --git a/SI_Format.xsd b/SI_Format.xsd
index debc928..e52db63 100644
--- a/SI_Format.xsd
+++ b/SI_Format.xsd
@@ -72,13 +72,13 @@
                     (m) - element unit              (string - SI format)
                     (o) - element significatnDigits (non negative integer) 
                     (o) - element dateTime          (xs:dateTime)
-                    (m) - choice si:measurementUncertaintyStandard
-                              or si:measurementUncertaintyExpanded
-                              or si:measurementUncertaintyInterval
+                    (m) - element measurementUncertaintyUnivariate (si:measurementUncertaintyUnivaraiteType)
+                           # with choice  si:standardMU
+                              			or si:expandedMU
+                              			or si:coverageIntervalMU 
+                           # or [deprecated] si:expandedUnc
+                           # or [deprecated] si:coverageInterval
                               
-                              or [deprecated] si:expandedUnc
-                              or [deprecated] si:coverageInterval
-                              for the univaraite uncertainty
                 ]]>
             </xs:documentation>
             <xs:documentation xml:lang="en">
@@ -119,9 +119,7 @@
                         univariate measurement uncertainty
                     </xs:documentation>
                 </xs:annotation>
-                <xs:element name="measurementUncertaintyStandard" type="si:measurementUncertaintyStandardType"/>
-                <xs:element name="measurementUncertaintyExpanded" type="si:measurementUncertaintyExpandedType"/>
-                <xs:element name="measurementUncertaintyInterval" type="si:measurementUncertaintyIntervalType"/>
+                <xs:element name="measurementUncertaintyUnivariate" type="si:measurementUncertaintyUnivariateType"/>
                 <!-- deprecated types -->
                 <xs:element name="expandedUnc" type="si:expandedUncType"/>
                 <xs:element name="coverageInterval" type="si:coverageIntervalType"/>
@@ -130,9 +128,20 @@
         </xs:sequence>
     </xs:complexType>
     
+    
+    <xs:complexType name="measurementUncertaintyUnivariateType">
+        <xs:choice>
+            <xs:annotation>
+                <xs:documentation xml:lang="en">univariate measurement uncertainty</xs:documentation>
+            </xs:annotation>
+            <xs:element name="standardMU" type="si:standardMUType"/>
+            <xs:element name="expandedMU" type="si:expandedMUType"/>
+            <xs:element name="coverageIntervalMU" type="si:coverageIntervalMUType"/>
+        </xs:choice>
+    </xs:complexType>
         
     
-    <xs:complexType name="measurementUncertaintyStandardType">
+    <xs:complexType name="standardMUType">
 		<xs:annotation>
             <xs:documentation xml:lang="en">Definition of standard measurement uncertainty data.</xs:documentation>
         </xs:annotation>
@@ -142,7 +151,7 @@
         </xs:sequence>
     </xs:complexType>
     
-    <xs:complexType name="measurementUncertaintyExpandedType">
+    <xs:complexType name="expandedMUType">
 		<xs:annotation>
             <xs:documentation xml:lang="en">Definition of expanded measurement uncertainty data.</xs:documentation>
         </xs:annotation>
@@ -154,7 +163,7 @@
         </xs:sequence>
     </xs:complexType>
     
-    <xs:complexType name="measurementUncertaintyIntervalType">
+    <xs:complexType name="coverageIntervalMUType">
 		<xs:annotation>
             <xs:documentation xml:lang="en">Definition of coverage interval measurement uncertainty data.</xs:documentation>
         </xs:annotation>
@@ -416,6 +425,7 @@
         </xs:sequence>
     </xs:complexType>
     
+    
     <xs:element name="realList" type="si:realListType">
         <xs:annotation>
             <xs:documentation xml:lang="en">
@@ -459,6 +469,7 @@
                     </xs:documentation>
                 </xs:annotation>
             </xs:element>
+            
             <xs:element name="listUnivariateUnc" type="si:listUnivariateUncType" minOccurs="0">
                 <xs:annotation>
                     <xs:documentation xml:lang="en">[deprecated element] use listMeasurementUncertaintyUnivariate instead</xs:documentation>
@@ -507,9 +518,7 @@
                 <xs:annotation>
                     <xs:documentation xml:lang="en">univariate measurement uncertainty</xs:documentation>
                 </xs:annotation>
-                <xs:element name="measurementUncertaintyStandard" type="si:measurementUncertaintyStandardType"/>
-                <xs:element name="measurementUncertaintyExpanded" type="si:measurementUncertaintyExpandedType"/>
-                <xs:element name="measurementUncertaintyInterval" type="si:measurementUncertaintyIntervalType"/>
+                <xs:element name="measurementUncertaintyUnivaraite" type="si:measurementUncertaintyUnivariateType"/>
                 <!-- deprecated types -->
                 <xs:element name="expandedUnc" type="si:expandedUncType"/>
                 <xs:element name="coverageInterval" type="si:coverageIntervalType"/>
@@ -523,9 +532,9 @@
             <xs:annotation>
                 <xs:documentation xml:lang="en">univariate measurement uncertainty</xs:documentation>
             </xs:annotation>
-            <xs:element name="measurementUncertaintyStandard" type="si:measurementUncertaintyStandardType"/>
-            <xs:element name="measurementUncertaintyExpanded" type="si:measurementUncertaintyExpandedType"/>
-            <xs:element name="measurementUncertaintyInterval" type="si:measurementUncertaintyIntervalType"/>
+            <xs:element name="standardMU" type="si:standardMUType"/>
+            <xs:element name="expandedMU" type="si:expandedMUType"/>
+            <xs:element name="coverageIntervalMU" type="si:coverageIntervalType"/>
             <!-- deprecated types -->
             <xs:element name="expandedUnc" type="si:expandedUncType"/>
             <xs:element name="coverageInterval" type="si:coverageIntervalType"/>
@@ -584,14 +593,12 @@
                 <xs:annotation>
                     <xs:documentation xml:lang="en">univariate measurement uncertainty</xs:documentation>
                 </xs:annotation>
-                <xs:element name="measurementUncertaintyStandardXMLList" type="si:measurementUncertaintyStandardXMLListType"/>
-                <xs:element name="measurementUncertaintyExpandedXMLList" type="si:measurementUncertaintyExpandedXMLListType"/>
-                <xs:element name="measurementUncertaintyIntervalXMLList" type="si:measurementUncertaintyIntervalXMLListType"/>
+                <xs:element name="measurementUncertaintyUnivaraiteXMLList" type="si:measurementUncertaintyUnivariateXMLListType"/>
                 <!-- deprecated types -->
                 <xs:element name="expandedUncXMLList" type="si:expandedUncXMLListType"/>
                 <xs:element name="coverageIntervalXMLList" type="si:coverageIntervalXMLListType"/>
             </xs:choice>
-            
+            <!-- TODO -->
             <xs:choice minOccurs="0">
                 <xs:annotation>
                     <xs:documentation xml:lang="en">multivariate measurement uncertainty</xs:documentation>
@@ -608,7 +615,19 @@
     </xs:complexType>
     
     
-    <xs:complexType name="measurementUncertaintyStandardXMLListType">
+    <xs:complexType name="measurementUncertaintyUnivariateXMLListType">
+        <xs:choice>
+            <xs:annotation>
+                <xs:documentation xml:lang="en">univariate measurement uncertainty as XML List</xs:documentation>
+            </xs:annotation>
+            <xs:element name="standardMUXMLList" type="si:standardMUXMLListType"/>
+            <xs:element name="expandedMUXMLList" type="si:expandedMUXMLListType"/>
+            <xs:element name="coverageIntervalMUXMLList" type="si:coverageIntervalMUXMLListType"/>
+        </xs:choice>
+    </xs:complexType>
+    
+    
+    <xs:complexType name="standardMUXMLListType">
 		<xs:annotation>
             <xs:documentation xml:lang="en">Definition of standard measurement uncertainty data.</xs:documentation>
         </xs:annotation>
@@ -618,7 +637,7 @@
         </xs:sequence>
     </xs:complexType>
     
-    <xs:complexType name="measurementUncertaintyExpandedXMLListType">
+    <xs:complexType name="expandedMUXMLListType">
 		<xs:annotation>
             <xs:documentation xml:lang="en">Definition of expanded measurement uncertainty data.</xs:documentation>
         </xs:annotation>
@@ -630,7 +649,7 @@
         </xs:sequence>
     </xs:complexType>
     
-    <xs:complexType name="measurementUncertaintyIntervalXMLListType">
+    <xs:complexType name="coverageIntervalMUXMLListType">
 		<xs:annotation>
             <xs:documentation xml:lang="en">Definition of coverage interval measurement uncertainty data.</xs:documentation>
         </xs:annotation>
@@ -1345,7 +1364,9 @@
                 with separation by blank spaces.
             </xs:documentation>
         </xs:annotation>
-        <xs:restriction base="xs:nonNegativeInteger"/>
+        <xs:restriction base="xs:nonNegativeInteger">
+			<xs:minInclusive value="1"/>
+		</xs:restriction>
     </xs:simpleType>
     
     
@@ -1356,7 +1377,7 @@
                 with separation by blank spaces.
             </xs:documentation>
         </xs:annotation>
-        <xs:list itemType="xs:nonNegativeInteger" />
+        <xs:list itemType="xs:nonNegativeInteger"/>
     </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 a189c53..180eabb 100644
--- a/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml
+++ b/examples/PLATINUM/2023-03-31-PLATINUM-examples-1.xml
@@ -61,7 +61,7 @@
 	    <si:real>                       
 	        <si:value>1.023</si:value>
 	        <si:unit>\metre</si:unit>
-	        <si:significantDigits>4</si:significantDigits>
+	        <si:significantDigits>1</si:significantDigits>
 	    </si:real>
 	</siTest:testData>
 	
-- 
GitLab