From 373a31eae325888777e118df02cd569d2d1941cb Mon Sep 17 00:00:00 2001
From: Wolfgang Granzow <wgranzow@qti.qualcomm.com>
Date: Mon, 26 Nov 2018 23:23:31 +0100
Subject: [PATCH] Changes agreed at PRO#37/TP#37 for Rel-3

See detailed list of changes in PRO-2018-0238-PRO37_changes_of_XML_schemas_to_align_with_TS-0004
---
 v3_9_0/CDT-enumerationTypes-v3_9_0.xsd | 47 +++++++++++++++++----
 v3_9_0/CDT-locationPolicy-v3_9_0.xsd   |  7 ++++
 v3_9_0/CDT-node-v3_9_0.xsd             |  3 ++
 v3_9_0/CDT-subscription-v3_9_0.xsd     |  2 +-
 v3_9_0/CDT-triggerPayload-v3_9_0.xsd   | 57 ++++++++++++++++++++++++++
 v3_9_0/CDT-triggerRequest-v3_9_0.xsd   |  3 +-
 6 files changed, 109 insertions(+), 10 deletions(-)
 create mode 100644 v3_9_0/CDT-triggerPayload-v3_9_0.xsd

diff --git a/v3_9_0/CDT-enumerationTypes-v3_9_0.xsd b/v3_9_0/CDT-enumerationTypes-v3_9_0.xsd
index 8796320..1f4a35d 100644
--- a/v3_9_0/CDT-enumerationTypes-v3_9_0.xsd
+++ b/v3_9_0/CDT-enumerationTypes-v3_9_0.xsd
@@ -794,31 +794,36 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 			<xs:documentation></xs:documentation>
 		</xs:annotation>
 		<xs:restriction base="xs:integer">
-			<!-- all attributes -->
+			<!-- All attributes -->
 			<xs:enumeration value="1" />
-			<!-- modified attributes -->
+			<!-- Modified attributes -->
 			<xs:enumeration value="2" />
 			<!-- ResourceID -->
 			<xs:enumeration value="3" />
+			<!-- Trigger Payload -->
+			<xs:enumeration value="4" />
 		</xs:restriction>
 	</xs:simpleType>
 
+
 	<xs:simpleType name="notificationEventType">
 		<xs:annotation>
 			<xs:documentation>Used in the notificationEventType element of eventNotificationCriteria attribute of subscription resource 
 				and in the Notification data object</xs:documentation>
 		</xs:annotation>
 		<xs:restriction base="xs:integer">
-			<!-- Update of Resource -->
+			<!-- Update_of_Resource -->
 			<xs:enumeration value="1" />
-			<!-- Delete of Resource -->
+			<!-- Delete_of_Resource -->
 			<xs:enumeration value="2" />
-			<!-- Create of Direct Child Resource -->
+			<!-- Create_of_Direct_Child_Resource -->
 			<xs:enumeration value="3" />
-			<!-- Delete of Direct Child Resource -->
+			<!-- Delete_of_Direct_Child_Resource -->
 			<xs:enumeration value="4" />
-			<!-- Retrieve of Container Resource With No Child Resource -->
+			<!-- Retrieve_of_Container_Resource_With_No_Child_Resource -->
 			<xs:enumeration value="5" />
+			<!-- Trigger_Received_For_AE_Resource -->
+			<xs:enumeration value="6" />
 		</xs:restriction>
 	</xs:simpleType>
 
@@ -1625,5 +1630,33 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 		</xs:restriction>	
 	</xs:simpleType>
 	
+	<xs:simpleType name="locationInformationType">
+		<xs:annotation>
+			<xs:documentation>Used in the  locationInformationType attribute of the locationPolicy resource</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:integer">
+			<!-- Position fix -->
+			<xs:enumeration value="1" />
+			<!-- Geofence event -->
+			<xs:enumeration value="2" />
+		</xs:restriction>
+	</xs:simpleType>
+	
+	<xs:simpleType name="geofenceEventCriteria">
+		<xs:annotation>
+			<xs:documentation>Used in the geofenceEventCriteria attribute of the locationPolicy resource</xs:documentation>
+		</xs:annotation>
+		<xs:restriction base="xs:integer">
+			<!-- Entering -->
+			<xs:enumeration value="1" />
+			<!-- Leaving -->
+			<xs:enumeration value="2" />
+			<!-- Inside -->
+			<xs:enumeration value="3" />
+			<!-- Outside -->
+			<xs:enumeration value="4" />
+		</xs:restriction>
+	</xs:simpleType>
+	
 </xs:schema>
 
diff --git a/v3_9_0/CDT-locationPolicy-v3_9_0.xsd b/v3_9_0/CDT-locationPolicy-v3_9_0.xsd
index b2cc258..a76750d 100644
--- a/v3_9_0/CDT-locationPolicy-v3_9_0.xsd
+++ b/v3_9_0/CDT-locationPolicy-v3_9_0.xsd
@@ -39,15 +39,19 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 					<xs:sequence>
 						<!-- Resource Specific Attributes -->
 						<xs:element name="locationSource" type="m2m:locationSource" />
