From c2991c39ac675184dc5568f37b00c37000c4877b Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Mon, 11 May 2020 14:31:44 +0200
Subject: [PATCH] XSD v2_15_0 baseline

---
 CDT-AE.xsd                |  2 ++
 CDT-CSEBase.xsd           |  1 +
 CDT-commonTypes.xsd       | 27 ++++++++++++++++++++++++++-
 CDT-enumerationTypes.xsd  |  4 +++-
 CDT-notification.xsd      | 24 +++++++++++++++++-------
 CDT-remoteCSE.xsd         |  2 ++
 CDT-requestPrimitive.xsd  |  1 +
 CDT-responsePrimitive.xsd |  3 ++-
 CDT-subscription.xsd      |  4 ++--
 9 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/CDT-AE.xsd b/CDT-AE.xsd
index 7349d96..4745ae0 100644
--- a/CDT-AE.xsd
+++ b/CDT-AE.xsd
@@ -53,6 +53,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="requestReachability" type="xs:boolean" />
 						<xs:element name="contentSerialization" type="m2m:serializations" minOccurs="0" />
 						<xs:element name="e2eSecInfo" type="m2m:e2eSecInfo" minOccurs="0" />
+						<xs:element name="supportedReleaseVersions" type="m2m:supportedReleaseVersions" />
 
 						<!-- Child Resources -->
 						<xs:choice minOccurs="0" maxOccurs="1">
@@ -92,6 +93,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="requestReachability" type="xs:boolean" minOccurs="0" />
 						<xs:element name="contentSerialization" type="m2m:serializations" minOccurs="0" />
 						<xs:element name="e2eSecInfo" type="m2m:e2eSecInfo" minOccurs="0" />
+						<xs:element name="supportedReleaseVersions" type="m2m:supportedReleaseVersions" />
 
 						<!-- Child Resources -->
 						<xs:choice minOccurs="0" maxOccurs="1">
diff --git a/CDT-CSEBase.xsd b/CDT-CSEBase.xsd
index 9c01099..9737b74 100644
--- a/CDT-CSEBase.xsd
+++ b/CDT-CSEBase.xsd
@@ -66,6 +66,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="nodeLink" type="xs:anyURI" minOccurs="0" />
 					    <xs:element name="dynamicAuthorizationConsultationIDs" type="m2m:listOfURIs" minOccurs="0" />
 					    <xs:element name="e2eSecInfo" type="m2m:e2eSecInfo" minOccurs="0" />
+					    <xs:element name="supportedReleaseVersions" type="m2m:supportedReleaseVersions" />
 				
                         <!-- Child Resources -->
                         <xs:choice minOccurs="0" maxOccurs="1">
diff --git a/CDT-commonTypes.xsd b/CDT-commonTypes.xsd
index 55de5d3..c1dbe8c 100644
--- a/CDT-commonTypes.xsd
+++ b/CDT-commonTypes.xsd
@@ -408,6 +408,30 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 		</xs:union>
 	</xs:simpleType>
 	
+	<xs:simpleType name="releaseVersion">
+		<xs:restriction base="xs:string" >
+			<xs:pattern value="2a"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:simpleType name="applicableReleaseVersion">
+		<xs:restriction base="xs:string" >
+			<xs:pattern value="1"/>
+			<xs:pattern value="2"/>
+			<xs:pattern value="2a"/>
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:simpleType name="supportedReleaseVersions">
+		<xs:restriction>
+			<xs:simpleType> 
+				<xs:list itemType="m2m:applicableReleaseVersion" /> 
+			</xs:simpleType> 	    		
+			<xs:minLength value="1" /> 
+		</xs:restriction> 
+	</xs:simpleType>
+
+	
 	<!--********************** -->
 	<!-- oneM2M Complex Types -->
 	<!--********************** -->
@@ -495,11 +519,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 					</xs:restriction> 
 				</xs:simpleType>
 			</xs:element>
+			<xs:element name="releaseVersionIndicator" type="m2m:releaseVersion" minOccurs="1"/>
 		</xs:sequence>
 	</xs:complexType>
 
 
-<!-- primitiveContent defined in CDT-reqestPrimitive and CDT-responsePrimitive ??? -->
+    <!-- primitiveContent used in CDT-reqestPrimitive and CDT-responsePrimitive -->
 	<xs:complexType name="primitiveContent">
 		<xs:choice minOccurs="0" >
 			<xs:any namespace="http://www.onem2m.org/xml/protocols" processContents="lax" />
diff --git a/CDT-enumerationTypes.xsd b/CDT-enumerationTypes.xsd
index 06f2b13..602f73c 100644
--- a/CDT-enumerationTypes.xsd
+++ b/CDT-enumerationTypes.xsd
@@ -274,7 +274,9 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
             <!-- UPDATED      -->
             <xs:enumeration value="2004" />
             <!-- BAD_REQUEST  -->
-            <xs:enumeration value="4000" />            
+            <xs:enumeration value="4000" />
+			<!-- RELEASE_VERSION_NOT_SUPPORTE -->
+			<xs:enumeration value="4001" />
             <!-- NOT_FOUND    -->
             <xs:enumeration value="4004" />            
             <!-- OPERATION_NOT_ALLOWED  -->
diff --git a/CDT-notification.xsd b/CDT-notification.xsd
index 26ac7ff..0984477 100644
--- a/CDT-notification.xsd
+++ b/CDT-notification.xsd
@@ -43,7 +43,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
                         <xs:element name="notificationEvent" minOccurs="0">
                             <xs:complexType >
                                 <xs:sequence>
-                                      <xs:element name="representation" type="xs:anyType" minOccurs="0"/>
+                                      <xs:element name="representation" type="m2m:representation" minOccurs="0"/>
                                       <xs:element name="operationMonitor" minOccurs="0">
                                           <xs:complexType>
                                                <xs:sequence>
