diff --git a/CDT-accessControlPolicy-v0_8_0.xsd b/CDT-accessControlPolicy-v0_8_0.xsd index face080c53f4dd68b89e30e0ee099996c1f76d8f..3f36c7222bc2671a1746fe0fcdc5fd37f0be556b 100644 --- a/CDT-accessControlPolicy-v0_8_0.xsd +++ b/CDT-accessControlPolicy-v0_8_0.xsd @@ -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 -->