From cd33554bb88a2fab4562a7c87d7fb3930869f6a1 Mon Sep 17 00:00:00 2001
From: PeterNiblett <peter_niblett@uk.ibm.com>
Date: Tue, 6 Jan 2015 18:07:46 +0000
Subject: [PATCH] Third set of 0.8 schemas

---
 CDT-delivery-v0_8_0.xsd         | 11 ++--
 CDT-enumerationTypes-v0_8_0.xsd |  9 ++--
 CDT-group-v0_8_0.xsd            | 89 +++++++++++++++++++++++++++++++++
 CDT-pollingChannel-v0_8_0.xsd   | 51 +++++++++++++++++++
 CDT-request-v0_8_0.xsd          | 11 ++--
 CDT-subscription-v0_8_0.xsd     |  8 ++-
 README.md                       | 32 ++++++++++--
 README.md~                      | 66 ++++++++++++++++++++++++
 8 files changed, 252 insertions(+), 25 deletions(-)
 create mode 100644 CDT-group-v0_8_0.xsd
 create mode 100644 CDT-pollingChannel-v0_8_0.xsd
 create mode 100644 README.md~

diff --git a/CDT-delivery-v0_8_0.xsd b/CDT-delivery-v0_8_0.xsd
index 666a109..da8a298 100644
--- a/CDT-delivery-v0_8_0.xsd
+++ b/CDT-delivery-v0_8_0.xsd
@@ -38,6 +38,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 				<xs:extension base="m2m:regularResource">
 					<xs:sequence>
 						<!-- Resource Specific Attributes -->
+						<xs:element name="stateTag" type="xs:nonNegativeInteger" />
 						<!-- TODO: The type of source and target should match that of CSE-ID (i.e.they should have type m2m:ID) -->
 						<xs:element name="source" type="xs:anyURI" />
 						<xs:element name="target" type="xs:anyURI" />
@@ -47,12 +48,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="aggregatedRequest" type="m2m:aggregatedRequest" />
 
 						<!-- Child Resources -->
-						<xs:choice minOccurs="0" maxOccurs="1">
-							<xs:element name="childResource" type="m2m:childResourceRef" minOccurs="1" maxOccurs="unbounded" />
-							<xs:choice minOccurs="1" maxOccurs="unbounded">
-								<xs:element ref="m2m:subscription"></xs:element>
-							</xs:choice>
-						</xs:choice>
+                        <xs:choice minOccurs="0" maxOccurs="1">
+                            <xs:element name="childResource" type="m2m:childResourceRef" maxOccurs="unbounded" />
+                            <xs:element ref="m2m:subscription" maxOccurs="unbounded" />
+                        </xs:choice>
 					</xs:sequence>
 				</xs:extension>
 			</xs:complexContent>
diff --git a/CDT-enumerationTypes-v0_8_0.xsd b/CDT-enumerationTypes-v0_8_0.xsd
index 6c9c9ee..0c76e5d 100644
--- a/CDT-enumerationTypes-v0_8_0.xsd
+++ b/CDT-enumerationTypes-v0_8_0.xsd
@@ -267,7 +267,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 	<!-- TODO: Does this need to be different from m2m:resourceType? Can we remove it? (needs CR) -->
 	<xs:simpleType name="memberType">
 		<xs:annotation>
-			<xs:documentation>Used for memberType attribute in &lt;member&gt; resource.</xs:documentation>
+			<xs:documentation>Used for memberType attribute in &lt;group&gt; resource.</xs:documentation>
 		</xs:annotation>
 		<xs:restriction base="xs:integer">
 			<!-- accessControlPolicy -->
@@ -326,11 +326,12 @@ 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">
-			<!-- abandon member -->
+			<!-- ABANDON_MEMBER -->
 			<xs:enumeration value="1" />
-			<!-- abandon group -->
+			<!-- ABANDON_GROUP -->
 			<xs:enumeration value="2" />
-			<!-- modify type -->
+			<!-- TODO: this is called MODIFY_TYPE in TS-0004, but SET_MIXED in TS-0001-->
+			<!-- MODIFY_TYPE -->
 			<xs:enumeration value="3" />
 		</xs:restriction>
 	</xs:simpleType>
