Skip to content
Snippets Groups Projects
Commit ebcd42e9 authored by Peter Niblett's avatar Peter Niblett
Browse files

modifications to accessControlRule types

parent d946a246
No related branches found
No related tags found
No related merge requests found
......@@ -85,104 +85,88 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
</xs:sequence>
</xs:complexType>
<xs:complexType name="accessControlRule">
<xs:sequence>
<xs:element name="accessControlOriginators" type="m2m:listOfURIs"/>
<xs:element name="accessControlOriginators" type="m2m:listOfURIs" />
<!-- accessControlOperations defined as enumerated list 1 ... 63 -->
<xs:element name="accessControlOperations" type="m2m:accessControlOperations" />
<!-- accessControlOperations defined as enumerated list 1 ... 63 -->
<xs:element name="accessControlOperations" type="m2m:accessControlOperations"/>
<!-- TODO: mismatch between TS-0004 and TS-0003:
TS-0003 defines that "accessControlContexts" is comprised of multiple "context sets", where
each such context set is comprised of 3 parts (setOfTimeWindows, setOfIPAddresses, setOflocationRegions)
Two options to resolve this mismatch:
1) allow "accessControlContexts" element multiplicity 0 .. n in Table 6.3.4.27-1 of TS-0004
2) define "accessControlContexts" as of type "m2m:context" which has multiplicity 1 .. n
Below option 1) is implemented: -->
<!-- TODO: mismatch with TS-0004 where "accessControlContexts" has multiplicity 0..1 -->
<xs:element name="accessControlContexts" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<!-- TODO: mismatch with TS-0003:
element is called "accessControlTimeWindow" in TS-0001 and and TS-0004,
but "accessControlTimeWindows" in TS-0003 -->
<!-- TODO: mismatch with TS-0003 where element is called "accessControlTimeWindows" -->
<!-- TODO: mismatch with TS-0001 where element is called "accessControlTimeWindow" -->
<xs:element name="accessControlWindow" type="m2m:scheduleEntry" minOccurs="0" maxOccurs="unbounded" />
<!-- TODO: mismatch with TS-0001: element is called accessControlIpAddress in TS-0001
It is also called "accessControlIpAddresses" in TS-0003 -->
<!-- TODO: mismatch with TS-0001: element is called accessControlIpAddress in TS-0001" in TS-0003 -->
<xs:element name="accessControlIpAddresses" minOccurs="0">
<xs:complexType>
<xs:sequence>
<!-- TODO: it should be possible to include both IPv6 and IPv4 address.
Present text in TS-0004 is ambiguous. Not clear if "or" in TS-0001 is inclusive or exclusive
Below it is interpreted as inclusive. -->
<xs:element name="listOfIPv4" type="m2m:listOfIPv4" minOccurs="0" maxOccurs="1"/>
<xs:element name="listOfIPv6" type="m2m:listOfIPv6" minOccurs="0" maxOccurs="1"/>
<!-- TODO: it should be possible to include both IPv6 and IPv4 address. Present text in TS-0004 is ambiguous. Not
clear if "or" in TS-0001 is inclusive or exclusive. Below it is interpreted as inclusive. -->
<!-- TODO: the element names ipv4Addresses and ipv6Addresses are not explicitly mentioned in TS-0004 -->
<xs:element name="ipv4Addresses" minOccurs="0" maxOccurs="1">
<!-- space separated list of IPv4 addresses -->
<xs:simpleType>
<xs:list itemType="m2m:ipv4" />
</xs:simpleType>
</xs:element>
<xs:element name="ipv6Addresses" minOccurs="0" maxOccurs="1">
<!-- space separated list of IPv6 addresses -->
<xs:simpleType>
<xs:list itemType="m2m:ipv6" />
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- TODO: mismatch with TS-0001: element is called accessControlLocationRegion in TS-0001
It is also called "accessControlLocationRegions" in TS-0003 and TS-0004-->
<xs:element name="accessControlLocationRegions" type="m2m:locationRegion" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<!-- TODO: mismatch with TS-0003 and TS-0004 where element is called accessControlLocationRegions" -->
<!-- TODO: mismatch with TS-0004 where element has multiplicity [0..n] -->
<xs:element name="accessControlLocationRegion" type="m2m:locationRegion" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="locationRegion" >
<xs:complexType name="locationRegion">
<xs:choice>
<xs:element name="countryCode" type="m2m:listofCCs"/>
<xs:sequence>
<xs:element name="circRegion" minOccurs="0">
<!-- "circularRegion" is an ordered list of following three parameters of data type float ´
1) longitude in the range +/-180 degrees
2) latitude in the range +/-90 degrees,
3) radius in meters -->
<xs:simpleType>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="xs:float"/>
</xs:simpleType>
<xs:minLength value="3"/>
<xs:maxLength value="3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:element name="countryCode">
<!-- Space separated list of 2-digit country codes -->
<xs:simpleType>
<xs:list itemType="m2m:countryCode" />
</xs:simpleType>
</xs:element>
<xs:element name="circRegion">
<!-- "circularRegion" is an ordered list of following three parameters of data type float ´ 1) longitude in the range
+/-180 degrees 2) latitude in the range +/-90 degrees, 3) radius in meters -->
<xs:simpleType>
<xs:restriction>
<xs:simpleType>
<xs:list itemType="xs:float" />
</xs:simpleType>
<xs:minLength value="3" />
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
<!-- "listOfIPv4" is a space separated list of IPv4 addresses -->
<xs:simpleType name="listOfIPv4">
<xs:list itemType="m2m:ipv4"/>
</xs:simpleType>
<!-- "listOfIPv6" is a space separated list of IPv6 addresses -->
<xs:simpleType name="listOfIPv6">
<xs:list itemType="m2m:ipv6"/>
</xs:simpleType>
<!-- countryCode as defined in TS-0004 -->
<xs:simpleType name="countryCode">
<xs:annotation>
<xs:documentation>2-character country code as defined by ISO-3166</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{2}"/>
<xs:pattern value="[A-Z]{2}" />
</xs:restriction>
</xs:simpleType>
<!-- "listOfCCs" is a space separated list of 2-digit country codes-->
<xs:simpleType name="listofCCs">
<xs:list itemType="m2m:countryCode"/>
</xs:simpleType>
<!-- Initial IPv4 and IPv6 address representation types were found here:
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2005OctDec/0138.html, CIDR suffix has been added -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment