diff --git a/CDT-action.xsd b/CDT-action.xsd new file mode 100644 index 0000000000000000000000000000000000000000..4fd1603db349ceb974ca810b1d9872b733d87b9a --- /dev/null +++ b/CDT-action.xsd @@ -0,0 +1,103 @@ +<?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. +© 2022, 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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:include schemaLocation="CDT-commonTypes.xsd" /> + <xs:include schemaLocation="CDT-subscription.xsd" /> + <xs:include schemaLocation="CDT-transaction.xsd"/> + <xs:include schemaLocation="CDT-dependency.xsd"/> + <xs:include schemaLocation="CDT-requestPrimitive.xsd"/> + <xs:include schemaLocation="CDT-responsePrimitive.xsd"/> + + <xs:element name="action" substitutionGroup="m2m:sg_announceableResource"> + <xs:complexType> + <xs:complexContent> + <!-- Inherit common attributes for announceable Resources --> + <xs:extension base="m2m:announceableResource"> + <xs:sequence> + <!-- Common Attribute, specific to <container>, <contentInstance>, <request> and <delivery> and other resources --> + + <!-- Resource Specific Attributes --> + <xs:element name="actionPriority" type="xs:positiveInteger" minOccurs="0" /> + <xs:element name="subjectResourceID" type="xs:anyURI" minOccurs="0" /> + <xs:element name="evalCriteria" type="m2m:evalCriteria"/> + <xs:element name="evalMode" type="m2m:evalMode"/> + <xs:element name="evalControlParam" type="xs:positiveInteger" minOccurs="0" /> + <xs:element name="dependencies" type="m2m:listOfURIs" minOccurs="0" /> + <xs:element name="objectResourceID" type="xs:anyURI"/> + <xs:element name="actionPrimitive" type="m2m:requestPrimitive"/> + <xs:element name="input" type="m2m:actionInput" minOccurs="0" /> + <xs:element name="actionResult" type="m2m:responsePrimitive"/> + + <!-- Child Resources --> + <xs:choice minOccurs="0" maxOccurs="1"> + <xs:element name="childResource" type="m2m:childResourceRef" minOccurs="1" maxOccurs="unbounded" /> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element ref="m2m:dependency" /> + <xs:element ref="m2m:subscription" /> + <xs:element ref="m2m:transaction" /> + </xs:choice> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="actionAnnc" substitutionGroup="m2m:sg_announcedResource"> + <xs:complexType> + <xs:complexContent> + <!-- Inherit common attributes for announceable Resources --> + <xs:extension base="m2m:announcedResource"> + <xs:sequence> + <!-- Resource Specific Attributes --> + <xs:element name="actionPriority" type="xs:positiveInteger" minOccurs="0" /> + <xs:element name="subjectResourceID" type="xs:anyURI" minOccurs="0" /> + <xs:element name="evalCriteria" type="m2m:evalCriteria" minOccurs="0" /> + <xs:element name="evalMode" type="m2m:evalMode" minOccurs="0" /> + <xs:element name="evalControlParam" type="xs:positiveInteger" minOccurs="0" /> + <xs:element name="dependencies" type="m2m:listOfURIs" minOccurs="0" /> + <xs:element name="objectResourceID" type="xs:anyURI"/> + <xs:element name="actionPrimitive" type="m2m:requestPrimitive"/> + <xs:element name="input" type="m2m:actionInput" minOccurs="0" /> + <xs:element name="actionResult" type="m2m:responsePrimitive" minOccurs="0" /> + + <!-- Child Resources --> + <xs:choice minOccurs="0" maxOccurs="1"> + <xs:element name="childResource" type="m2m:childResourceRef" minOccurs="1" maxOccurs="unbounded" /> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element ref="m2m:dependency" /> + <xs:element ref="m2m:subscription" /> + <xs:element ref="m2m:transaction" /> + </xs:choice> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/CDT-commonTypes.xsd b/CDT-commonTypes.xsd index 16d68dff830de64c2d75fcc5d096fcc9f8ae702f..6ba67c24d38360568622c32ad76967f0aa3401c7 100644 --- a/CDT-commonTypes.xsd +++ b/CDT-commonTypes.xsd @@ -1480,6 +1480,22 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:sequence> </xs:complexType> + <xs:complexType name="evalCriteria"> + <xs:sequence> + <xs:element name="operator" type="m2m:evalCriteriaOperator" minOccurs="1" /> + <xs:element name="subject" type="xs:NCName" minOccurs="1" /> + <xs:element name="threshold" type="xs:anySimpleType" minOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="actionInput"> + <xs:choice> + <xs:element name="contentString" type="xs:NCName" /> + <xs:element name="resourceID" type="xs:anyURI" /> + <xs:element name="resourceAttributeID" type="xs:anyURI" /> + </xs:choice> + </xs:complexType> + <!-- Resource type definitions. These types include the "common attributes" that are used by oneM2M Resources. Each oneM2M Resource has a resource type that is defined in a separate schema, but each resource type extends one of the types that is defined below --> diff --git a/CDT-dependency.xsd b/CDT-dependency.xsd new file mode 100644 index 0000000000000000000000000000000000000000..a14234047b531a6ced206a1ca29977b6f1550db4 --- /dev/null +++ b/CDT-dependency.xsd @@ -0,0 +1,84 @@ +<?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. +© 2022, 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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> + + <xs:include schemaLocation="CDT-commonTypes.xsd" /> + <xs:include schemaLocation="CDT-subscription.xsd" /> + <xs:include schemaLocation="CDT-transaction.xsd"/> + + <xs:element name="dependency" substitutionGroup="m2m:sg_announceableResource"> + <xs:complexType> + <xs:complexContent> + <!-- Inherit common attributes for announceable Resources --> + <xs:extension base="m2m:announceableResource"> + <xs:sequence> + <!-- Common Attribute, specific to <container>, <contentInstance>, <request> and <delivery> and other resources --> + + <!-- Resource Specific Attributes --> + <xs:element name="sufficient" type="xs:boolean"/> + <xs:element name="evalCriteria" type="m2m:evalCriteria"/> + <xs:element name="referencedResourceID" type="xs:anyURI"/> + + <!-- Child Resources --> + <xs:choice minOccurs="0" maxOccurs="1"> + <xs:element name="childResource" type="m2m:childResourceRef" minOccurs="1" maxOccurs="unbounded" /> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element ref="m2m:subscription" /> + <xs:element ref="m2m:transaction" /> + </xs:choice> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="dependencyAnnc" substitutionGroup="m2m:sg_announcedResource"> + <xs:complexType> + <xs:complexContent> + <!-- Inherit common attributes for announceable Resources --> + <xs:extension base="m2m:announcedResource"> + <xs:sequence> + <!-- Resource Specific Attributes --> + <xs:element name="sufficient" type="xs:boolean" minOccurs="0" /> + <xs:element name="evalCriteria" type="m2m:evalCriteria" minOccurs="0" /> + <xs:element name="referencedResourceID" type="xs:anyURI"/> + + <!-- Child Resources --> + <xs:choice minOccurs="0" maxOccurs="1"> + <xs:element name="childResource" type="m2m:childResourceRef" minOccurs="1" maxOccurs="unbounded" /> + <xs:choice minOccurs="1" maxOccurs="unbounded"> + <xs:element ref="m2m:subscription" /> + <xs:element ref="m2m:transaction" /> + </xs:choice> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/CDT-enumerationTypes.xsd b/CDT-enumerationTypes.xsd index 79bbd92c1101b38febcce6f44658a512b7c7e290..ecf6df454938db786d968a8ea452b0fc2df198ee 100644 --- a/CDT-enumerationTypes.xsd +++ b/CDT-enumerationTypes.xsd @@ -155,6 +155,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="61" /> <!-- primitiveProfile --> <xs:enumeration value="62" /> + <!-- action --> + <xs:enumeration value="65" /> + <!-- dependency --> + <xs:enumeration value="66" /> <!-- accessControlPolicyAnnc --> <xs:enumeration value="10001" /> <!-- AEAnnc --> @@ -210,6 +214,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="10060" /> <!-- primitiveProfileAnnc --> <xs:enumeration value="10062" /> + <!-- actionAnnc --> + <xs:enumeration value="10065" /> + <!-- dependencyAnnc --> + <xs:enumeration value="10066" /> </xs:restriction> </xs:simpleType> @@ -684,6 +692,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="61" /> <!-- primitiveProfile --> <xs:enumeration value="62" /> + <!-- action --> + <xs:enumeration value="65" /> + <!-- dependency --> + <xs:enumeration value="66" /> <!-- accessControlPolicyAnnc --> <xs:enumeration value="10001" /> <!-- AEAnnc --> @@ -741,6 +753,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="10060" /> <!-- primitiveProfileAnnc --> <xs:enumeration value="10062" /> + <!-- actionAnnc --> + <xs:enumeration value="10065" /> + <!-- dependencyAnnc --> + <xs:enumeration value="10066" /> <!-- oldest --> <xs:enumeration value="20001" /> <!-- latest --> @@ -2035,5 +2051,41 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:restriction> </xs:simpleType> + <xs:simpleType name="evalCriteriaOperator"> + <xs:annotation> + <xs:documentation>Used for the evalCriteria attribute of the action and dependency resources</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:integer"> + <!-- equal --> + <xs:enumeration value="1" /> + <!-- not equal --> + <xs:enumeration value="2" /> + <!-- greater than --> + <xs:enumeration value="3" /> + <!-- less than --> + <xs:enumeration value="4" /> + <!-- greater than or equal --> + <xs:enumeration value="5" /> + <!-- less than or equal --> + <xs:enumeration value="6" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="evalMode"> + <xs:annotation> + <xs:documentation>Used for the evalMode attribute of the action resource</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:integer"> + <!-- off --> + <xs:enumeration value="0" /> + <!-- once --> + <xs:enumeration value="1" /> + <!-- periodic --> + <xs:enumeration value="2" /> + <!-- continuous --> + <xs:enumeration value="3" /> + </xs:restriction> + </xs:simpleType> + </xs:schema> diff --git a/CDT-requestPrimitive.xsd b/CDT-requestPrimitive.xsd index c72aaef5268f10b56dc95ba698745c4178a60e77..374d6ed304736614d6304c8f2b63f7398ffa3542 100644 --- a/CDT-requestPrimitive.xsd +++ b/CDT-requestPrimitive.xsd @@ -30,8 +30,9 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:include schemaLocation="CDT-commonTypes.xsd" /> - <xs:element name="requestPrimitive" > - <xs:complexType> + <xs:element name="requestPrimitive" type="m2m:requestPrimitive" /> + + <xs:complexType name="requestPrimitive"> <xs:sequence> <!-- parameter "Operation" --> <xs:element name="operation" type="m2m:operation" minOccurs="1"/> @@ -137,9 +138,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- parameter "Primitive Profile Identifier" --> <xs:element name="primitiveProfileIdentifier" type="xs:anyURI" minOccurs="0"/> </xs:sequence> - </xs:complexType> - </xs:element> - + </xs:complexType> + <xs:element name="attributeList" type="m2m:attributeList" /> </xs:schema> diff --git a/CDT-responsePrimitive.xsd b/CDT-responsePrimitive.xsd index 49ee3386896351c362833732cc3f48b28de379c8..e87df77e792d35bb0e6179890d52cf0e6e94b69a 100644 --- a/CDT-responsePrimitive.xsd +++ b/CDT-responsePrimitive.xsd @@ -78,8 +78,9 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:include schemaLocation="CDT-role.xsd" /> <xs:include schemaLocation="CDT-token.xsd" /> - <xs:element name="responsePrimitive" > - <xs:complexType> + <xs:element name="responsePrimitive" type ="m2m:responsePrimitive" /> + + <xs:complexType name="responsePrimitive" > <xs:sequence> <!-- Response Code and Status Code primitive parameters defined in TS-0001 have been merged into Response Status Code in TS-0004 --> @@ -114,9 +115,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- parameter "Vendor Information" --> <xs:element name="vendorInformation" type="xs:string" minOccurs="0"/> </xs:sequence> - </xs:complexType> - </xs:element> - + </xs:complexType> + <xs:element name="resource" type="m2m:resourceWrapper" /> <xs:element name="URIList" >