diff --git a/CDT-group-v0_8_0.xsd b/CDT-group-v0_8_0.xsd
new file mode 100644
index 0000000..5618c6d
--- /dev/null
+++ b/CDT-group-v0_8_0.xsd
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+Copyright Notification
+
+The oneM2M Partners authorize you to copy this document, provided that you retain all copyright and other proprietary notices 
+contained in the original materials on any copies of the materials and that you comply strictly with these terms. 
+This copyright permission does not constitute an endorsement of the products or services, nor does it encompass the granting of 
+any patent rights. The oneM2M Partners assume no responsibility for errors or omissions in this document. 
+© 2014, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC). All rights reserved.
+
+Notice of Disclaimer & Limitation of Liability 
+
+The information provided in this document is directed solely to professionals who have the appropriate degree of experience to understand 
+and interpret its contents in accordance with generally accepted engineering or other professional standards and applicable regulations. 
+No recommendation as to products or vendors is made or should be implied. 
+
+NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS TECHNICALLY ACCURATE OR SUFFICIENT OR CONFORMS TO ANY STATUTE, 
+GOVERNMENTAL RULE OR REGULATION, AND FURTHER, NO REPRESENTATION OR WARRANTY IS MADE OF MERCHANTABILITY OR FITNESS FOR ANY 
+PARTICULAR PURPOSE OR AGAINST INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS. 
+NO oneM2M PARTNER TYPE 1 SHALL BE LIABLE, BEYOND THE AMOUNT OF ANY SUM RECEIVED IN PAYMENT BY THAT PARTNER FOR THIS DOCUMENT, WITH RESPECT TO 
+ANY CLAIM, AND IN NO EVENT SHALL oneM2M BE LIABLE FOR LOST PROFITS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES. 
+oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN THIS DOCUMENT IS AT THE RISK OF THE USER.
+
+-->
+
+<xs:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.onem2m.org/xml/protocols"
+	xmlns:m2m="http://www.onem2m.org/xml/protocols" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+	<xs:include schemaLocation="CDT-commonTypes-v0_8_0.xsd" />
+	<xs:include schemaLocation="CDT-subscription-v0_8_0.xsd" />
+
+	<xs:element name="group">
+		<xs:complexType>
+			<xs:complexContent>
+				<!-- Inherit common attributes for announceable Resources -->
+				<xs:extension base="m2m:announceableResource">
+					<!-- Resource Specific Attributes -->
+					<xs:sequence>
+						<xs:element name="memberType" type="m2m:memberType" />
+						<xs:element name="currentNrOfMembers" type="xs:nonNegativeInteger" />
+						<xs:element name="maxNrOfMembers" type="xs:nonNegativeInteger" />
+						<xs:element name="membersList" type="m2m:listOfURIs" />
+						<xs:element name="membersAccessControlPolicyIDs" type="m2m:listOfURIs" minOccurs="0" />
+						<xs:element name="memberTypeValidated" type="xs:boolean" />
+						<xs:element name="consistencyStrategy" type="m2m:consistencyStrategy" minOccurs="0" />
+						<xs:element name="groupName" type="xs:string" minOccurs="0" />
+						<!-- TODO: update TS-0004 to change the name from Creator to creator. Also it's at the start of the list in TS-0001 -->
+						<xs:element name="creator" type="xs:anyURI" minOccurs="0" />
+
+						<!-- Child Resources -->
+						<!-- TODO: should this be fanOutURI? -->
+						<xs:element name="fanOut" type="xs:anyURI" />
+
+						<xs:choice minOccurs="0" maxOccurs="1">
+							<xs:element name="childResource" type="m2m:childResourceRef" maxOccurs="unbounded" />
+							<xs:element ref="m2m:subscription" maxOccurs="unbounded" />
+						</xs:choice>
+					</xs:sequence>
+				</xs:extension>
+			</xs:complexContent>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:element name="groupAnnc">
+		<xs:complexType>
+			<xs:complexContent>
+				<!-- Inherit common attributes for announced Resources -->
+				<xs:extension base="m2m:announcedResource">
+					<!-- Resource Specific Attributes -->
+					<xs:sequence>
+						<xs:element name="memberType" type="m2m:memberType" minOccurs="0" />
+						<xs:element name="currentNrOfMembers" type="xs:nonNegativeInteger" minOccurs="0" />
+						<xs:element name="maxNrOfMembers" type="xs:nonNegativeInteger" minOccurs="0" />
+						<xs:element name="membersList" type="m2m:listOfURIs" minOccurs="0" />
+						<xs:element name="membersAccessControlPolicyIDs" type="m2m:listOfURIs" minOccurs="0" />
+						<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" />
+						<!-- TODO: update TS-0004 to change the name from Creator to creator. Also it's at the start of the list in TS-0001 -->
+						<xs:element name="creator" type="xs:anyURI" minOccurs="0" />
+
+						<!-- No Child Resources -->
+					</xs:sequence>
+				</xs:extension>
+			</xs:complexContent>
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
diff --git a/CDT-pollingChannel-v0_8_0.xsd b/CDT-pollingChannel-v0_8_0.xsd
new file mode 100644
index 0000000..030da4b
--- /dev/null
+++ b/CDT-pollingChannel-v0_8_0.xsd
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+Copyright Notification
+
+The oneM2M Partners authorize you to copy this document, provided that you retain all copyright and other proprietary notices 
+contained in the original materials on any copies of the materials and that you comply strictly with these terms. 
+This copyright permission does not constitute an endorsement of the products or services, nor does it encompass the granting of 
+any patent rights. The oneM2M Partners assume no responsibility for errors or omissions in this document. 
+© 2014, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC). All rights reserved.
+
+Notice of Disclaimer & Limitation of Liability 
+
+The information provided in this document is directed solely to professionals who have the appropriate degree of experience to understand 
+and interpret its contents in accordance with generally accepted engineering or other professional standards and applicable regulations. 
+No recommendation as to products or vendors is made or should be implied. 
+
+NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS TECHNICALLY ACCURATE OR SUFFICIENT OR CONFORMS TO ANY STATUTE, 
+GOVERNMENTAL RULE OR REGULATION, AND FURTHER, NO REPRESENTATION OR WARRANTY IS MADE OF MERCHANTABILITY OR FITNESS FOR ANY 
+PARTICULAR PURPOSE OR AGAINST INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS. 
+NO oneM2M PARTNER TYPE 1 SHALL BE LIABLE, BEYOND THE AMOUNT OF ANY SUM RECEIVED IN PAYMENT BY THAT PARTNER FOR THIS DOCUMENT, WITH RESPECT TO 
+ANY CLAIM, AND IN NO EVENT SHALL oneM2M BE LIABLE FOR LOST PROFITS OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES. 
+oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN THIS DOCUMENT IS AT THE RISK OF THE USER.
+
+-->
+
+<xs:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.onem2m.org/xml/protocols"
+	xmlns:m2m="http://www.onem2m.org/xml/protocols" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+	<xs:include schemaLocation="CDT-commonTypes-v0_8_0.xsd" />
+	<xs:include schemaLocation="CDT-subscription-v0_8_0.xsd" />
+
+	<xs:element name="pollingChannel">
+		<xs:complexType>
+			<xs:complexContent>
+				<!-- Inherit common attributes -->
+				<xs:extension base="m2m:regularResource">
+					<xs:sequence>
+						<!-- Resource Specific Attributes -->
+						<!-- TODO: Not clear if there is supposed to be a creator attribute or not -->
+						<xs:element name="creator" type="m2m:ID" minOccurs="0" />
+						
+						<!-- Child Resources -->
+						<!-- TODO: decide if this is how we want to represent virtual resources or not -->
+						<xs:element name="pollingChannelURI" type="xs:anyURI" />
+					</xs:sequence>
+				</xs:extension>
+			</xs:complexContent>
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
diff --git a/CDT-request-v0_8_0.xsd b/CDT-request-v0_8_0.xsd
index 570f184..41d65e7 100644
--- a/CDT-request-v0_8_0.xsd
+++ b/CDT-request-v0_8_0.xsd
@@ -37,6 +37,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 				<xs:extension base="m2m:regularResource">
 					<xs:sequence>
 						<!-- Resource Specific Attributes -->