+						<xs:element name="locationInformationType" type="m2m:locationInformationType" />
 						<xs:element name="locationUpdatePeriod" type="m2m:listOfDuration" minOccurs="0" />
 						<xs:element name="locationTargetID" type="m2m:locationTargetID" minOccurs="0" />
 						<xs:element name="locationServer" type="xs:anyURI" minOccurs="0" />
 						<xs:element name="locationContainerID" type="xs:anyURI" />
 						<xs:element name="locationContainerName" type="xs:string" minOccurs="0" />
 						<xs:element name="locationStatus" type="xs:string" />
+						<xs:element name="geographicalTargetArea" type="xs:anyType" minOccurs="0" />
+						<xs:element name="geofenceEventCriteria" type="m2m:geofenceEventCriteria" minOccurs="0" />
 						<xs:element name="authID" type="m2m:externalID" minOccurs="0" />						
 						<xs:element name="retrieveLastKnownLocation" type="xs:boolean" minOccurs="0" />
 						<xs:element name="locationUpdateEventCriteria" type="m2m:locationUpdateEventCriteria" minOccurs="0" />
+						
 
 						<!-- Child Resources -->
 						<xs:choice minOccurs="0" maxOccurs="1">
@@ -71,12 +75,15 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 					<xs:sequence>
 						<!-- Resource Specific Attributes -->
 						<xs:element name="locationSource" type="m2m:locationSource" minOccurs="0" />
+						<xs:element name="locationInformationType" type="m2m:locationInformationType" minOccurs="0" />
 						<xs:element name="locationUpdatePeriod" type="m2m:listOfDuration" minOccurs="0" />
 						<xs:element name="locationTargetID" type="m2m:locationTargetID" minOccurs="0" />
 						<xs:element name="locationServer" type="xs:anyURI" minOccurs="0" />
 						<xs:element name="locationContainerID" type="xs:anyURI" minOccurs="0" />
 						<xs:element name="locationContainerName" type="xs:string" minOccurs="0" />
 						<xs:element name="locationStatus" type="xs:string" minOccurs="0" />
+						<xs:element name="geographicalTargetArea" type="xs:anyType" minOccurs="0" />
+						<xs:element name="geofenceEventCriteria" type="m2m:geofenceEventCriteria" minOccurs="0" />
 						<xs:element name="authID" type="m2m:externalID" minOccurs="0" />
 						<xs:element name="retrieveLastKnownLocation" type="xs:boolean" minOccurs="0" />
 						<xs:element name="locationUpdateEventCriteria" type="m2m:locationUpdateEventCriteria" minOccurs="0" />
diff --git a/v3_9_0/CDT-node-v3_9_0.xsd b/v3_9_0/CDT-node-v3_9_0.xsd
index 3fe1859..c71952f 100644
--- a/v3_9_0/CDT-node-v3_9_0.xsd
+++ b/v3_9_0/CDT-node-v3_9_0.xsd
@@ -43,6 +43,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 	<xs:include schemaLocation="CDT-subscription-v3_9_0.xsd" />
 	<xs:include schemaLocation="CDT-semanticDescriptor-v3_9_0.xsd" />
 	<xs:include schemaLocation="CDT-transaction-v3_9_0.xsd"/>
+	<xs:include schemaLocation="CDT-schedule-v3_9_0.xsd"/>
 
 	<xs:element name="node" substitutionGroup="m2m:sg_announceableResource">
 		<xs:complexType>
@@ -78,6 +79,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 								<xs:element ref="m2m:subscription" />
 								<xs:element ref="m2m:semanticDescriptor" />
 								<xs:element ref="m2m:transaction" />
+								<xs:element ref="m2m:schedule" />
 							</xs:choice>
 						</xs:choice>
 					</xs:sequence>
@@ -119,6 +121,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
                             	<xs:element ref="m2m:semanticDescriptor" />
                             	<xs:element ref="m2m:semanticDescriptorAnnc" />
                             	<xs:element ref="m2m:transaction" />
+                            	<xs:element ref="m2m:schedule" />
                             </xs:choice>
                         </xs:choice>
                     </xs:sequence>
diff --git a/v3_9_0/CDT-subscription-v3_9_0.xsd b/v3_9_0/CDT-subscription-v3_9_0.xsd
index 300a155..e963440 100644
--- a/v3_9_0/CDT-subscription-v3_9_0.xsd
+++ b/v3_9_0/CDT-subscription-v3_9_0.xsd
@@ -55,7 +55,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="notificationContentType" type="m2m:notificationContentType" />
 						<xs:element name="notificationEventCat" type="m2m:eventCat" minOccurs="0" />
 						<xs:element name="subscriberURI" type="xs:anyURI" minOccurs="0" />
