A.2 XSDs created by the IPE

A.2.1 XSD storage <container >

According to clause 7.2.1.1 the IPE creates a resource that acts as a XSD-storage and that is a child resource of the IPE's .

Derived from the IRI of the ontology: http://www.XYZ.com/WashingMachines, following the rule given in table 7.2.1.2‑1 the resource name for that resource (in the table the placeholder is called &XSDSTORAGE) will be www.XYZ.com_WashingMachines.

The IPE will also create resources as child-resources of the XSD-storage resource with the following resource names (see &XSDFILE in table 7.2.1.2‑1):

  • XYZ_Cool.xsd ... contains the XSD for the resource of the Interworked Device type XYZ_Cool
  • SwitchOnService.xsd ... contains the XSD for the resource of the Service type SwitchOnService
  • MonitorService.xsd ... contains the XSD for the resource of the Service type MonitorService
  • ToggleBinary.xsd ... contains the XSD for the resource of the Operation type ToggleBinary

When the IPE crates a new specialization of these types then the attribute containerDefinition will contain the absolute, hierarchical address of the that contains the related XSD.
E.g. for the SwitchOnService it could have the value: //m2m.service.com/IN-CSE0001/bigFatCse/name_of_IPE_AE/ww.XYZ.com_WashingMachines/SwitchOnService.xsd

A.2.2 XSD for the Interworked Device type XYZ_Cool

Following the principles of clause 7.2.2 an Interworked Device is represented as .

According to the the convention in table 7.2.1.2‑1 the placeholders and their substitutions that are needed for a , representing an Interworked Device are:

&XSDSTORAGE
is substituted by
www.XYZ.com_WashingMachines
&DEVICE
is substituted by
XYZ_Cool
&SERVICE_1;
is substituted by
SwitchOnService
&SERVICE_2;
is substituted by
MonitorService
&THINGPROPERTY_1;
is substituted by
Description
&TYPENAME_1;
is substituted by
DescriptionType
&SIMPLEDATATYPE
is substituted by
xs:string

The XSD in the with resource name XYZ_Cool.xsd will contain:

<?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="www.XYZ.com_WashingMachines"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:m2m="http://www.onem2m.org/xml/protocols" 
    xmlns:obi="www.XYZ.com_WashingMachines"
    elementFormDefault="unqualified" attributeFormDefault="unqualified">
    
 
    <xs:import namespace="http://www.onem2m.org/xml/protocols" schemaLocation="CDT-semanticDescriptor-v3_0_0.xsd"/>
    <xs:import namespace="http://www.onem2m.org/xml/protocols" schemaLocation="CDT-subscription-v3_0_0.xsd"/>
 
    
    <!-- include XSDs of child resources: (sub-)Devices and Services used in this Device -->
    <xs:include schemaLocation="SwitchOnService.xsd" />
    <xs:include schemaLocation="MonitorService.xsd" />
    
    
    <xs:element name="XYZ_Cool" substitutionGroup="m2m:sg_flexContainerResource">
        <xs:complexType>
            <xs:complexContent>
                <!-- Inherit Common Attributes from data type "flexContainerResource" -->
                <xs:extension base="m2m:flexContainerResource">
                    <xs:sequence>
                        
                        <!-- Resource Specific Attributes -->
                        
                        <!-- nodeLink as custom attribute -->
                        <xs:element name="nodeLink" type="xs:anyURI" minOccurs="0"/>                        
                        <!-- all OperationInput- and Outputs are listed here as custom attributes -->
                        <xs:element name="Description" type=" obi:DescriptionType" 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">
                                
                                <!-- Device specific Child Resources (sub-Devices of the Device) -->
                                
                                <!-- Device specific Child Resources (Services of the Device) -->
                                <xs:element ref=" obi:SwitchOnService"/>
                                <xs:element ref=" obi:MonitorService"/>
                                
                                <!-- Common Child Resources -->
                                
                            </xs:choice>
                        </xs:choice>
                        
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    
    <!-- types used for ThingProperties of this Device -->
    
    <!-- ********************** -->
    <!-- Ontology based IWK Simple Types -->
    <!-- ********************** -->
    
    <xs:simpleType name="DescriptionType">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    