+						<xs:element name="stateTag" type="xs:nonNegativeInteger" />
 						<xs:element name="operation" type="m2m:operation" />
 						<xs:element name="target" type="xs:anyURI" />
 						<xs:element name="originator" type="xs:anyURI" />
@@ -47,12 +48,10 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 						<xs:element name="operationResult" type="m2m:operationResult" />
 
 						<!-- Child Resources -->
-						<xs:choice minOccurs="0" maxOccurs="1">
-							<xs:element name="childResource" type="m2m:childResourceRef" minOccurs="1" maxOccurs="unbounded" />
-							<xs:choice minOccurs="1" maxOccurs="unbounded">
-								<xs:element ref="m2m:subscription"></xs:element>
-							</xs:choice>
-						</xs:choice>
+                        <xs:choice minOccurs="0" maxOccurs="1">
+                            <xs:element name="childResource" type="m2m:childResourceRef" maxOccurs="unbounded" />
+                            <xs:element ref="m2m:subscription" maxOccurs="unbounded" />
+                        </xs:choice>
 					</xs:sequence>
 				</xs:extension>
 			</xs:complexContent>
diff --git a/CDT-subscription-v0_8_0.xsd b/CDT-subscription-v0_8_0.xsd
index 8a9acf8..7c3f9d7 100644
--- a/CDT-subscription-v0_8_0.xsd
+++ b/CDT-subscription-v0_8_0.xsd
@@ -55,10 +55,8 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 
 						<!-- Child Resources -->
 						<xs:choice minOccurs="0" maxOccurs="1">
