diff --git a/v1_5_0/CDT-AE-v1_5_0.xsd b/v1_5_0/CDT-AE-v1_5_0.xsd index 07e3faf0e80c82b67426420dc1f99c3a13dfee2c..c47f986835607c1c71c4137f56ab73c67db2f296 100644 --- a/v1_5_0/CDT-AE-v1_5_0.xsd +++ b/v1_5_0/CDT-AE-v1_5_0.xsd @@ -48,6 +48,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="ontologyRef" type="xs:anyURI" minOccurs="0" /> <xs:element name="nodeLink" type="xs:anyURI" minOccurs="0" /> <xs:element name="requestReachability" type="xs:boolean" /> + <xs:element name="contentSerialization" type="m2m:serializations" minOccurs="0" /> <!-- Child Resources --> <xs:choice minOccurs="0" maxOccurs="1"> @@ -81,6 +82,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="ontologyRef" type="xs:anyURI" minOccurs="0" /> <xs:element name="nodeLink" type="xs:anyURI" minOccurs="0" /> <xs:element name="requestReachability" type="xs:boolean" minOccurs="0" /> + <xs:element name="contentSerialization" type="m2m:serializations" minOccurs="0" /> <!-- Child Resources --> <xs:choice minOccurs="0" maxOccurs="1"> diff --git a/v1_5_0/CDT-commonTypes-v1_5_0.xsd b/v1_5_0/CDT-commonTypes-v1_5_0.xsd index bd8ecb59d378e6c46bb932cd13fb73696d6a717e..55239361205e5efc63f412ec76dc1915a52d72d9 100644 --- a/v1_5_0/CDT-commonTypes-v1_5_0.xsd +++ b/v1_5_0/CDT-commonTypes-v1_5_0.xsd @@ -135,11 +135,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:minLength value="1" /> </xs:restriction> </xs:simpleType> + - <!--Format is YYYYMMDDThhmmss with no punctuation --> + <!--Format is YYYYMMDDThhmmss,ssssss with optional up to 6 digits of fractional seconds --> <xs:simpleType name="timestamp"> <xs:restriction base="xs:string"> - <xs:pattern value="\d{4}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|30|31)T([01]\d|2[0-3])[0-5]\d[0-5]\d"></xs:pattern> + <xs:pattern value="\d{4}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|30|31)T([01]\d|2[0-3])[0-5]\d[0-5]\d(,\d{1,6})?"></xs:pattern> </xs:restriction> </xs:simpleType> @@ -163,7 +164,27 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:pattern value="[\w/!#$^_.+&\-]+" /> </xs:restriction> </xs:simpleType> + + + <!-- auxiliary data type required to define "serializations" below --> + <xs:simpleType name="permittedMediaTypes"> + <xs:restriction base="m2m:typeOfContent"> + <xs:enumeration value="application/xml" /> + <xs:enumeration value="application/json" /> + </xs:restriction> + </xs:simpleType> + + <!-- "serializations" data type is a list of permitted media types as defined above --> + <xs:simpleType name="serializations"> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:permittedMediaTypes" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="contentInfo"> <xs:restriction base="xs:string"> <xs:pattern value="[\w/!#$^_.+&\-]+(:[0-2])?" /> @@ -454,7 +475,16 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:complexType name="responseTypeInfo"> <xs:sequence> <xs:element name="responseTypeValue" type="m2m:responseType" /> - <xs:element name="notificationURI" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded" /> + <xs:element name="notificationURI"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="xs:anyURI" /> + </xs:simpleType> + <xs:minLength value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> diff --git a/v1_5_0/CDT-enumerationTypes-v1_5_0.xsd b/v1_5_0/CDT-enumerationTypes-v1_5_0.xsd index 4b65c8cb654ec3376592f3ed61e6d5e859fdcd44..a11af668897099dc3b62e18c63762749f3319b6a 100644 --- a/v1_5_0/CDT-enumerationTypes-v1_5_0.xsd +++ b/v1_5_0/CDT-enumerationTypes-v1_5_0.xsd @@ -256,7 +256,9 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- NO_PRIVILEGE --> <xs:enumeration value="5105" /> <!-- ALREADY_EXISTS --> - <xs:enumeration value="5106" /> + <xs:enumeration value="5106" /> + <!-- NOT_ACCEPTABLE --> + <xs:enumeration value="5107" /> <!-- TARGET_NOT_SUBSCRIBABLE --> <xs:enumeration value="5203" /> <!-- SUBSCRIPTION_VERIFICATION_INITIATION_FAILED --> @@ -533,7 +535,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:simpleType name="notificationEventType"> <xs:annotation> - <xs:documentation>Used in the notificationEventType element of eventNotificationCriteria attribute of subscruiption resource</xs:documentation> + <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 --> diff --git a/v1_5_0/CDT-group-v1_5_0.xsd b/v1_5_0/CDT-group-v1_5_0.xsd index 8fdd673e293751eec99495438a1005ce62b19581..d28deba47964d2d1ea10bec70e41910a2a2096e9 100644 --- a/v1_5_0/CDT-group-v1_5_0.xsd +++ b/v1_5_0/CDT-group-v1_5_0.xsd @@ -39,8 +39,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:sequence> <xs:element name="creator" type="m2m:ID" minOccurs="0" /> <xs:element name="memberType" type="m2m:memberType" /> - <xs:element name="currentNrOfMembers" type="xs:nonNegativeInteger" /> - <xs:element name="maxNrOfMembers" type="xs:nonNegativeInteger" /> + <xs:element name="currentNrOfMembers" type="xs:positiveInteger" /> + <xs:element name="maxNrOfMembers" type="xs:positiveInteger" /> <xs:element name="memberIDs" type="m2m:listOfURIs" /> <xs:element name="membersAccessControlPolicyIDs" type="m2m:listOfURIs" minOccurs="0" /> <xs:element name="memberTypeValidated" type="xs:boolean" /> @@ -68,8 +68,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- Resource Specific Attributes --> <xs:sequence> <xs:element name="memberType" type="m2m:memberType" minOccurs="0" /> - <xs:element name="currentNrOfMembers" type="xs:nonNegativeInteger" minOccurs="0" /> - <xs:element name="maxNrOfMembers" type="xs:nonNegativeInteger" minOccurs="0" /> + <xs:element name="currentNrOfMembers" type="xs:positiveInteger" minOccurs="0" /> + <xs:element name="maxNrOfMembers" type="xs:positiveInteger" minOccurs="0" /> <xs:element name="memberIDs" type="m2m:listOfURIs" minOccurs="0" /> <xs:element name="membersAccessControlPolicyIDs" type="m2m:listOfURIs" minOccurs="0" /> <xs:element name="memberTypeValidated" type="xs:boolean" minOccurs="0" /> diff --git a/v1_5_0/CDT-notification-v1_5_0.xsd b/v1_5_0/CDT-notification-v1_5_0.xsd index f511d5e95d8bc4c7245d219f71c0f28ac6d36cf3..6c6dba46e791caea192e4c0e99a91f98b6e1db6b 100644 --- a/v1_5_0/CDT-notification-v1_5_0.xsd +++ b/v1_5_0/CDT-notification-v1_5_0.xsd @@ -51,7 +51,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="originator" type="m2m:ID" minOccurs="0"/> </xs:sequence> </xs:complexType> - </xs:element> + </xs:element> + <xs:element name="notificationEventType" type="m2m:notificationEventType" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> diff --git a/v1_5_0/CDT-requestPrimitive-v1_5_0.xsd b/v1_5_0/CDT-requestPrimitive-v1_5_0.xsd index 7a3558df3d99290d7bbd717ea546b119148a765c..a995bba2a8c9ef307a8b993ff9e2b1bffc628dc7 100644 --- a/v1_5_0/CDT-requestPrimitive-v1_5_0.xsd +++ b/v1_5_0/CDT-requestPrimitive-v1_5_0.xsd @@ -38,13 +38,11 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- parameter "To" --> <xs:element name="to" type="xs:anyURI" minOccurs="1"/> <!-- parameter "From" --> - <xs:element name="from" type="m2m:ID" minOccurs="1"/> + <xs:element name="from" type="m2m:ID" minOccurs="0"/> <!-- parameter "Request Identifier" --> <xs:element name="requestIdentifier" type="m2m:requestID" minOccurs="1"/> <!-- parameter "ResourceType" --> <xs:element name="resourceType" type="m2m:resourceType" minOccurs="0"/> - <!-- parameter "Name" --> - <xs:element name="name" type="xs:NCName" minOccurs="0"/> <!-- parameter "Content" --> <xs:element name="primitiveContent" type="m2m:primitiveContent" minOccurs="0"/> <!-- parameter "Role" --> diff --git a/v2_3_0/CDT-AE-v2_3_0.xsd b/v2_3_0/CDT-AE-v2_3_0.xsd index a909d4718c2313258c9c613c9864bd1027fb89a7..856893f70d64e031d90154f5974fe4a6a6ce1ff2 100644 --- a/v2_3_0/CDT-AE-v2_3_0.xsd +++ b/v2_3_0/CDT-AE-v2_3_0.xsd @@ -48,6 +48,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="ontologyRef" type="xs:anyURI" minOccurs="0" /> <xs:element name="nodeLink" type="xs:anyURI" minOccurs="0" /> <xs:element name="requestReachability" type="xs:boolean" /> + <xs:element name="contentSerialization" type="m2m:serializations" minOccurs="0" /> <!-- Child Resources --> <xs:choice minOccurs="0" maxOccurs="1"> @@ -81,6 +82,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="ontologyRef" type="xs:anyURI" minOccurs="0" /> <xs:element name="nodeLink" type="xs:anyURI" minOccurs="0" /> <xs:element name="requestReachability" type="xs:boolean" minOccurs="0" /> + <xs:element name="contentSerialization" type="m2m:serializations" minOccurs="0" /> <!-- Child Resources --> <xs:choice minOccurs="0" maxOccurs="1"> diff --git a/v2_3_0/CDT-commonTypes-v2_3_0.xsd b/v2_3_0/CDT-commonTypes-v2_3_0.xsd index a0d12e4df30a3ac7c87c455b7f6185adb370b517..e4295d9146318478997eabc611ab9ab5728221db 100644 --- a/v2_3_0/CDT-commonTypes-v2_3_0.xsd +++ b/v2_3_0/CDT-commonTypes-v2_3_0.xsd @@ -136,10 +136,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:restriction> </xs:simpleType> - <!--Format is YYYYMMDDThhmmss with no punctuation --> + <!--Format is YYYYMMDDThhmmss,ssssss with optional up to 6 digits of fractional seconds --> <xs:simpleType name="timestamp"> <xs:restriction base="xs:string"> - <xs:pattern value="\d{4}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|30|31)T([01]\d|2[0-3])[0-5]\d[0-5]\d"></xs:pattern> + <xs:pattern value="\d{4}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|30|31)T([01]\d|2[0-3])[0-5]\d[0-5]\d(,\d{1,6})?"></xs:pattern> </xs:restriction> </xs:simpleType> @@ -163,6 +163,26 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:pattern value="[\w/!#$^_.+&\-]+" /> </xs:restriction> </xs:simpleType> + + + <!-- auxiliary data type required to define "serializations" below --> + <xs:simpleType name="permittedMediaTypes"> + <xs:restriction base="m2m:typeOfContent"> + <xs:enumeration value="application/xml" /> + <xs:enumeration value="application/json" /> + </xs:restriction> + </xs:simpleType> + + <!-- "serializations" data type is a list of permitted media types as defined above --> + <xs:simpleType name="serializations"> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:permittedMediaTypes" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="contentInfo"> <xs:restriction base="xs:string"> @@ -454,12 +474,21 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:simpleContent> </xs:complexType> - <xs:complexType name="responseTypeInfo"> - <xs:sequence> - <xs:element name="responseTypeValue" type="m2m:responseType" /> - <xs:element name="notificationURI" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> + <xs:complexType name="responseTypeInfo"> + <xs:sequence> + <xs:element name="responseTypeValue" type="m2m:responseType" /> + <xs:element name="notificationURI"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="xs:anyURI" /> + </xs:simpleType> + <xs:minLength value="0" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:sequence> + </xs:complexType> <!-- m2m:rateLimit is in the Subscription xsd file --> diff --git a/v2_3_0/CDT-enumerationTypes-v2_3_0.xsd b/v2_3_0/CDT-enumerationTypes-v2_3_0.xsd index 4b65c8cb654ec3376592f3ed61e6d5e859fdcd44..9b8aced7e5e834211b3cc387c9e0cb0d532d803d 100644 --- a/v2_3_0/CDT-enumerationTypes-v2_3_0.xsd +++ b/v2_3_0/CDT-enumerationTypes-v2_3_0.xsd @@ -256,7 +256,9 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- NO_PRIVILEGE --> <xs:enumeration value="5105" /> <!-- ALREADY_EXISTS --> - <xs:enumeration value="5106" /> + <xs:enumeration value="5106" /> + <!-- NOT_ACCEPTABLE --> + <xs:enumeration value="5107" /> <!-- TARGET_NOT_SUBSCRIBABLE --> <xs:enumeration value="5203" /> <!-- SUBSCRIPTION_VERIFICATION_INITIATION_FAILED --> @@ -533,7 +535,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:simpleType name="notificationEventType"> <xs:annotation> - <xs:documentation>Used in the notificationEventType element of eventNotificationCriteria attribute of subscruiption resource</xs:documentation> + <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 --> diff --git a/v2_3_0/CDT-group-v2_3_0.xsd b/v2_3_0/CDT-group-v2_3_0.xsd index bd851c33d6654bad74617f71f7fe9c275f79911b..62d8aa99f353f5738ebc4d179643a800c5c1b67b 100644 --- a/v2_3_0/CDT-group-v2_3_0.xsd +++ b/v2_3_0/CDT-group-v2_3_0.xsd @@ -39,8 +39,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:sequence> <xs:element name="creator" type="m2m:ID" minOccurs="0" /> <xs:element name="memberType" type="m2m:memberType" /> - <xs:element name="currentNrOfMembers" type="xs:nonNegativeInteger" /> - <xs:element name="maxNrOfMembers" type="xs:nonNegativeInteger" /> + <xs:element name="currentNrOfMembers" type="xs:positiveInteger" /> + <xs:element name="maxNrOfMembers" type="xs:positiveInteger" /> <xs:element name="memberIDs" type="m2m:listOfURIs" /> <xs:element name="membersAccessControlPolicyIDs" type="m2m:listOfURIs" minOccurs="0" /> <xs:element name="memberTypeValidated" type="xs:boolean" /> @@ -68,8 +68,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- Resource Specific Attributes --> <xs:sequence> <xs:element name="memberType" type="m2m:memberType" minOccurs="0" /> - <xs:element name="currentNrOfMembers" type="xs:nonNegativeInteger" minOccurs="0" /> - <xs:element name="maxNrOfMembers" type="xs:nonNegativeInteger" minOccurs="0" /> + <xs:element name="currentNrOfMembers" type="xs:positiveInteger" minOccurs="0" /> + <xs:element name="maxNrOfMembers" type="xs:positiveInteger" minOccurs="0" /> <xs:element name="memberIDs" type="m2m:listOfURIs" minOccurs="0" /> <xs:element name="membersAccessControlPolicyIDs" type="m2m:listOfURIs" minOccurs="0" /> <xs:element name="memberTypeValidated" type="xs:boolean" minOccurs="0" /> diff --git a/v2_3_0/CDT-notification-v2_3_0.xsd b/v2_3_0/CDT-notification-v2_3_0.xsd index c74f69620148f52567732592baee2fbf051b28e2..4dc86643db487cfc7102ed578d09cec3de5c9c98 100644 --- a/v2_3_0/CDT-notification-v2_3_0.xsd +++ b/v2_3_0/CDT-notification-v2_3_0.xsd @@ -52,6 +52,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="notificationEventType" type="m2m:notificationEventType" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> diff --git a/v2_3_0/CDT-requestPrimitive-v2_3_0.xsd b/v2_3_0/CDT-requestPrimitive-v2_3_0.xsd index c7a0fef8fe0504a7fc9a908945ac41fc2ed324bd..843c6ba67a606292c03fc670f227593a151efa7e 100644 --- a/v2_3_0/CDT-requestPrimitive-v2_3_0.xsd +++ b/v2_3_0/CDT-requestPrimitive-v2_3_0.xsd @@ -38,13 +38,11 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- parameter "To" --> <xs:element name="to" type="xs:anyURI" minOccurs="1"/> <!-- parameter "From" --> - <xs:element name="from" type="m2m:ID" minOccurs="1"/> + <xs:element name="from" type="m2m:ID" minOccurs="0"/> <!-- parameter "Request Identifier" --> <xs:element name="requestIdentifier" type="m2m:requestID" minOccurs="1"/> <!-- parameter "ResourceType" --> <xs:element name="resourceType" type="m2m:resourceType" minOccurs="0"/> - <!-- parameter "Name" --> - <xs:element name="name" type="xs:NCName" minOccurs="0"/> <!-- parameter "Content" --> <xs:element name="primitiveContent" type="m2m:primitiveContent" minOccurs="0"/> <!-- parameter "Role" -->