</xs:schema>

A.2.3 XSD for the Service type SwitchOnService

Following the principles of clause 7.2.3 a Service is represented as .

According to the the convention in table 7.2.1.2‑1 the placeholders and their substitutions that are needed for a , representing an Interworked Device are:

&XSDSTORAGE
is substituted by
www.XYZ.com_WashingMachines
&SERVICE
is substituted by
SwitchOnService
&OPERATION_1;
is substituted by
ToggleBinary
&INPUTDATAPOINT_1;
is substituted by
BinaryInput
&TYPENAME_1;
is substituted by
ToggleBinaryType
&SIMPLEDATATYPE
is substituted by
xs:boolean

The XSD in the with resource name SwitchOnService.xsd will contain:

<?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="www.XYZ.com_WashingMachines"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:m2m="http://www.onem2m.org/xml/protocols" 
    xmlns:obi="www.XYZ.com_WashingMachines"
    elementFormDefault="unqualified" attributeFormDefault="unqualified">
    
    <xs:import namespace="http://www.onem2m.org/xml/protocols" schemaLocation="CDT-semanticDescriptor-v3_0_0.xsd"/>
    <xs:import namespace="http://www.onem2m.org/xml/protocols" schemaLocation="CDT-subscription-v3_0_0.xsd"/>

   
    
    <!-- include XSDs of child resources: Operations used in this Service -->
    <xs:include schemaLocation="ToggleBinary.xsd" />
    
    
    <xs:element name="SwitchOnService" substitutionGroup="m2m:sg_flexContainerResource">
        <xs:complexType>
            <xs:complexContent>
                <!-- Inherit Common Attributes from data type "flexContainerResource" -->
                <xs:extension base="m2m:flexContainerResource">
                    <xs:sequence>
                        
                        <!-- Resource Specific Attributes -->
                        
                        <!-- all Input- and OutputDatapoints are listed here as custom attributes -->
                        <xs:element name="BinaryInput" type=" obi:BinaryInputType" 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">
                                
                                <!-- Service specific Child Resources (Operations of the Service) -->
                                <xs:element ref=" obi:ToggleBinary"/>
                                
                                <!-- Common Child Resources -->
                                <xs:element ref="m2m:semanticDescriptor"/>
                                <xs:element ref="m2m:subscription"/>
                            </xs:choice>
                        </xs:choice>
                        
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    
    <!-- types used for Datapoints of this Service -->
    
    <!-- ********************** -->
    <!-- Ontology based IWK Simple Types -->
    <!-- ********************** -->
    
    <xs:simpleType name=" BinaryInputType ">
        <xs:restriction base="xs:boolean"/>
    </xs:simpleType>
    
    
</xs:schema>

A.2.4 XSD for the Service type MonitorService

Following the principles of clause 7.2.3 a Service is represented as <flexContainer>.

According to the the convention in table 7.2.1.2‑1 the placeholders and their substitutions that are needed for a <flexContainer>_, representing an Interworked Device are:

&XSDSTORAGE
is substituted by
www.XYZ.com_WashingMachines
&SERVICE
is substituted by
MonitorService
&OUTPUTDATAPOINT_1;
is substituted by
WashingMachineStatus
&TYPENAME_1;
is substituted by
WashingMachineStatusType
&SIMPLEDATATYPE
is substituted by
xs:string
&RESTRICTIONVALUE
is substituted by
"WASHING"

The XSD in the with resource name MonitorService.xsd will contain:

