From c0e8b5b01af63b1994ca5e86689a419794e826be Mon Sep 17 00:00:00 2001
From: wgranzow <wgranzow@qti.qualcomm.com>
Date: Mon, 10 Aug 2015 16:35:23 +0200
Subject: [PATCH] changes agreed in PRO-2015-0841R01-XSD-List_cardinality

---
 v1_3_0/CDT-accessControlPolicy-v1_3_0.xsd | 26 +++++--
 v1_3_0/CDT-commonTypes-v1_3_0.xsd         | 88 ++++++++++++++++-------
 2 files changed, 84 insertions(+), 30 deletions(-)

diff --git a/v1_3_0/CDT-accessControlPolicy-v1_3_0.xsd b/v1_3_0/CDT-accessControlPolicy-v1_3_0.xsd
index bff1f5a..4b7fb26 100644
--- a/v1_3_0/CDT-accessControlPolicy-v1_3_0.xsd
+++ b/v1_3_0/CDT-accessControlPolicy-v1_3_0.xsd
@@ -97,15 +97,25 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 							<xs:complexType>
 								<xs:sequence>
 									<xs:element name="ipv4Addresses" minOccurs="0" maxOccurs="1">
-										<!-- space separated list of IPv4 addresses -->
+										<!-- space separated list of IPv4 addresses -->										
 										<xs:simpleType>
-											<xs:list itemType="m2m:ipv4" />
+											<xs:restriction>
+												<xs:simpleType>
+													<xs:list itemType="m2m:ipv4" />
+												</xs:simpleType>
+												<xs:minLength value="1"/>
+											</xs:restriction>
 										</xs:simpleType>
 									</xs:element>
 									<xs:element name="ipv6Addresses" minOccurs="0" maxOccurs="1">
 										<!-- space separated list of IPv6 addresses -->
 										<xs:simpleType>
-											<xs:list itemType="m2m:ipv6" />
+											<xs:restriction>
+												<xs:simpleType>
+													<xs:list itemType="m2m:ipv6" />
+												</xs:simpleType>
+												<xs:minLength value="1"/>
+											</xs:restriction>
 										</xs:simpleType>
 									</xs:element>
 								</xs:sequence>
@@ -123,7 +133,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 			<xs:element name="countryCode">
 				<!-- Space separated list of 2-digit country codes -->
 				<xs:simpleType>
-					<xs:list itemType="m2m:countryCode" />
+					<xs:restriction>
+						<xs:simpleType>
+					      <xs:list itemType="m2m:countryCode" />
+						</xs:simpleType>
+						<xs:minLength value="1"/>
+					</xs:restriction>
 				</xs:simpleType>
 			</xs:element>
 			<xs:element name="circRegion">
@@ -134,8 +149,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:simpleType>
 							<xs:list itemType="xs:float" />
 						</xs:simpleType>
-						<xs:minLength value="3" />
-						<xs:maxLength value="3" />
+						<xs:length value="3" />
 					</xs:restriction>
 				</xs:simpleType>
 			</xs:element>
diff --git a/v1_3_0/CDT-commonTypes-v1_3_0.xsd b/v1_3_0/CDT-commonTypes-v1_3_0.xsd
index 162a2a4..1c8045c 100644
--- a/v1_3_0/CDT-commonTypes-v1_3_0.xsd
+++ b/v1_3_0/CDT-commonTypes-v1_3_0.xsd
@@ -62,11 +62,21 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 	</xs:simpleType>
 	
 	 <xs:simpleType name="acpType">
-        <list itemType="m2m:ID" />
+	 	<xs:restriction> 
+	 		<xs:simpleType> 
+	 			<xs:list itemType="m2m:ID" /> 
+	 		</xs:simpleType> 	
+	 		<xs:minLength value="1" /> 
+	 	</xs:restriction> 
     </xs:simpleType>
 
 	<xs:simpleType name="labels">
-		<xs:list itemType="xs:token" />
+		<xs:restriction> 
+			<xs:simpleType> 
+				<xs:list itemType="xs:token" />
+			</xs:simpleType> 	
+			<xs:minLength value="1" /> 
+		</xs:restriction> 
 	</xs:simpleType>
 
     <xs:simpleType name="triggerRecipientID">
