From 302ba700618fdbf555ddea29c743f00fa6966fdc Mon Sep 17 00:00:00 2001 From: reinaortega <miguelangel.reinaortega@etsi.org> Date: Mon, 11 May 2020 13:37:49 +0200 Subject: [PATCH] XSD v2_8_0 baseline --- CDT-commonTypes.xsd | 78 ++++++++++++-- CDT-enumerationTypes.xsd | 8 +- CDT-genericInterworkingService.xsd | 6 +- CDT-group.xsd | 2 +- CDT-requestPrimitive.xsd | 166 ++++++++++++++++------------- CDT-responsePrimitive.xsd | 2 +- CDT-serviceSubscribedAppRule.xsd | 10 ++ CDT-subscription.xsd | 2 +- 8 files changed, 187 insertions(+), 87 deletions(-) diff --git a/CDT-commonTypes.xsd b/CDT-commonTypes.xsd index 62de95a..1a9eba2 100644 --- a/CDT-commonTypes.xsd +++ b/CDT-commonTypes.xsd @@ -386,6 +386,12 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:union> </xs:simpleType> + <xs:simpleType name="resourceName"> + <xs:restriction base="xs:string" > + <xs:pattern value="[a-zA-Z0-9]([a-zA-Z0-9\.\-,_]*)" /> + </xs:restriction> + </xs:simpleType> + <!--********************** --> <!-- oneM2M Complex Types --> <!--********************** --> @@ -433,6 +439,47 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <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="roleIDs" minOccurs="0"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:roleID" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="tokenRequestIndicator" type="xs:boolean" minOccurs="0" /> + <xs:element name="tokens" minOccurs="0"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:dynAuthJWT" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="tokenIDs" minOccurs="0"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:tokenID" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="localTokenIDs" minOccurs="0"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="xs:NCName" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> </xs:sequence> </xs:complexType> @@ -589,7 +636,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:complexType name="mgmtLinkRef"> <xs:simpleContent> <xs:extension base="xs:anyURI"> - <xs:attribute name="name" type="xs:NCName" use="required" /> + <xs:attribute name="name" type="m2m:resourceName" use="required" /> <xs:attribute name="type" type="m2m:mgmtDefinition" use="required" /> </xs:extension> </xs:simpleContent> @@ -647,13 +694,32 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR </xs:complexType> </xs:element> <xs:element name="accessControlAuthenticationFlag" type="xs:boolean" minOccurs="0" /> + <xs:element name="accessControlObjectDetails" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="resourceType" type="m2m:resourceType" minOccurs="0" /> + <xs:element name="specializationID" type="xs:anyURI" minOccurs="0" /> + <xs:element name="childResourceType" minOccurs="1" maxOccurs="1"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:resourceType" /> + </xs:simpleType> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> </xs:complexType> <xs:complexType name="childResourceRef"> <xs:simpleContent> <xs:extension base="xs:anyURI"> - <xs:attribute name="name" type="xs:NCName" use="required" /> + <xs:attribute name="name" type="m2m:resourceName" use="required" /> <xs:attribute name="type" type="m2m:resourceType" use="required" /> <xs:attribute name="specializationID" type="xs:anyURI" use="optional" /> </xs:extension> @@ -663,7 +729,7 @@ 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"> + <xs:element name="notificationURI" minOccurs="0"> <xs:simpleType> <xs:restriction> <xs:simpleType> @@ -1023,7 +1089,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="lastModifiedTime" type="m2m:timestamp" /> <xs:element name="labels" type="m2m:labels" minOccurs="0" /> </xs:sequence> - <xs:attribute name="resourceName" type="xs:NCName" use="required" /> + <xs:attribute name="resourceName" type="m2m:resourceName" use="required" /> </xs:complexType> <xs:complexType name="regularResource"> @@ -1168,7 +1234,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="containerDefinition" type="xs:anyURI" /> <xs:element name="ontologyRef" type="xs:anyURI" minOccurs="0" /> </xs:sequence> - <xs:attribute name="resourceName" type="xs:NCName" use="required" /> + <xs:attribute name="resourceName" type="m2m:resourceName" use="required" /> </xs:complexType> <xs:complexType name="announcedFlexContainerResource"> @@ -1187,7 +1253,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="containerDefinition" type="xs:anyURI" /> <xs:element name="ontologyRef" type="xs:anyURI" minOccurs="0" /> </xs:sequence> - <xs:attribute name="resourceName" type="xs:NCName" use="required" /> + <xs:attribute name="resourceName" type="m2m:resourceName" use="required" /> </xs:complexType> <!-- The following Global Elements define substitution groups --> diff --git a/CDT-enumerationTypes.xsd b/CDT-enumerationTypes.xsd index 29a29b5..a770c38 100644 --- a/CDT-enumerationTypes.xsd +++ b/CDT-enumerationTypes.xsd @@ -333,7 +333,9 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="5210" /> <!-- ESPRIM_ENCRYPTION_ERROR --> <xs:enumeration value="5211" /> - <!-- EXTERNAL_OBJECT_NOT_REACHABLE --> + <!-- ESPRIM_ENCRYPTION_ERROR --> + <xs:enumeration value="5212" /> + <!-- SPARQL_UPDATE_ERROR --> <xs:enumeration value="6003" /> <!-- EXTERNAL_OBJECT_NOT_FOUND --> <xs:enumeration value="6005" /> @@ -569,6 +571,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:documentation></xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> + <!-- STATUS_SUCCESS --> + <xs:enumeration value="0" /> <!-- STATUS_REQUEST_UNSUPPORTED --> <xs:enumeration value="1" /> <!-- STATUS_REQUEST DENIED --> @@ -625,6 +629,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:enumeration value="29" /> <!-- STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_VERSION_EXISTS --> <xs:enumeration value="30" /> + <!-- STATUS_NOT_FINISHED --> + <xs:enumeration value="31" /> </xs:restriction> </xs:simpleType> diff --git a/CDT-genericInterworkingService.xsd b/CDT-genericInterworkingService.xsd index 2a1335d..ccc02ba 100644 --- a/CDT-genericInterworkingService.xsd +++ b/CDT-genericInterworkingService.xsd @@ -39,8 +39,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:sequence> <!-- Resource Specific Attributes --> <xs:element name="serviceName" type="xs:string" /> - <xs:element name="inputDataPointLinks" type="m2m:ID" minOccurs="0" /> - <xs:element name="outputDataPointLinks" type="m2m:poaList" minOccurs="0" /> + <xs:element name="inputDataPointLinks" type="m2m:listOfDataLinks" minOccurs="0" /> + <xs:element name="outputDataPointLinks" type="m2m:listOfDataLinks" minOccurs="0" /> <!-- Child Resources --> <xs:choice minOccurs="0" maxOccurs="1"> @@ -65,7 +65,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:extension base="m2m:announcedFlexContainerResource"> <xs:sequence> <!-- Resource Specific Attributes --> - <xs:element name="serviceName" type="xs:string" minOccurs="0" /> + <xs:element name="serviceName" type="xs:string" /> <xs:element name="inputDataPointLinks" type="m2m:listOfDataLinks" minOccurs="0" /> <xs:element name="outputDataPointLinks" type="m2m:listOfDataLinks" minOccurs="0" /> diff --git a/CDT-group.xsd b/CDT-group.xsd index 953defc..ae1e264 100644 --- a/CDT-group.xsd +++ b/CDT-group.xsd @@ -45,7 +45,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <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" /> + <xs:element name="memberTypeValidated" type="xs:boolean" minOccurs="0"/> <xs:element name="consistencyStrategy" type="m2m:consistencyStrategy" minOccurs="0" /> <xs:element name="groupName" type="xs:string" minOccurs="0" /> diff --git a/CDT-requestPrimitive.xsd b/CDT-requestPrimitive.xsd index 30671ec..157df66 100644 --- a/CDT-requestPrimitive.xsd +++ b/CDT-requestPrimitive.xsd @@ -28,81 +28,99 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR xmlns:m2m="http://www.onem2m.org/xml/protocols" elementFormDefault="unqualified" attributeFormDefault="unqualified" > - <xs:include schemaLocation="CDT-commonTypes.xsd" /> - - <xs:element name="requestPrimitive" > - <xs:complexType> - <xs:sequence> - <!-- parameter "Operation" --> - <xs:element name="operation" type="m2m:operation" minOccurs="1"/> - <!-- parameter "To" --> - <xs:element name="to" type="xs:anyURI" minOccurs="1"/> - <!-- parameter "From" --> - <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 "Content" --> - <xs:element name="primitiveContent" type="m2m:primitiveContent" minOccurs="0"/> - <!-- parameter "Role IDs" --> - <xs:element name="roleIDs" minOccurs="0"> - <xs:simpleType> - <xs:restriction> - <xs:simpleType> - <xs:list itemType="m2m:roleID" /> - </xs:simpleType> - <xs:minLength value="1" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - - <!-- parameter "Originating Timestamp" --> - <xs:element name="originatingTimestamp" type="m2m:timestamp" minOccurs="0"/> - <!-- parameter "Request Expiration Timestamp" --> - <xs:element name="requestExpirationTimestamp" type="m2m:absRelTimestamp" minOccurs="0"/> - <!-- parameter "Result Expiration Timestamp" --> - <xs:element name="resultExpirationTimestamp" type="m2m:absRelTimestamp" minOccurs="0"/> - <!-- parameter "Operation Execution Time" --> - <xs:element name="operationExecutionTime" type="m2m:absRelTimestamp" minOccurs="0"/> - <!-- parameter "Response Type" --> - <xs:element name="responseType" type="m2m:responseTypeInfo" minOccurs="0"/> - <!-- parameter "Result Persistence" --> - <xs:element name="resultPersistence" type="m2m:absRelTimestamp" minOccurs="0"/> - <!-- parameter "Result Content" --> - <xs:element name="resultContent" type="m2m:resultContent" minOccurs="0"/> - <!-- parameter "Event Category" --> - <xs:element name="eventCategory" type="m2m:eventCat" minOccurs="0"/> - <!-- parameter "Delivery Aggregation" --> - <xs:element name="deliveryAggregation" type="xs:boolean" minOccurs="0"/> - <!-- parameter "Group Request Identifier" --> - <xs:element name="groupRequestIdentifier" type="xs:string" minOccurs="0"/> - <!-- parameter "Filter Criteria" --> - <xs:element name="filterCriteria" type="m2m:filterCriteria" minOccurs="0"/> - <!-- parameter "Discovery Result Type" --> - <xs:element name="discoveryResultType" type="m2m:discResType" minOccurs="0"/> - <!-- parameter "Tokens" --> - <xs:element name="tokens" type="m2m:dynAuthJWT" minOccurs="0"/> - <!-- parameter "Token IDs" --> - <xs:element name="tokenIDs" type="m2m:tokenID" minOccurs="0"/> - <!-- parameter "Local Token IDs" --> - <xs:element name="localTokenIDs" minOccurs="0"> - <xs:simpleType> - <xs:restriction> - <xs:simpleType> - <xs:list itemType="xs:NCName" /> - </xs:simpleType> - <xs:minLength value="1" /> - </xs:restriction> - </xs:simpleType> - </xs:element> - <!-- parameter "Token Request Indicator" --> - <xs:element name="tokenReqIndicator" type="xs:boolean" minOccurs="0"/> - </xs:sequence> - </xs:complexType> - </xs:element> + <xs:include schemaLocation="CDT-commonTypes.xsd" /> + + <xs:element name="requestPrimitive" > + <xs:complexType> + <xs:sequence> + <!-- parameter "Operation" --> + <xs:element name="operation" type="m2m:operation" minOccurs="1"/> + <!-- parameter "To" --> + <xs:element name="to" type="xs:anyURI" minOccurs="1"/> + <!-- parameter "From" --> + <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 "Content" --> + <xs:element name="primitiveContent" type="m2m:primitiveContent" minOccurs="0"/> + <!-- parameter "Role IDs" --> + <xs:element name="roleIDs" minOccurs="0"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:roleID" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + + <!-- parameter "Originating Timestamp" --> + <xs:element name="originatingTimestamp" type="m2m:timestamp" minOccurs="0"/> + <!-- parameter "Request Expiration Timestamp" --> + <xs:element name="requestExpirationTimestamp" type="m2m:absRelTimestamp" minOccurs="0"/> + <!-- parameter "Result Expiration Timestamp" --> + <xs:element name="resultExpirationTimestamp" type="m2m:absRelTimestamp" minOccurs="0"/> + <!-- parameter "Operation Execution Time" --> + <xs:element name="operationExecutionTime" type="m2m:absRelTimestamp" minOccurs="0"/> + <!-- parameter "Response Type" --> + <xs:element name="responseType" type="m2m:responseTypeInfo" minOccurs="0"/> + <!-- parameter "Result Persistence" --> + <xs:element name="resultPersistence" type="m2m:absRelTimestamp" minOccurs="0"/> + <!-- parameter "Result Content" --> + <xs:element name="resultContent" type="m2m:resultContent" minOccurs="0"/> + <!-- parameter "Event Category" --> + <xs:element name="eventCategory" type="m2m:eventCat" minOccurs="0"/> + <!-- parameter "Delivery Aggregation" --> + <xs:element name="deliveryAggregation" type="xs:boolean" minOccurs="0"/> + <!-- parameter "Group Request Identifier" --> + <xs:element name="groupRequestIdentifier" type="xs:string" minOccurs="0"/> + <!-- parameter "Filter Criteria" --> + <xs:element name="filterCriteria" type="m2m:filterCriteria" minOccurs="0"/> + <!-- parameter "Discovery Result Type" --> + <xs:element name="discoveryResultType" type="m2m:discResType" minOccurs="0"/> + <!-- parameter "Tokens" --> + <xs:element name="tokens" minOccurs="0"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:dynAuthJWT" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <!-- parameter "Token IDs" --> + <xs:element name="tokenIDs" minOccurs="0"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:tokenID" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <!-- parameter "Local Token IDs" --> + <xs:element name="localTokenIDs" minOccurs="0"> + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="xs:NCName" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> + <!-- parameter "Token Request Indicator" --> + <xs:element name="tokenRequestIndicator" type="xs:boolean" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> - <xs:element name="attributeList" type="m2m:attributeList" /> + <xs:element name="attributeList" type="m2m:attributeList" /> </xs:schema> diff --git a/CDT-responsePrimitive.xsd b/CDT-responsePrimitive.xsd index d80afbb..aca28c3 100644 --- a/CDT-responsePrimitive.xsd +++ b/CDT-responsePrimitive.xsd @@ -106,7 +106,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <!-- parameter "Assigned Token Identifiers --> <xs:element name="assignedTokenIdentifiers" type="m2m:dynAuthLocalTokenIdAssignments" minOccurs="0" /> <!-- parameter "Token Request Information --> - <xs:element name="tokenReqInfo" type="m2m:dynAuthTokenReqInfo" minOccurs="0" /> + <xs:element name="tokenRequestInformation" type="m2m:dynAuthTokenReqInfo" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> diff --git a/CDT-serviceSubscribedAppRule.xsd b/CDT-serviceSubscribedAppRule.xsd index 90ffe62..3b4f67e 100644 --- a/CDT-serviceSubscribedAppRule.xsd +++ b/CDT-serviceSubscribedAppRule.xsd @@ -39,6 +39,16 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="applicableCredIDs" type="m2m:listOfM2MID" minOccurs="0" /> <xs:element name="allowedApp-IDs" type="m2m:listOfM2MID" minOccurs="0" /> <xs:element name="allowedAEs" type="m2m:listOfM2MID" minOccurs="0" /> + <xs:element name="allowedRole-IDs" minOccurs="0" > + <xs:simpleType> + <xs:restriction> + <xs:simpleType> + <xs:list itemType="m2m:roleID" /> + </xs:simpleType> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + </xs:element> <!-- Child Resources --> <xs:choice minOccurs="0" maxOccurs="1"> diff --git a/CDT-subscription.xsd b/CDT-subscription.xsd index cc040a8..184cc7f 100644 --- a/CDT-subscription.xsd +++ b/CDT-subscription.xsd @@ -82,7 +82,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR <xs:element name="sizeAbove" type="xs:nonNegativeInteger" minOccurs="0" /> <xs:element name="sizeBelow" type="xs:positiveInteger" minOccurs="0" /> <xs:element name="operationMonitor" type="m2m:operation" minOccurs="0" maxOccurs="5" /> - <xs:element name="attribute" type="m2m:attribute" minOccurs="0" maxOccurs="unbounded" /> + <xs:element name="attribute" type="m2m:attributeList" minOccurs="0" maxOccurs="1" /> <xs:element name="notificationEventType" type="m2m:notificationEventType" minOccurs="0" maxOccurs="5" /> <xs:element name="missingData" type="m2m:missingData" minOccurs="0" /> </xs:sequence> -- GitLab