<?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="www.XYZ.com_WashingMachines"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:m2m="http://www.onem2m.org/xml/protocols" 
    xmlns:obi="www.XYZ.com_WashingMachines"
    elementFormDefault="unqualified" attributeFormDefault="unqualified">
    
    
    <xs:import namespace="http://www.onem2m.org/xml/protocols" schemaLocation="CDT-semanticDescriptor-v3_0_0.xsd"/>
    <xs:import namespace="http://www.onem2m.org/xml/protocols" schemaLocation="CDT-subscription-v3_0_0.xsd"/>
    
 
    
    <xs:element name="MonitorService" substitutionGroup="m2m:sg_flexContainerResource">
        <xs:complexType>
            <xs:complexContent>
                <!-- Inherit Common Attributes from data type "flexContainerResource" -->
                <xs:extension base="m2m:flexContainerResource">
                    <xs:sequence>
                        
                        <!-- Resource Specific Attributes -->
                        
                        <!-- all Input- and OutputDatapoints are listed here as custom attributes -->
                        <xs:element name="WashingMachineStatus" type="obi:WashingMachineStatusType" 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">
                                
                                <!-- Service specific Child Resources (Operations of the Service) -->
                                
                                <!-- Common Child Resources -->
                                
                                <xs:element ref="m2m:semanticDescriptor"/>
                                <xs:element ref="m2m:subscription"/>
                                
                            </xs:choice>
                        </xs:choice>
                        
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    
    <!-- types used for Datapoints of this Service -->
    
    <!-- ********************** -->
    <!-- Ontology based IWK Simple Types -->
    <!-- ********************** -->
    
    <xs:simpleType name="WashingMachineStatusType">
        <xs:restriction base="xs:string">
        <!-- next lines for restrictions of the values. Remove not needed ones, Multiple restrictiontypes possible -->
            <xs:pattern value= "WASHING|STOPPED|ERROR"/>
        </xs:restriction>
    </xs:simpleType>
    
    
</xs:schema>

A.2.5 XSD for the Operation type ToggleBinary

Following the principles of clause 7.2.3 a Service is represented as .

According to the the convention in table 7.2.1.2‑1 the placeholders and their substitutions that are needed for a , representing an Interworked Device are:

&XSDSTORAGE
is substituted by
www.XYZ.com_WashingMachines
&OPERATION
is substituted by
ToggleBinary

The XSD in the with resource name ToggleBinary.xsd will contain:

<?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="www.XYZ.com_WashingMachines"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:m2m="http://www.onem2m.org/xml/protocols" 
    xmlns:obi="www.XYZ.com_WashingMachines"
    elementFormDefault="unqualified" attributeFormDefault="unqualified">
 
 
    <xs:import namespace="http://www.onem2m.org/xml/protocols" schemaLocation="CDT-semanticDescriptor-v3_0_0.xsd"/>
    <xs:import namespace="http://www.onem2m.org/xml/protocols" schemaLocation="CDT-subscription-v3_0_0.xsd"/>
    
    
    <!--  for operations no includes needed from obi: namespace -->
    
    <xs:element name="ToggleBinary" substitutionGroup="m2m:sg_flexContainerResource">
        <xs:complexType>
            <xs:complexContent>
                <!-- Inherit Common Attributes from data type "flexContainerResource" -->
                <xs:extension base="m2m:flexContainerResource">
                    <xs:sequence>
                        
                        <!-- Resource Specific Attributes for operations-->
                        
                        <!-- all OperationInput- and Outputs are listed here as custom attributes -->
                        
                        
                        <!-- 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">
                                
                                <!-- Child Resource for Operations that have OperationOutputs is an Operation of the same type -->
                                
                                <!-- Common Child Resources -->
                                <xs:element ref="m2m:semanticDescriptor"/>
                                <xs:element ref="m2m:subscription"/>
                            </xs:choice>
                        </xs:choice>
                        
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    
    
    <!-- types used for OperationInputs and -Outputs of this Operation -->
    
</xs:schema>