@@ -78,7 +88,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 
 	<!-- "listOfM2MID" is a space separated list of CSE-IDs and/or AE-IDs (i.e. elements of data type m2m:ID") -->
 	<xs:simpleType name="listOfM2MID">
-		<xs:list itemType="m2m:ID" />
+		<xs:restriction> 
+			<xs:simpleType> 
+				<xs:list itemType="m2m:ID" /> 
+			</xs:simpleType> 				
+			<xs:minLength value="1" /> 
+		</xs:restriction> 
 	</xs:simpleType>
 
 	<!-- auxiliary data type required to define "listOflongMin-1" below -->
@@ -88,37 +103,37 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 		</xs:restriction>
 	</xs:simpleType>
 
-	<!-- auxiliary data type required to define "listOfMinMax" below -->
-	<xs:simpleType name="listOflongMin-1">
-		<xs:list itemType="m2m:longMin-1" />
-	</xs:simpleType>
-
 	<!-- "listOfMinMax" represents a list of min and max numbers used in attributes of the [cmdhLimits] resource based on  
 		type xs:long in the range -1, 0, 1, 2 ... . Unit is milliseconds. Value setting of -1 expresses infinity -->
 	<xs:simpleType name="listOfMinMax">
-		<xs:restriction base="m2m:listOflongMin-1">
+		<xs:restriction>
+			<xs:simpleType>
+				<xs:list itemType="m2m:longMin-1" />
+			</xs:simpleType>			
 			<xs:length value="2" />
 		</xs:restriction>
 	</xs:simpleType>
 
-	<!-- auxiliary data type required to define "backOffParameters" below -->
-	<xs:simpleType name="listOfNonNegInt">
-		<xs:list itemType="xs:nonNegativeInteger" />
-	</xs:simpleType>
-
 	<!-- "backOffParameters" is an ordered list of 3 nonNegativeInteger numbers: backoffTime, backoffTimeIncrement, maximumBackoffTime 
 		(in that order!), all units in milliseconds -->
-		
 	<xs:simpleType name="backOffParameters">
-		<xs:restriction base="m2m:listOfNonNegInt">
+		<xs:restriction>
+			<xs:simpleType>
+				<xs:list itemType="xs:nonNegativeInteger" />
+			</xs:simpleType>
 			<xs:length value="3" />
 		</xs:restriction>
 	</xs:simpleType>
 	 
 	<!-- m2m:ipv4 and m2m:ipv6 and m2m:countryCode are defined in the CDT-accessControlPolicy file -->
-	
+
 	<xs:simpleType name="poaList">
-		<xs:list itemType="xs:string" />
+		<xs:restriction> 
+			<xs:simpleType> 
+				<xs:list itemType="xs:string" />
+			</xs:simpleType> 
+			<xs:minLength value="1" /> 
+		</xs:restriction> 
 	</xs:simpleType>
 
     <!--Format is YYYYMMDDThhmmss with no punctuation -->
@@ -168,13 +183,23 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
             </simpleType>
         </union>
     </xs:simpleType>
-
+	
     <xs:simpleType name="listOfEventCat">
-        <list itemType="m2m:eventCat" />
+    	<xs:restriction>
+    		<xs:simpleType> 
+    			<xs:list itemType="m2m:eventCat" /> 
+    		</xs:simpleType> 			
+    		<xs:minLength value="1" /> 
+    	</xs:restriction> 
     </xs:simpleType>
 
     <xs:simpleType name="listOfEventCatWithDef">
-        <list itemType="m2m:eventCatWithDef" />
+    	<xs:restriction>
+    		<xs:simpleType> 
+    			<xs:list itemType="m2m:eventCatWithDef" /> 
+    		</xs:simpleType> 	    		
+    		<xs:minLength value="1" /> 
+    	</xs:restriction> 
     </xs:simpleType>
 
 	<xs:simpleType name="scheduleEntry">
@@ -185,7 +210,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 	</xs:simpleType>
 
 	<xs:simpleType name="listOfURIs">
-		<list itemType="xs:anyURI" />
+		<xs:restriction> 
+			<xs:simpleType> 
+				<xs:list itemType="xs:anyURI" /> 
+			</xs:simpleType> 
+			<xs:minLength value="1" /> 
+		</xs:restriction> 
 	</xs:simpleType>
 
 
@@ -472,7 +502,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 					<xs:element name="announceTo" type="m2m:listOfURIs" minOccurs="0" />
 					<xs:element name="announcedAttribute" minOccurs="0">
 						<xs:simpleType>
-							<xs:list itemType="xs:NCName" />
+							<xs:restriction> 
+								<xs:simpleType> 
+									<xs:list itemType="xs:NCName" />
+								</xs:simpleType> 	
+								<xs:minLength value="1" /> 
+							</xs:restriction> 
 						</xs:simpleType>
 					</xs:element>
 				</xs:sequence>
@@ -501,7 +536,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 					<xs:element name="announceTo" type="m2m:listOfURIs" minOccurs="0" />
 					<xs:element name="announcedAttribute" minOccurs="0">
 						<xs:simpleType>
-							<xs:list itemType="xs:token" />
+							<xs:restriction> 
+								<xs:simpleType> 
+									<xs:list itemType="xs:token" />
+								</xs:simpleType>
+								<xs:minLength value="1" /> 
+							</xs:restriction> 
 						</xs:simpleType>
 					</xs:element>
 				</xs:sequence>
-- 
GitLab