-							<xs:element name="childResource" type="m2m:childResourceRef" minOccurs="1" maxOccurs="unbounded" />
-							<xs:choice minOccurs="1" maxOccurs="unbounded">
-								<xs:element ref="m2m:schedule"></xs:element>
-							</xs:choice>
+							<xs:element name="childResource" type="m2m:childResourceRef" />
+							<xs:element ref="m2m:schedule"></xs:element>
 						</xs:choice>
 					</xs:sequence>
 				</xs:extension>
@@ -66,7 +64,7 @@ oneM2M EXPRESSLY ADVISES ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PR
 		</xs:complexType>
 	</xs:element>
 
-   <!--  If this used by anything other than <subscription> it might be better placed in the CommonTypes XSD file -->
+	<!-- TODO: If this used by anything other than <subscription> it might be better placed in the CommonTypes XSD file -->
 	<xs:complexType name="eventNotificationCriteria">
 		<xs:sequence>
 			<xs:element name="createdBefore" type="xs:dateTime" minOccurs="0" />
diff --git a/README.md b/README.md
index e846fc7..d30fb30 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,9 @@ The default branch will initially contain a "0.80" version of the  files, mathch
 Further work / questions on the schemas is listed here. Many of these need CRs against TS-0004
 
 General
-    Look at the way that IDs are represented in the schemas
+ 
+    How should virtual resources be represented? According to TS-0001 they are Child Resources, but they have a well-defined name which makes them look a bit like attributes that have a URI type. Presumably we are supposed to return these URIs if rc includes "child-resource-references" but not if it asks for just "attributes" or for "child-resources". So one interpretation is that we don't show them in the schemas at all, and they are just returned via the childResourceRef mechanism (this would mean we would need to add values for the virtual resources to the resourceType enumeration). The alternative is to represent them as explicit named elements in the schema (like we do for attributes) and return their values that way (when rc permits this). 
+    There are a few places where attributes are defined as xs:string. If these are human readable - e.g. groupName - that's fine (though it raises a question of whether they should carry the xml:lang attribute). In some cases - e.g. contentType or locationStatus - it seems that the value is meant to be machine readable, but we don't enumerate (or even define) the allowable values for them.
 
 \<accessControlPolicy\>
 
@@ -16,15 +18,26 @@ General
     Should some or all of theses types go into CDT-CommonTypes or CDT-Enumerations?
     Since accessControlOperation is an enumerated integer type, we could represent accessControlOperationList as a   list of simple types. This would be shorter than having it as a complex type.
     Look at definition of accessControlOriginators
+    Do something with the 2 character country codes.
 
 \<container\>
 
     What values go in latest and oldest if there are no child resources?
     Should <containerAnnc> be allowed to have <contentInstanceAnnc> as a child resource?
     
+\<CSEBase\>
+
+    m2m:resourceTypeList can be removed, since this type can be declared inline
+
+\<group\>
+
+    The order in which the attributes appear is different between TS-0001 and TS-0004 (also TS-0004 should say creator not Creator) 
+    Should the element for the virtual resource be called fanOut or fanOutURI?
+
+
 \<subscription\>  
 
