Commit ebcd42e9 authored by Peter Niblett's avatar Peter Niblett

modifications to accessControlRule types

parent d946a246
......@@ -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 -->
......
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