@@ -56,12 +56,15 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
                                 </xs:sequence>
                             </xs:complexType>
                         </xs:element>                      
-                        <xs:element name="verificationRequest" type="xs:boolean" minOccurs="0"/>
-                        <xs:element name="subscriptionDeletion" type="xs:boolean" minOccurs="0"/>
-                        <xs:element name="subscriptionReference" type="xs:anyURI" minOccurs="0"/>
-                        <xs:element name="creator" type="m2m:ID" minOccurs="0"/>
-                        <xs:element name="notificationForwardingURI" type="xs:anyURI" minOccurs="0"/>
-                        <xs:element name="IPEDiscoveryRequest" minOccurs="0">
+                    <xs:element name="verificationRequest" type="xs:boolean" minOccurs="0"/>
+                    <xs:element name="subscriptionDeletion" type="xs:boolean" minOccurs="0"/>
+                    <xs:element name="subscriptionReference" type="xs:anyURI" minOccurs="0"/>
+                    <xs:element name="creator" type="m2m:ID" minOccurs="0"/>
+                    <xs:element name="notificationForwardingURI" type="xs:anyURI" minOccurs="0"/>
+                    <xs:element name="notificationTarget" type="m2m:ID" minOccurs="0"/>
+                    <xs:element name="targetRemovalRequest" type="xs:boolean" minOccurs="0"/>
+                    <xs:element name="targetRemovalAllowance" type="xs:boolean" minOccurs="0"/>           
+                    <xs:element name="IPEDiscoveryRequest" minOccurs="0">
                             <xs:complexType >
                                 <xs:sequence>
                                     <xs:element name="originator" type="m2m:ID" />
@@ -124,5 +127,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
             </xs:element>        
         </xs:sequence>
     </xs:complexType>
+    
+    <xs:complexType name="representation">
+        <xs:choice minOccurs="0" >
+            <xs:any namespace="http://www.onem2m.org/xml/protocols" processContents="lax" />
+            <xs:any namespace="##other" processContents="lax"  />
+        </xs:choice>
+    </xs:complexType>
 
 </xs:schema>
diff --git a/CDT-remoteCSE.xsd b/CDT-remoteCSE.xsd
index 45d5f8d..062dce0 100644
--- a/CDT-remoteCSE.xsd
+++ b/CDT-remoteCSE.xsd
@@ -55,6 +55,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="nodeLink" type="xs:anyURI" minOccurs="0" />
 						<xs:element name="triggerReferenceNumber" type="xs:unsignedInt" minOccurs="0" />
 						<xs:element name="e2eSecInfo" type="m2m:e2eSecInfo" minOccurs="0" />
+						<xs:element name="supportedReleaseVersions" type="m2m:supportedReleaseVersions" />
 						
 	                    <!-- Child Resources -->
                         <xs:choice minOccurs="0" maxOccurs="1">
@@ -98,6 +99,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="requestReachability" type="xs:boolean" minOccurs="0" />
 						<xs:element name="nodeLink" type="xs:anyURI" minOccurs="0" />
 						<xs:element name="e2eSecInfo" type="m2m:e2eSecInfo" minOccurs="0" />
+						<xs:element name="supportedReleaseVersions" type="m2m:supportedReleaseVersions" />
                        
                         <!-- Child Resources -->
                         <xs:choice minOccurs="0" maxOccurs="1">
diff --git a/CDT-requestPrimitive.xsd b/CDT-requestPrimitive.xsd
index 157df66..7b3bf4a 100644
--- a/CDT-requestPrimitive.xsd
+++ b/CDT-requestPrimitive.xsd
@@ -116,6 +116,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
           </xs:element>
           <!-- parameter "Token Request Indicator" -->
           <xs:element name="tokenRequestIndicator" type="xs:boolean" minOccurs="0"/>
+          <xs:element name="releaseVersionIndicator" type="m2m:releaseVersion" minOccurs="1"/>
         </xs:sequence> 	       
       </xs:complexType>
     </xs:element>
diff --git a/CDT-responsePrimitive.xsd b/CDT-responsePrimitive.xsd
index e3805e3..a60327f 100644
--- a/CDT-responsePrimitive.xsd
+++ b/CDT-responsePrimitive.xsd
@@ -106,7 +106,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
           <!-- parameter "Assigned Token Identifiers -->
           <xs:element name="assignedTokenIdentifiers" type="m2m:dynAuthLocalTokenIdAssignments" minOccurs="0" />
           <!-- parameter "Token Request Information -->
-          <xs:element name="tokenRequestInformation" type="m2m:dynAuthTokenReqInfo" minOccurs="0" />          
+          <xs:element name="tokenRequestInformation" type="m2m:dynAuthTokenReqInfo" minOccurs="0" />
+          <xs:element name="releaseVersionIndicator" type="m2m:releaseVersion" minOccurs="1"/>          
         </xs:sequence> 	       
       </xs:complexType>
     </xs:element>
diff --git a/CDT-subscription.xsd b/CDT-subscription.xsd
index 184cc7f..ad09e1e 100644
--- a/CDT-subscription.xsd
+++ b/CDT-subscription.xsd
@@ -90,8 +90,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 
 	<xs:complexType name="batchNotify">
 		<xs:sequence>
-			<xs:element name="number" type="xs:nonNegativeInteger" />
-			<xs:element name="duration" type="xs:duration" />
+			<xs:element name="number" type="xs:nonNegativeInteger" minOccurs="0" />
+			<xs:element name="duration" type="xs:duration" minOccurs="0" />
 		</xs:sequence>
 	</xs:complexType>
 	
-- 
GitLab