-						<xs:element name="associatedCrossResourceSub" type="m2m:resourceList" minOccurs="0" />						
+						<xs:element name="associatedCrossResourceSub" type="m2m:listOfURIs" minOccurs="0" />					
 
 						<!-- Child Resources -->
 						<xs:choice minOccurs="0" maxOccurs="1">
diff --git a/v3_9_0/CDT-triggerPayload-v3_9_0.xsd b/v3_9_0/CDT-triggerPayload-v3_9_0.xsd
new file mode 100644
index 0000000..311379c
--- /dev/null
+++ b/v3_9_0/CDT-triggerPayload-v3_9_0.xsd
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+Copyright Notification
+
+The oneM2M Partners authorize you to copy this document, provided that you retain all copyright and other proprietary notices 
+contained in the original materials on any copies of the materials and that you comply strictly with these terms. 
+This copyright permission does not constitute an endorsement of the products or services, nor does it encompass the granting of 
+any patent rights. The oneM2M Partners assume no responsibility for errors or omissions in this document. 
+© 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC). All rights reserved.
+
+
+Notice of Disclaimer & Limitation of Liability 
+
+The information provided in this document is directed solely to professionals who have the appropriate degree of experience to understand 
+and interpret its contents in accordance with generally accepted engineering or other professional standards and applicable regulations. 
+No recommendation as to products or vendors is made or should be implied. 
+
+NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS TECHNICALLY ACCURATE OR SUFFICIENT OR CONFORMS TO ANY STATUTE, 
+GOVERNMENTAL RULE OR REGULATION, AND FURTHER, NO REPRESENTATION OR WARRANTY IS MADE OF MERCHANTABILITY OR FITNESS FOR ANY 
+PARTICULAR PURPOSE OR AGAINST INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS. 
+NO oneM2M PARTNER TYPE 1 SHALL BE LIABLE, BEYOND THE AMOUNT OF ANY SUM RECEIVED IN PAYMENT BY THAT PARTNER FOR THIS DOCUMENT, WITH RESPECT TO 
+ANY CLAIM, AND IN NO EVENT SHALL oneM2M BE LIABLE FOR LOST PROFITS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES. 
+oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN THIS DOCUMENT IS AT THE RISK OF THE USER.
+
+-->
+
+<xs:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.onem2m.org/xml/protocols"
+	xmlns:m2m="http://www.onem2m.org/xml/protocols" elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+	<xs:include schemaLocation="CDT-commonTypes-v3_9_0.xsd" />
+	
+	<xs:element name="triggerPayload">
+		<xs:complexType>
+			<xs:sequence>
+				<!-- Parameter Trigger Purpose -->
+				<xs:element name="triggerPurpose" type="m2m:triggerPurpose"/>
+				<xs:element name="triggerInfoAddress" type="xs:anyURI" minOccurs="0"/>
+				<xs:element name="triggerInfoPoA" type="m2m:poaList" minOccurs="0"/>
+				<xs:element name="triggerInfoOperation" type="m2m:operation" minOccurs="0"/>
+				<xs:element name="targetedResourceType" type="m2m:resourceType" minOccurs="0"/>
+				<xs:element name="triggerInfoAE-ID" type="m2m:ID" minOccurs="0"/>
+				<xs:element name="triggerInfoSerializationTypes" minOccurs="0">      
+					<xs:simpleType>
+						<xs:restriction> 
+							<xs:simpleType> 
+								<xs:list itemType="m2m:serializationType"/> 
+							</xs:simpleType> 				
+							<xs:minLength value="1"/> 
+						</xs:restriction> 
+					</xs:simpleType>
+				</xs:element>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	
+</xs:schema>
+
diff --git a/v3_9_0/CDT-triggerRequest-v3_9_0.xsd b/v3_9_0/CDT-triggerRequest-v3_9_0.xsd
index 19c522e..048f9f0 100644
--- a/v3_9_0/CDT-triggerRequest-v3_9_0.xsd
+++ b/v3_9_0/CDT-triggerRequest-v3_9_0.xsd
@@ -41,9 +41,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="M2M-Ext-ID" type="m2m:externalID" />
 						<xs:element name="Trigger-Recipient-ID" type="m2m:triggerRecipientID" />
 						<xs:element name="triggerPurpose" type="m2m:triggerPurpose" />
-						<xs:element name="triggerPayloadSerialization" type="m2m:serializationType" />
 						<xs:element name="triggerStatus" type="m2m:triggerStatus" />
-						<xs:element name="triggerValidityTime" type="m2m:timestamp" minOccurs="0" />
+						<xs:element name="triggerValidityTime" type="xs:duration" minOccurs="0" />
 						<xs:element name="triggerInfoAE-ID" type="m2m:ID" minOccurs="0" />
 						<xs:element name="triggerInfoAddress" type="xs:anyURI" minOccurs="0" />
 						<xs:element name="triggerInfoOperation" type="m2m:operation" minOccurs="0" />
-- 
GitLab