diff --git a/CDT-commonTypes.xsd b/CDT-commonTypes.xsd index 09b7fe38a8dccdd71790659134f38622cbf11ad8..ce36f18ce4fb6781aa244424e99e10cc55fa9d32 100644 --- a/CDT-commonTypes.xsd +++ b/CDT-commonTypes.xsd @@ -1519,6 +1519,25 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:sequence> </xs:complexType> + <xs:complexType name="listOfStateTransitions"> + <xs:sequence> + <xs:element name="stateTransition" type="m2m:stateTransition" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="stateTransition"> + <xs:sequence> + <xs:element name="evalCriteria" type="m2m:evalCriteria"/> + <xs:element name="nextState" type="xs:anyURI"/> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="listOfEvalCriteria"> + <xs:sequence> + <xs:element name="evalCriteria" type="m2m:evalCriteria" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </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-enumerationTypes.xsd b/CDT-enumerationTypes.xsd index e96b2c4b362e8d068e47e404308085131ba2bbe3..001fa1d9edeacbb3c241d942f29fd6590facf317 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" /> + <!-- processManagement --> + <xs:enumeration value="63" /> + <!-- state --> + <xs:enumeration value="64" /> <!-- action --> <xs:enumeration value="65" /> <!-- dependency --> @@ -220,6 +224,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="10060" /> <!-- primitiveProfileAnnc --> <xs:enumeration value="10062" /> + <!-- processManagementAnnc --> + <xs:enumeration value="10063" /> + <!-- stateAnnc --> + <xs:enumeration value="10064" /> <!-- actionAnnc --> <xs:enumeration value="10065" /> <!-- dependencyAnnc --> @@ -471,6 +479,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="4140" /> <!-- SERVICE_SUBSCRIPTION_LIMITS_EXCEEDED --> <xs:enumeration value="4141" /> + <!-- INVALID_PROCESS_CONFIGURATION --> + <xs:enumeration value="4142" /> <!-- INTERNAL_SERVER_ERROR --> <xs:enumeration value="5000" /> @@ -710,6 +720,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="61" /> <!-- primitiveProfile --> <xs:enumeration value="62" /> + <!-- processManagement --> + <xs:enumeration value="63" /> + <!-- state --> + <xs:enumeration value="64" /> <!-- action --> <xs:enumeration value="65" /> <!-- dependency --> @@ -775,6 +789,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="10060" /> <!-- primitiveProfileAnnc --> <xs:enumeration value="10062" /> + <!-- processManagementAnnc --> + <xs:enumeration value="10063" /> + <!-- stateAnnc --> + <xs:enumeration value="10064" /> <!-- actionAnnc --> <xs:enumeration value="10065" /> <!-- dependencyAnnc --> @@ -2143,5 +2161,41 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:restriction> </xs:simpleType> + <xs:simpleType name="processStatus"> + <xs:annotation> + <xs:documentation>Used for the processStatus attribute of the processManagement resource</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:integer"> + <!-- Disabled --> + <xs:enumeration value="1" /> + <!-- Enabled --> + <xs:enumeration value="2" /> + <!-- Activated --> + <xs:enumeration value="3" /> + <!-- Paused --> + <xs:enumeration value="4" /> + <!-- Completed --> + <xs:enumeration value="5" /> + <!-- Aborted --> + <xs:enumeration value="6" /> + </xs:restriction> + </xs:simpleType> + + <xs:simpleType name="processControl"> + <xs:annotation> + <xs:documentation>Used for the processControl attribute of the processManagement resource</xs:documentation> + </xs:annotation> + <xs:restriction base="xs:integer"> + <!-- Enable --> + <xs:enumeration value="1" /> + <!-- Disable --> + <xs:enumeration value="2" /> + <!-- Pause --> + <xs:enumeration value="3" /> + <!-- Reactivate --> + <xs:enumeration value="4" /> + </xs:restriction> + </xs:simpleType> + </xs:schema> diff --git a/CDT-processManagement.xsd b/CDT-processManagement.xsd new file mode 100644 index 0000000000000000000000000000000000000000..21552189b55cc0a87bd9fa00f8c01b86e550a433 --- /dev/null +++ b/CDT-processManagement.xsd @@ -0,0 +1,93 @@ +<?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-state.xsd"/> + + <xs:element name="processManagement" 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="processStatus" type="m2m:processStatus" /> + <xs:element name="processControl" type="m2m:processControl"/> + <xs:element name="currentState" type="xs:anyURI"/> + <xs:element name="activateConditions" type="m2m:listOfEvalCriteria" minOccurs="0" /> + <xs:element name="endConditions" type="m2m:listOfEvalCriteria" minOccurs="0" /> + <xs:element name="initialState" 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:element ref="m2m:state" /> + </xs:choice> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="processManagementAnnc" 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="processStatus" type="m2m:processStatus" minOccurs="0" /> + <xs:element name="processControl" type="m2m:processControl" minOccurs="0" /> + <xs:element name="currentState" type="xs:anyURI" minOccurs="0" /> + <xs:element name="activateConditions" type="m2m:listOfEvalCriteria" minOccurs="0" /> + <xs:element name="endConditions" type="m2m:listOfEvalCriteria" minOccurs="0" /> + <xs:element name="initialState" type="xs:anyURI" 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:subscription" /> + <xs:element ref="m2m:transaction" /> + <xs:element ref="m2m:state" /> + </xs:choice> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/CDT-state.xsd b/CDT-state.xsd new file mode 100644 index 0000000000000000000000000000000000000000..6c1c42f84bad37a2cc02f4ed6dd945c6d2b5eca2 --- /dev/null +++ b/CDT-state.xsd @@ -0,0 +1,87 @@ +<?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-action.xsd"/> + + <xs:element name="state" 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="stateActive" type="xs:boolean" /> + <xs:element name="stateAction" type="xs:anyURI" minOccurs="0" /> + <xs:element name="stateTransitions" type="m2m:listOfStateTransitions" 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:subscription" /> + <xs:element ref="m2m:transaction" /> + <xs:element ref="m2m:action" /> + </xs:choice> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <xs:element name="stateAnnc" 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="stateActive" type="xs:boolean" minOccurs="0" /> + <xs:element name="stateAction" type="xs:anyURI" minOccurs="0" /> + <xs:element name="stateTransitions" type="m2m:listOfStateTransitions" 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:subscription" /> + <xs:element ref="m2m:transaction" /> + <xs:element ref="m2m:action" /> + </xs:choice> + </xs:choice> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> +</xs:schema>