From c83f8f5ff995c48d98ec9109f962b181b9fd6d8b Mon Sep 17 00:00:00 2001
From: Wolfgang Granzow <wgranzow@qti.qualcomm.com>
Date: Wed, 13 Dec 2017 00:51:34 +0100
Subject: [PATCH] Rel-2 changes agreed at PRO#32

See PRO-2017-0383 for a detailed description of the changes
---
 v2_15_0/CDT-AE-v2_15_0.xsd                |  2 ++
 v2_15_0/CDT-CSEBase-v2_15_0.xsd           |  1 +
 v2_15_0/CDT-commonTypes-v2_15_0.xsd       | 27 ++++++++++++++++++++++-
 v2_15_0/CDT-enumerationTypes-v2_15_0.xsd  |  4 +++-
 v2_15_0/CDT-notification-v2_15_0.xsd      | 24 ++++++++++++++------
 v2_15_0/CDT-remoteCSE-v2_15_0.xsd         |  2 ++
 v2_15_0/CDT-requestPrimitive-v2_15_0.xsd  |  1 +
 v2_15_0/CDT-responsePrimitive-v2_15_0.xsd |  3 ++-
 v2_15_0/CDT-subscription-v2_15_0.xsd      |  4 ++--
 9 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/v2_15_0/CDT-AE-v2_15_0.xsd b/v2_15_0/CDT-AE-v2_15_0.xsd
index a70a297..808a68d 100644
--- a/v2_15_0/CDT-AE-v2_15_0.xsd
+++ b/v2_15_0/CDT-AE-v2_15_0.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/v2_15_0/CDT-CSEBase-v2_15_0.xsd b/v2_15_0/CDT-CSEBase-v2_15_0.xsd
index ae8f2f4..281689f 100644
--- a/v2_15_0/CDT-CSEBase-v2_15_0.xsd
+++ b/v2_15_0/CDT-CSEBase-v2_15_0.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/v2_15_0/CDT-commonTypes-v2_15_0.xsd b/v2_15_0/CDT-commonTypes-v2_15_0.xsd
index 527ac4e..5966aeb 100644
--- a/v2_15_0/CDT-commonTypes-v2_15_0.xsd
+++ b/v2_15_0/CDT-commonTypes-v2_15_0.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/v2_15_0/CDT-enumerationTypes-v2_15_0.xsd b/v2_15_0/CDT-enumerationTypes-v2_15_0.xsd
index 06f2b13..602f73c 100644
--- a/v2_15_0/CDT-enumerationTypes-v2_15_0.xsd
+++ b/v2_15_0/CDT-enumerationTypes-v2_15_0.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/v2_15_0/CDT-notification-v2_15_0.xsd b/v2_15_0/CDT-notification-v2_15_0.xsd
index a84d16b..97ac3fe 100644
--- a/v2_15_0/CDT-notification-v2_15_0.xsd
+++ b/v2_15_0/CDT-notification-v2_15_0.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/v2_15_0/CDT-remoteCSE-v2_15_0.xsd b/v2_15_0/CDT-remoteCSE-v2_15_0.xsd
index 2a970d5..b1d213d 100644
--- a/v2_15_0/CDT-remoteCSE-v2_15_0.xsd
+++ b/v2_15_0/CDT-remoteCSE-v2_15_0.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/v2_15_0/CDT-requestPrimitive-v2_15_0.xsd b/v2_15_0/CDT-requestPrimitive-v2_15_0.xsd
index dce50ff..7bc93dd 100644
--- a/v2_15_0/CDT-requestPrimitive-v2_15_0.xsd
+++ b/v2_15_0/CDT-requestPrimitive-v2_15_0.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/v2_15_0/CDT-responsePrimitive-v2_15_0.xsd b/v2_15_0/CDT-responsePrimitive-v2_15_0.xsd
index a159eb5..833910d 100644
--- a/v2_15_0/CDT-responsePrimitive-v2_15_0.xsd
+++ b/v2_15_0/CDT-responsePrimitive-v2_15_0.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/v2_15_0/CDT-subscription-v2_15_0.xsd b/v2_15_0/CDT-subscription-v2_15_0.xsd
index e2093b0..1f04f75 100644
--- a/v2_15_0/CDT-subscription-v2_15_0.xsd
+++ b/v2_15_0/CDT-subscription-v2_15_0.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