-    Should the eventNotificationCriteria type be moved in to Common Types? (i.e. is it used anywhere else?
+    Should the eventNotificationCriteria type be moved in to Common Types? (i.e. is it used anywhere else)?
     
 CDT-enumerationTypes
 
@@ -32,11 +45,22 @@ CDT-enumerationTypes
       resultContent, statusCode, requestStatus, attribute, notificationCongestionPolicy
     Does m2m:memberType need to be different from m2m:resourceType? Can we remove it?
     Sort out the two m2m:operation types
-    Better name for listOfBoolean (it isn't a list)
+    Should have a better name for listOfBoolean (it isn't a list)
+    The third value of m2m:consistencyStrategy is called MODIFY_TYPE in TS-0004, but SET_MIXED in TS-0001
     
 CDT-commonTypes
 
-    General revision and checking required (defer this until after the other XSD files are complete)
+    There are two different types to represent a list of URIs.  One is a simple type (using XSD list) the other one is a complex type, containing a separate child element for each URI. 
+    We should look at the way that IDs are represented in the schemas. At present most of them are just xs:anyURI. Is that sufficient?
+    There is some confusion as to whether the type is m2m:id or m2m:ID (and whether the other xxxid types should be xxxID or not).
+    TS-0004 now seems to have three different kinds of timestamp.  There's m2m:timestamp, xs:dateTime and xs:dateTimeStamp
+    It is not easy to see how to represent the changes made by PRO-2014-0562-Implementation_of_Filter_Criteria_as_concept
+    Consider moving the m2m:filterUsage enumeration type into CDT-enumerationTypes
+    The order of elements in m2m:operationResult looks a bit strange
+    It's not clear what the cardinality of m2m:responseStatus/description should be
+
+
+    More general revision and checking of CDT-commonTypes is required (defer this until after the other XSD files are complete)
     
     
 
diff --git a/README.md~ b/README.md~
new file mode 100644
index 0000000..8d63c8b
--- /dev/null
+++ b/README.md~
@@ -0,0 +1,66 @@
+oneM2M-schemas
+==============
+
+This is a private repository for developing oneM2M xsd files
+
+The default branch will initially contain a "0.80" version of the  files, mathching the 0.8 version of TS-0004
+
+Further work / questions on the schemas is listed here. Many of these need CRs against TS-0004
+
+General
+ 
+    How should virtual resources be represented? According to TS-0001 they are Child Resources, but they have a well-defined name which makes them look a bit like attributes that have a URI type. Presumably we are supposed to return these URIs if rc includes "child-resource-references" but not if it asks for just "attributes" or for "child-resources". So one interpretation is that we don't show them in the schemas at all, and they are just returned via the childResourceRef mechanism (this would mean we would need to add values for the virtual resources to the resourceType enumeration). The alternative is to represent them as explicit named elements in the schema (like we do for attributes) and return their values that way (when rc permits this). 
+    There are a few places where attributes are defined as xs:string. If these are human readable - e.g. groupName - that's fine (though it raises a question of whether they should carry the xml:lang attribute). In some cases - e.g. contentType - it seems that the value is meant to be machine readable, but we don't enumerate (or even define) the allowable values for them.
+
+\<accessControlPolicy\>
+
+    Do we need to give explicit names to all the types currently defined in the file?  
+    Should some or all of theses types go into CDT-CommonTypes or CDT-Enumerations?
+    Since accessControlOperation is an enumerated integer type, we could represent accessControlOperationList as a   list of simple types. This would be shorter than having it as a complex type.
+    Look at definition of accessControlOriginators
+    Do something with the 2 character country codes.
+
+\<container\>
+
+    What values go in latest and oldest if there are no child resources?
+    Should <containerAnnc> be allowed to have <contentInstanceAnnc> as a child resource?
+    
+\<CSEBase\>
+
+    m2m:resourceTypeList can be removed, since this type can be declared inline
+
+\<group\>
+
+    The order in which the attributes appear is different between TS-0001 and TS-0004 (also TS-0004 should say creator not Creator) 
+
+
+\<subscription\>  
+
+    Should the eventNotificationCriteria type be moved in to Common Types? (i.e. is it used anywhere else)?
+    
+CDT-enumerationTypes
+
+    Add or update definitions of the following types:
+      resultContent, statusCode, requestStatus, attribute, notificationCongestionPolicy
+    Does m2m:memberType need to be different from m2m:resourceType? Can we remove it?
+    Sort out the two m2m:operation types
+    Should have a better name for listOfBoolean (it isn't a list)
+    The third value of m2m:consistencyStrategy is called MODIFY_TYPE in TS-0004, but SET_MIXED in TS-0001
+    
+CDT-commonTypes
+
+    There are two different types to represent a list of URIs.  One is a simple type (using XSD list) the other one is a complex type, containing a separate child element for each URI. 
+    We should look at the way that IDs are represented in the schemas. At present most of them are just xs:anyURI. Is that sufficient?
+    There is some confusion as to whether the type is m2m:id or m2m:ID (and whether the other xxxid types should be xxxID or not).
+    TS-0004 now seems to have three different kinds of timestamp.  There's m2m:timestamp, xs:dateTime and xs:dateTimeStamp
+    It is not easy to see how to represent the changes made by PRO-2014-0562-Implementation_of_Filter_Criteria_as_concept
+    Consider moving the m2m:filterUsage enumeration type into CDT-enumerationTypes
+    The order of elements in m2m:operationResult looks a bit strange
+    It's not clear what the cardinality of m2m:responseStatus/description should be
+
+
+    More general revision and checking of CDT-commonTypes is required (defer this until after the other XSD files are complete)
+    
+    
+
+    
-- 
GitLab