Commit 05743b7d authored by Peter Niblett's avatar Peter Niblett
Browse files

Further work on CommonTypes to align with TS-0004 changes

parent a4154e94
......@@ -27,7 +27,9 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
<xs:include schemaLocation="CDT-enumerationTypes-v0_8_0.xsd" />
<!-- -->
<!-- oneM2M Simple Types -->
<!-- -->
<!-- TODO: Choose appropriate definitions for the id types (xs:token is placeholder for now) -->
......@@ -188,8 +190,6 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
<xs:restriction base="xs:unsignedInt" />
</xs:simpleType>
<xs:simpleType name="listOfURIs">
<list itemType="xs:anyURI" />
</xs:simpleType>
......@@ -199,6 +199,229 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
<!-- <xs:restriction base="xs:string" /> -->
<!-- </xs:simpleType> -->
<!-- -->
<!-- oneM2M Complex Types -->
<!-- -->
<xs:complexType name="deliveryMetaData">
<xs:sequence>
<xs:sequence>
<xs:element name="tracingOption" type="xs:boolean" />
<xs:element name="tracingInfo" type="m2m:listOfM2MID" />
<!-- should tracing Info be list of anyURI? -->
</xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:complexType name="aggregatedRequest">
<xs:sequence>
<xs:element name="request" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="operation" type="m2m:operation" />
<xs:element name="to" type="xs:anyURI" />
<xs:element name="from" type="m2m:ID" />
<xs:element name="requestIdentifier" type="m2m:requestID" />
<xs:element name="content" type="m2m:primitiveContent" minOccurs="0" />
<xs:element name="metaInformation" type="m2m:metaInformation" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="metaInformation">
<xs:sequence>
<xs:element name="resourceType" type="m2m:resourceType" minOccurs="0" />
<xs:element name="name" type="xs:string" minOccurs="0" />
<xs:element name="originatingTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="requestMessageExpirationTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="resultExpirationTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="operationalExecutionTime" type="m2m:timestamp" minOccurs="0" />
<xs:element name="responseMessageType" type="m2m:responseType" minOccurs="0" />
<xs:element name="responsePersistence" type="m2m:timestamp" minOccurs="0" />
<xs:element name="resultContent" type="m2m:resultContent" minOccurs="0" />
<xs:element name="eventCategory" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="eventCatType" type="m2m:eventCat" />
<xs:element name="eventCatNo" type="xs:nonNegativeInteger" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="deliveryAggregation" type="xs:boolean" minOccurs="0" />
<xs:element name="groupRequestIdentifier" type="xs:string" minOccurs="0" />
<xs:element name="filterCriteria" type="m2m:filterCriteria" minOccurs="0" />
<xs:element name="discoveryResultType" type="m2m:discResType" minOccurs="0" />
<xs:element name="role" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="primitiveContent">
<xs:sequence>
<xs:any namespace="http://www.onem2m.org/xml/protocols" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="filterCriteria">
<xs:sequence>
<xs:element name="createdBefore" type="m2m:timestamp" minOccurs="0" />
<xs:element name="createdAfter" type="m2m:timestamp" minOccurs="0" />
<xs:element name="modifiedSince" type="m2m:timestamp" minOccurs="0" />
<xs:element name="unmodifiedSince" type="m2m:timestamp" minOccurs="0" />
<xs:element name="stateTagSmaller" type="xs:positiveInteger" minOccurs="0" />
<xs:element name="stateTagBigger" type="xs:nonNegativeInteger" minOccurs="0" />
<xs:element name="expireBefore" type="m2m:timestamp" minOccurs="0" />
<xs:element name="expireAfter" type="m2m:timestamp" minOccurs="0" />
<xs:element name="labels" type="m2m:labels" minOccurs="0" />
<xs:element name="resourceType" type="m2m:resourceType" minOccurs="0" />
<xs:element name="sizeAbove" type="xs:nonNegativeInteger" minOccurs="0" />
<xs:element name="sizeBelow" type="xs:positiveInteger" minOccurs="0" />
<xs:element name="contentType" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="attribute" type="m2m:attribute" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="filterUsage" type="m2m:filterUsage" minOccurs="0" />
<xs:element name="limit" type="xs:nonNegativeInteger" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="attribute">
<xs:sequence>
<xs:element name="name" type="xs:NCName" />
<xs:element name="value" type="xs:anyType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeList">
<xs:sequence>
<xs:element name="attribute" type="m2m:attribute" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="scheduleEntries">
<xs:sequence>
<xs:element name="scheduleEntry" type="m2m:scheduleEntry" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<!-- "actionStatus" is used across mgmtObj resources -->
<xs:complexType name="actionStatus">
<xs:sequence>
<xs:element name="action" type="xs:anyURI" minOccurs="0" />
<xs:element name="status" type="m2m:status" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<!-- Todo - this looks wrong. Are there supposed to be separate type and value elements ? -->
<xs:complexType name="anyArgType">
<xs:sequence>
<xs:element name="name" type="xs:NCName" />
<xs:element name="type" type="xs:anyType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="resetArgsType">
<xs:sequence>
<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="rebootArgsType">
<xs:sequence>
<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="uploadArgsType">
<xs:sequence>
<xs:element name="fileType" type="xs:string" />
<xs:element name="uRL" type="xs:anyURI" />
<xs:element name="username" type="xs:string" />
<xs:element name="password" type="xs:string" />
<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="downloadArgsType">
<xs:sequence>
<xs:element name="fileType" type="xs:string" />
<xs:element name="URL" type="xs:anyURI" />
<xs:element name="username" type="xs:string" />
<xs:element name="password" type="xs:string" />
<xs:element name="filesize" type="xs:string" />
<xs:element name="targetFile" type="xs:string" />
<xs:element name="delaySeconds" type="xs:int" />
<xs:element name="successURL" type="xs:anyURI" />
<xs:element name="startTime" type="xs:dateTime" />
<xs:element name="completeTime" type="xs:dateTime" />
<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="anyArgsListType">
<xs:sequence>
<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="execReqArgsListType">
<xs:choice>
<xs:element name="reset" type="m2m:resetArgsType" />
<xs:element name="reboot" type="m2m:rebootArgsType" />
<xs:element name="upload" type="m2m:uploadArgsType" />
<xs:element name="download" type="m2m:downloadArgsType" />
<xs:element name="anyArg" type="m2m:anyArgsListType" minOccurs="0" />
</xs:choice>
</xs:complexType>
<xs:complexType name="mgmtLinkRef">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="type" type="m2m:mgmtDefinition" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="resourceWrapper">
<xs:complexContent>
<xs:extension base="m2m:resource">
<xs:attribute name="URI" type="xs:anyURI" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="childResourceRef">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="resourceName" type="xs:string" use="required" />
<xs:attribute name="type" type="m2m:resourceType" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- TODO: is this a sensible order? -->
<xs:complexType name="operationResult">
<xs:sequence>
<xs:element name="content" type="m2m:primitiveContent" minOccurs="0" />
<xs:element name="eventCategory" type="m2m:eventCat" minOccurs="0" />
<xs:element name="from" type="m2m:ID" minOccurs="0" />
<xs:element name="originatingTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="requestIdentifier" type="m2m:requestID" />
<xs:element name="resultExpirationTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="to" type="xs:anyURI" minOccurs="0" />
<xs:element name="responseStatusCode" type="m2m:responseStatusCode" />
</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 -->
......@@ -307,214 +530,4 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
</xs:complexContent>
</xs:complexType>
<xs:complexType name="childResourceRef">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="type" type="m2m:resourceType" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="mgmtLinkRef">
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="type" type="m2m:mgmtDefinition" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="anyArgType">
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="type" type="xs:string" />
<xs:element name="value" type="xs:anyType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="downloadArgsType">
<xs:sequence>
<xs:element name="FileType" type="xs:string" />
<xs:element name="URL" type="xs:anyURI" />
<xs:element name="Username" type="xs:string" />
<xs:element name="Password" type="xs:string" />
<xs:element name="Filesize" type="xs:string" />
<xs:element name="TargetFile" type="xs:string" />
<xs:element name="DelaySeconds" type="xs:int" />
<xs:element name="SuccessURL" type="xs:anyURI" />
<xs:element name="StartTime" type="xs:dateTime" />
<xs:element name="StartTime" type="xs:dateTime" />
<xs:element name="AnyArg" type="m2m:anyArgsListType" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="uploadArgsType">
<xs:sequence>
<xs:element name="FileType" type="xs:string" />
<xs:element name="URL" type="xs:anyURI" />
<xs:element name="Username" type="xs:string" />
<xs:element name="Password" type="xs:string" />
<xs:element name="AnyArg" type="m2m:anyArgsListType" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="rebootArgsType">
<xs:sequence>
<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="resetArgsType">
<xs:sequence>
<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="anyArgsListType">
<xs:sequence>
<xs:element name="anyArg" type="m2m:anyArgType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="execReqArgsType">
<xs:choice>
<xs:element name="Download" type="m2m:downloadArgsType" />
<xs:element name="Upload" type="m2m:uploadArgsType" />
<xs:element name="Reboot" type="m2m:rebootArgsType" />
<xs:element name="Reset" type="m2m:resetArgsType" />
<xs:element name="AnyArg" type="m2m:anyArgsListType" minOccurs="0" />
</xs:choice>
</xs:complexType>
<xs:complexType name="execReqArgsListType">
<xs:sequence>
<xs:element name="execReqArg" type="m2m:execReqArgsType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="deliveryMetaData">
<xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:complexType name="primitiveContent">
<xs:sequence>
<xs:any namespace="http://www.onem2m.org/xml/protocols" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<!-- TODO: reconcile this with PRO-2014-0562-Implementation_of_Filter_Criteria_as_concept -->
<xs:complexType name="filterCriteria">
<xs:sequence>
<xs:element name="createdBefore" type="m2m:timestamp" minOccurs="0" />
<xs:element name="createdAfter" type="m2m:timestamp" minOccurs="0" />
<xs:element name="modifiedSince" type="m2m:timestamp" minOccurs="0" />
<xs:element name="unmodifiedSince" type="m2m:timestamp" minOccurs="0" />
<xs:element name="stateTagSmaller" type="xs:positiveInteger" minOccurs="0" />
<xs:element name="stateTagBigger" type="xs:nonNegativeInteger" minOccurs="0" />
<xs:element name="expireBefore" type="m2m:timestamp" minOccurs="0" />
<xs:element name="expireAfter" type="m2m:timestamp" minOccurs="0" />
<xs:element name="labels" type="m2m:labels" minOccurs="0" />
<xs:element name="resourceType" type="m2m:resourceType" minOccurs="0" />
<xs:element name="sizeAbove" type="xs:nonNegativeInteger" minOccurs="0" />
<xs:element name="sizeBelow" type="xs:positiveInteger" minOccurs="0" />
<xs:element name="contentType" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="attribute" type="m2m:attributeTest" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="filterUsage" type="m2m:filterUsage" minOccurs="0" />
<xs:element name="limit" type="xs:nonNegativeInteger" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="attributeTest">
<xs:sequence>
<xs:element name="name" type="xs:NCName" />
<xs:element name="value" type="xs:anyType" />
</xs:sequence>
</xs:complexType>
<!-- TODO: consider moving this to the Enumerations file -->
<xs:simpleType name="filterUsage">
<xs:annotation>
<xs:documentation></xs:documentation>
</xs:annotation>
<xs:restriction base="xs:integer">
<!-- Discovery Criteria -->
<xs:enumeration value="1" />
<!-- Event Notification Criteria -->
<xs:enumeration value="2" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="metaInformation">
<xs:sequence>
<xs:element name="resourceType" type="m2m:resourceType" minOccurs="0" />
<xs:element name="name" type="xs:string" minOccurs="0" />
<xs:element name="originatingTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="requestMessageExpirationTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="resultExpirationTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="operationalExecutionTime" type="m2m:timestamp" minOccurs="0" />
<xs:element name="responseMessageType" type="m2m:responseType" minOccurs="0" />
<xs:element name="responsePersistence" type="m2m:timestamp" minOccurs="0" />
<xs:element name="resultContent" type="m2m:resultContent" minOccurs="0" />
<xs:element name="eventCategory" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="eventCatType" type="m2m:eventCat" />
<xs:element name="eventCatNo" type="xs:nonNegativeInteger" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="deliveryAggregation" type="xs:boolean" minOccurs="0" />
<xs:element name="groupRequestIdentifier" type="xs:string" minOccurs="0" />
<xs:element name="filterCriteria" type="m2m:filterCriteria" minOccurs="0" />
<xs:element name="discoveryResultType" type="m2m:discResType" minOccurs="0" />
<xs:element name="role" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="aggregatedRequest">
<xs:sequence>
<xs:element name="request" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="operation" type="m2m:operation" />
<xs:element name="to" type="xs:anyURI" />
<xs:element name="from" type="m2m:ID" />
<xs:element name="requestIdentifier" type="m2m:requestID" />
<xs:element name="content" type="m2m:primitiveContent" minOccurs="0" />
<xs:element name="metaInformation" type="m2m:metaInformation" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- TODO: is this a sensible order? -->
<xs:complexType name="operationResult">
<xs:sequence>
<xs:element name="content" type="m2m:primitiveContent" minOccurs="0" />
<xs:element name="eventCategory" type="m2m:eventCat" minOccurs="0" />
<xs:element name="from" type="m2m:ID" minOccurs="0" />
<xs:element name="originatingTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="requestIdentifier" type="m2m:requestID" />
<xs:element name="resultExpirationTimestamp" type="m2m:timestamp" minOccurs="0" />
<xs:element name="to" type="xs:anyURI" minOccurs="0" />
<xs:element name="responseStatusCode" type="m2m:responseStatusCode" />
</xs:sequence>
</xs:complexType>
<!-- "actionStatus" is used across mgmtObj resources -->
<xs:complexType name="actionStatus">
<xs:sequence>
<xs:element name="action" type="xs:anyURI" minOccurs="0" />
<xs:element name="status" type="m2m:status" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:schema>
......@@ -693,5 +693,17 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
<xs:enumeration value="08-001" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="filterUsage">
<xs:annotation>
<xs:documentation>Used in filterCriteria</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:integer">
<!-- Discovery Criteria -->
<xs:enumeration value="1" />
<!-- Event Notification Criteria -->
<xs:enumeration value="2" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
......@@ -36,13 +36,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
<xs:extension base="m2m:announceableSubordinateResource">
<xs:sequence>
<!-- Resource Specific Attributes -->
<xs:element name="scheduleElement">
<xs:complexType>
<xs:sequence>
<xs:element name="scheduleEntry" type="m2m:scheduleEntry" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="scheduleElement" type="m2m:scheduleEntries" minOccurs="0" />
<!-- Child Resources -->
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="childResource" type="m2m:childResourceRef" minOccurs="1" maxOccurs="unbounded" />
......@@ -62,13 +57,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
<xs:extension base="m2m:announcedSubordinateResource">
<xs:sequence>
<!-- Resource Specific Attributes -->
<xs:element name="scheduleElement" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="scheduleEntry" type="m2m:scheduleEntry" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="scheduleElement" type="m2m:scheduleEntries" minOccurs="0" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
......
......@@ -78,7 +78,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
<xs:element name="sizeBelow" type="xs:positiveInteger" minOccurs="0" />
<xs:element name="resourceStatus" type="m2m:resourceStatus" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="operationMonitor" type="m2m:operation" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="attribute" type="m2m:attributeTest" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="attribute" type="m2m:attribute" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment