From c574a0f5d5d323a5bf7da6ed681845e71e35c1f6 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Wed, 13 Apr 2016 14:17:17 +0200
Subject: [PATCH] Adaptation to xsd_1_6_0

---
 LibCommon/LibCommon_AbstractData.ttcn        |    0
 LibCommon/LibCommon_BasicTypesAndValues.ttcn |    0
 LibCommon/LibCommon_DataStrings.ttcn         |    0
 LibCommon/LibCommon_Sync.ttcn                |    0
 LibCommon/LibCommon_TextStrings.ttcn         |    0
 LibCommon/LibCommon_Time.ttcn                |    0
 LibCommon/LibCommon_VerdictControl.ttcn      |    0
 OneM2M_Functions.ttcn                        |   32 +-
 OneM2M_Pixits.ttcn                           |    6 +-
 OneM2M_Templates.ttcn                        |  224 +-
 OneM2M_TestControl.ttcn                      |    0
 OneM2M_TestSystem.ttcn                       |    0
 OneM2M_Testcases.ttcn                        |  301 +-
 OneM2M_Types.ttcn                            | 7632 +++++++++---------
 OneM2M_TypesAndValues.ttcn                   |    3 +-
 UsefulTtcn3Types.ttcn                        |  190 +-
 XSD.ttcn                                     |    0
 17 files changed, 4332 insertions(+), 4056 deletions(-)
 mode change 100755 => 100644 LibCommon/LibCommon_AbstractData.ttcn
 mode change 100755 => 100644 LibCommon/LibCommon_BasicTypesAndValues.ttcn
 mode change 100755 => 100644 LibCommon/LibCommon_DataStrings.ttcn
 mode change 100755 => 100644 LibCommon/LibCommon_Sync.ttcn
 mode change 100755 => 100644 LibCommon/LibCommon_TextStrings.ttcn
 mode change 100755 => 100644 LibCommon/LibCommon_Time.ttcn
 mode change 100755 => 100644 LibCommon/LibCommon_VerdictControl.ttcn
 mode change 100755 => 100644 OneM2M_Functions.ttcn
 mode change 100755 => 100644 OneM2M_Pixits.ttcn
 mode change 100755 => 100644 OneM2M_Templates.ttcn
 mode change 100755 => 100644 OneM2M_TestControl.ttcn
 mode change 100755 => 100644 OneM2M_TestSystem.ttcn
 mode change 100755 => 100644 OneM2M_Testcases.ttcn
 mode change 100755 => 100644 OneM2M_Types.ttcn
 mode change 100755 => 100644 OneM2M_TypesAndValues.ttcn
 mode change 100755 => 100644 UsefulTtcn3Types.ttcn
 mode change 100755 => 100644 XSD.ttcn

diff --git a/LibCommon/LibCommon_AbstractData.ttcn b/LibCommon/LibCommon_AbstractData.ttcn
old mode 100755
new mode 100644
diff --git a/LibCommon/LibCommon_BasicTypesAndValues.ttcn b/LibCommon/LibCommon_BasicTypesAndValues.ttcn
old mode 100755
new mode 100644
diff --git a/LibCommon/LibCommon_DataStrings.ttcn b/LibCommon/LibCommon_DataStrings.ttcn
old mode 100755
new mode 100644
diff --git a/LibCommon/LibCommon_Sync.ttcn b/LibCommon/LibCommon_Sync.ttcn
old mode 100755
new mode 100644
diff --git a/LibCommon/LibCommon_TextStrings.ttcn b/LibCommon/LibCommon_TextStrings.ttcn
old mode 100755
new mode 100644
diff --git a/LibCommon/LibCommon_Time.ttcn b/LibCommon/LibCommon_Time.ttcn
old mode 100755
new mode 100644
diff --git a/LibCommon/LibCommon_VerdictControl.ttcn b/LibCommon/LibCommon_VerdictControl.ttcn
old mode 100755
new mode 100644
diff --git a/OneM2M_Functions.ttcn b/OneM2M_Functions.ttcn
old mode 100755
new mode 100644
index 6c1f35c..b8e94d7
--- a/OneM2M_Functions.ttcn
+++ b/OneM2M_Functions.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Functions.ttcn $
- *              $Id: OneM2M_Functions.ttcn 23 2016-03-17 10:02:44Z reinaortega $
+ *              $Id: OneM2M_Functions.ttcn 43 2016-04-13 12:16:12Z reinaortega $
  *  @desc       Module containing functions for oneM2M
  *
  */
@@ -52,7 +52,7 @@ module OneM2M_Functions {
 			var XSD.ID v_acpId;
 		
 		
-			v_acpId := f_createAccessControlPolicyAux("MyAcp", p_allowedOperations);
+			v_acpId := f_createAccessControlPolicyAux(p_allowedOperations);
 			
 			mcaPort.send(m_request(m_createAeAux(p_name, {v_acpId})));
 			tc_ac.start;
@@ -60,8 +60,8 @@ module OneM2M_Functions {
 				[] mcaPort.receive(mw_responseOK) -> value v_response {
 					tc_ac.stop;
 					log("Preamble: Application registered successfuly");
-					if(ischosen(v_response.responsePrimitive_.content.any_1[0].AE)) {
-						vc_ae := v_response.responsePrimitive_.content.any_1[0].AE;
+					if(ischosen(v_response.responsePrimitive_.primitiveContent.any_1[0].AE)) {
+						vc_ae := v_response.responsePrimitive_.primitiveContent.any_1[0].AE;
 					}
 				}
 				[] mcaPort.receive(mw_responseKO) {
@@ -157,19 +157,19 @@ module OneM2M_Functions {
 	
 	group getSetFunctions {
 
-		function f_getCreateRequestPrimitive(in ResourceType p_resourceType, XSD.ID p_aeResourceAddress, in template (omit) XSD.String p_name, in template (omit) AccessControlOperations p_allowedOperations, template RequestPrimitive p_request) runs on M2M return RequestPrimitive {
+		function f_getCreateRequestPrimitive(in ResourceType p_resourceType, XSD.ID p_aeResourceAddress, in template (omit) AccessControlOperations p_allowedOperations, template RequestPrimitive p_request) runs on M2M return RequestPrimitive {
 		
 			p_request.to_ := p_aeResourceAddress;
-			p_request.name := p_name;
+			//p_request.name := p_name;
 		
 			if (p_resourceType == int1) {//AccessControlPolicy
 			
 				if(isvalue(p_allowedOperations)){
-					p_request.content.any_1[0].ACP_create := valueof(m_contentCreateAcp (p_allowedOperations));
+					p_request.primitiveContent.any_1[0].ACP_create := valueof(m_contentCreateAcp (c_defaultResourceName, p_allowedOperations));
 				}		
 			} 
 			if (p_resourceType == int9) {//group
-				p_request.content.any_1[0].Group_create := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & vc_ae.resourceID}, omit);
+				p_request.primitiveContent.any_1[0].Group_create := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & vc_ae.resourceID}, omit);
 			}
 		
 			if (p_resourceType == int15) {//pollingChannel
@@ -179,10 +179,10 @@ module OneM2M_Functions {
 			return valueof(p_request);
 		}
 	
-		function f_getUpdateRequestPrimitive(in ResourceType p_resourceType, XSD.ID p_resourceAddress, in template (omit) XSD.String p_name, template RequestPrimitive p_request) runs on M2M return RequestPrimitive {
+		function f_getUpdateRequestPrimitive(in ResourceType p_resourceType, XSD.ID p_resourceAddress, template RequestPrimitive p_request) runs on M2M return RequestPrimitive {
 		
 			p_request.to_ := p_resourceAddress;
-			p_request.name := p_name;
+			//p_request.name := p_name;
 		
 			if (p_resourceType == int3) {//Container
 			
@@ -223,12 +223,12 @@ module OneM2M_Functions {
 	
 	group helpingFunctions {
 
-		function f_createResource(in ResourceType p_resourceType, XSD.ID p_parentResourceAddress, XSD.String p_resourceName, template RequestPrimitive p_requestPrimitive) runs on M2M {
+		function f_createResource(in ResourceType p_resourceType, XSD.ID p_parentResourceAddress, template RequestPrimitive p_requestPrimitive) runs on M2M {
 		
 			var M2MResponsePrimitive v_response;
 			var RequestPrimitive v_request;
 			
-			v_request := f_getCreateRequestPrimitive(p_resourceType,p_parentResourceAddress,p_resourceName, omit, p_requestPrimitive);
+			v_request := f_getCreateRequestPrimitive(p_resourceType,p_parentResourceAddress, omit, p_requestPrimitive);
 		
 			mcaPort.send(m_request(v_request));
 			tc_ac.start;
@@ -252,19 +252,19 @@ module OneM2M_Functions {
 	
 		}
 	
-		function f_createAccessControlPolicyAux(XSD.String p_resourceName, in template (value) AccessControlOperations p_allowedOperations) runs on M2M return XSD.ID{
+		function f_createAccessControlPolicyAux(in template (value) AccessControlOperations p_allowedOperations) runs on M2M return XSD.ID{
 		
 				var M2MResponsePrimitive v_response;
 				var XSD.ID v_acpId;
 			
-				mcaPort.send(m_request(m_createAcpAux(p_resourceName,p_allowedOperations)));
+				mcaPort.send(m_request(m_createAcpAux(p_allowedOperations)));
 				tc_ac.start;
 				alt {
 					[] mcaPort.receive(mw_responseOK) -> value v_response {
 						tc_ac.stop;
 						setverdict(pass, "f_createAccessControlPolicy: Resource type " & int2str(1) & " created successfuly");
-						v_acpId := f_getResourceId(v_response.responsePrimitive_.content);
-						return v_acpId;//TODO: Retrieve resourceId from v_response.responsePrimitive_.content_.any_1.accessControlPolicy.resourceID;
+						v_acpId := f_getResourceId(v_response.responsePrimitive_.primitiveContent);
+						return v_acpId;
 					}
 					[] mcaPort.receive(mw_responseKO) {
 						tc_ac.stop;
diff --git a/OneM2M_Pixits.ttcn b/OneM2M_Pixits.ttcn
old mode 100755
new mode 100644
index 6b6e38a..54f2f05
--- a/OneM2M_Pixits.ttcn
+++ b/OneM2M_Pixits.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Pixits.ttcn $
- *              $Id: OneM2M_Pixits.ttcn 23 2016-03-17 10:02:44Z reinaortega $
+ *              $Id: OneM2M_Pixits.ttcn 39 2016-04-08 12:34:02Z berge $
  *  @desc       Module containing Pixits for oneM2M
  *
  */
@@ -35,4 +35,8 @@ module OneM2M_Pixits {
 	
 	modulepar boolean PX_RUN_POSTAMBLE := true;
 	
+	modulepar charstring PX_SERIALIZATION := "XML";
+	
+	modulepar charstring PX_PROTOCOL_BINDING := "HTTP";
+	
 }  // end of module
diff --git a/OneM2M_Templates.ttcn b/OneM2M_Templates.ttcn
old mode 100755
new mode 100644
index 9a123b4..6c06e6d
--- a/OneM2M_Templates.ttcn
+++ b/OneM2M_Templates.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Templates.ttcn $
- *              $Id: OneM2M_Templates.ttcn 24 2016-03-17 13:30:50Z berge $
+ *              $Id: OneM2M_Templates.ttcn 43 2016-04-13 12:16:12Z reinaortega $
  *  @desc       Module containing templates for oneM2M
  *
  */
@@ -30,8 +30,8 @@ module OneM2M_Templates {
 		requestPrimitive_ := p_requestPrimitive,
 		host := PX_HOST_ADDRESS,
 		xmlNamespace := PX_XML_NAMESPACE,
-		protocolBinding := omit,
-		serialization := omit
+		protocolBinding := PX_PROTOCOL_BINDING,
+		serialization := PX_SERIALIZATION
 		
 	};
 	
@@ -48,8 +48,8 @@ module OneM2M_Templates {
         		from_ := "admin:admin",
         		requestIdentifier := "m_retrieveCseBase",
         		resourceType := int5,
-				name := omit,
-				content := omit,
+				primitiveContent := omit,
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -70,8 +70,8 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_retrieveResource",
 				resourceType := p_resourceType,
-				name := omit,
-				content := omit,
+				primitiveContent := omit,
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -92,8 +92,8 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_retrieveResourceAttributeOptionTo",
         		resourceType := p_resourceType,
-				name := omit,
-				content := omit,
+				primitiveContent := omit, 
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -114,10 +114,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_retrieveResourceAttributeContentOption",
 				resourceType := p_resourceType,
-				name := omit,
-				content := {
-					any_1 := {{AttributeList_1 := p_attributeList}}
+				primitiveContent := {
+					any_1 := {{AttributeList := p_attributeList}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -134,16 +134,16 @@ module OneM2M_Templates {
     	}//end group Retrieve
 
     	group Update {
-        	template (value) RequestPrimitive m_updateContentInstance(XSD.ID p_targetResourceAddress, XSD.String p_content) := {
+        	template (value) RequestPrimitive m_updateContentInstance(XSD.ID p_targetResourceAddress, XSD.String p_primitiveContent) := {
         		operation := int3,
         		to_ := p_targetResourceAddress,
         		from_ := "admin:admin",
         		requestIdentifier := "m_updateContentInstance",
         		resourceType := int4,
-        		name := omit, 
-        		content := {
-        			any_1 := {{ContentInstance_update := m_contentUpdateContentInstance(p_content)}}
+        		primitiveContent := {
+        			any_1 := {{ContentInstance_update := m_contentUpdateContentInstance(p_primitiveContent)}}
         		},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -164,10 +164,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_updateContainer",
 				resourceType := int1,
-				name := "NotInitialized", 
-				content:= {
+				primitiveContent:= {
 							any_1 := {{Container_update := m_contentUpdateContainer}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -188,10 +188,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_updateContainer",
 				resourceType := int1,
-				name := p_resourceName, 
-				content:= {
+				primitiveContent:= {
 							any_1 := {{Container_update := m_contentUpdateContainer}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -213,10 +213,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_updateAcp",
 				resourceType := int1,
-				name := "NotInitialized", 
-				content:= {
+				primitiveContent:= {
 							any_1 := {{ACP_update := m_contentUpdateAcp}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -238,10 +238,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_updateGroup",
 				resourceType := int1,
-				name := "NotInitialized", 
-				content:= {
+				primitiveContent:= {
 							any_1 := {{Group_update := m_contentUpdateGroup}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -263,10 +263,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_updateSchedule",
 				resourceType := int1,
-				name := "NotInitialized", 
-				content:= {
+				primitiveContent:= {
 							any_1 := {{Schedule_update := m_contentUpdateSchedule}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -288,10 +288,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_updatePollingChannel",
 				resourceType := int1,
-				name := "NotInitialized", 
-				content:= {
+				primitiveContent:= {
 							any_1 := {{PollingChannel_update := m_contentUpdatePollingChannel}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -313,10 +313,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_updateSubscription",
 				resourceType := int1,
-				name := "NotInitialized", 
-				content:= {
+				primitiveContent:= {
 							any_1 := {{Subscription_update := m_contentUpdateSubscription}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -342,7 +342,7 @@ module OneM2M_Templates {
         		requestIdentifier := "m_createContainer",
         		resourceType := int3,
         		name := omit, 
-        		content := {
+        		primitiveContent := {
         			{
         				m_contentContainer
         			}	
@@ -350,16 +350,16 @@ module OneM2M_Templates {
         		discoveryResultType := omit
         	};*/
         	
-        	/*template (value) requestPrimitive m_createResource_noName(XSD.ID p_resourceId, ResourceType p_resourceType, template (value) primitiveContent p_content) := {
+        	/*template (value) requestPrimitive m_createResource_noName(XSD.ID p_resourceId, ResourceType p_resourceType, template (value) primitiveContent p_primitiveContent) := {
         		operation := int1,
         		to_ := p_resourceId,
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_createResource",
         		resourceType := p_resourceType,
         		name := omit, 
-        		content := {
+        		primitiveContent := {
         			{
-        				p_content
+        				p_primitiveContent
         			}	
         		},
         		discoveryResultType := omit
@@ -371,10 +371,10 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_createAe",
         		resourceType := int2,
-        		name := p_name, 
-        		content := {
-        			any_1 := {{AE_create := m_contentCreateAe(p_accessControlPolicyIDs)}}	
+        		primitiveContent := {
+        			any_1 := {{AE_create := m_contentCreateAe(p_name, p_accessControlPolicyIDs)}}	
         		},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -396,10 +396,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_createAcp",
 				resourceType := int1,
-				name := "NotInitialized", 
-				content := {
-					any_1 := {{ACP_create := m_contentCreateAcp (int63)}}
+				primitiveContent := {
+					any_1 := {{ACP_create := m_contentCreateAcp (omit, int63)}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -421,10 +421,10 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_createAcp",
         		resourceType := int1,
-        		name := p_name, 
-        		content := {
-					any_1 := {{ACP_create := m_contentCreateAcp (p_allowedOperations)}}
+        		primitiveContent := {
+					any_1 := {{ACP_create := m_contentCreateAcp (omit, p_allowedOperations)}}
         		},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -440,16 +440,16 @@ module OneM2M_Templates {
 
         	};
         	
-        	template (value) RequestPrimitive m_createAcpAux(in template (value)  XSD.String p_name, in template (value) AccessControlOperations p_allowedOperations ) := {
+        	template (value) RequestPrimitive m_createAcpAux(in template (value) AccessControlOperations p_allowedOperations ) := {
         		operation := int1,
         		to_ := PX_URI_CSE & PX_CSE_NAME,
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_createAcp",
         		resourceType := int1,
-        		name := p_name, 
-        		content := {
-        			any_1 := {{ACP_create := m_contentCreateAcp (p_allowedOperations)}}	
+        		primitiveContent := {
+        			any_1 := {{ACP_create := m_contentCreateAcp ("MyAcp", p_allowedOperations)}}	
         		},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -471,10 +471,11 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_createContainer",
 				resourceType := int3,
-				name := "NotInitialized", 
-				content := {
+				primitiveContent := {
+					
 					any_1 := {{Container_create := m_contentCreateContainer}}
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -496,10 +497,10 @@ module OneM2M_Templates {
     			from_ := PX_AE_ID_STEM,
     			requestIdentifier := "m_createContainer",
     			resourceType := int3,
-    			name := p_resourceName, 
-    			content := {
+    			primitiveContent := {
     				any_1 := {{Container_create := m_contentCreateContainer}}
     			},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -515,16 +516,16 @@ module OneM2M_Templates {
 
     		};
         	
-    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_resourceId, XSD.String p_content) := {
+    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_resourceId, XSD.String p_primitiveContent) := {
     			operation := int1,
     			to_ := p_resourceId,
     			from_ := "admin:admin",
     			requestIdentifier := "m_createContentInstance",
     			resourceType := int4,
-    			name := "myContent", 
-    			content := {
-    				any_1 := {{ContentInstance_create := m_contentCreateContentInstance(p_content)}}	
+    			primitiveContent := {
+    				any_1 := {{ContentInstance_create := m_contentCreateContentInstance(p_primitiveContent)}}	
     			},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -541,15 +542,15 @@ module OneM2M_Templates {
     		};
     		
 			template (value) RequestPrimitive m_createGroupBase := {
-					operation := int1,
-					to_ := "NotInitialized",
-					from_ := PX_AE_ID_STEM,
-					requestIdentifier := "m_createGroup",
-					resourceType := int9,
-					name := "NotInitialized", 
-					content := {
-						any_1 := {{Group_create := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & "NotInitialized"}, omit)}}	//TODO: p_resourceId
-					},
+				operation := int1,
+				to_ := "NotInitialized",
+				from_ := PX_AE_ID_STEM,
+				requestIdentifier := "m_createGroup",
+				resourceType := int9,
+				primitiveContent := {
+					any_1 := {{Group_create := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & "NotInitialized"}, omit)}}	//TODO: p_resourceId
+				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -571,10 +572,10 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_createGroup",
         		resourceType := int9,
-        		name := p_name, 
-        		content := {
+        		primitiveContent := {
         			any_1 := {{Group_create := m_contentCreateGroup (1, {"/" & PX_CSE_NAME & "/" & valueof(p_memberId)}, p_accessControlPolicyIDs)}}	//TODO: p_resourceId
         		},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -591,15 +592,15 @@ module OneM2M_Templates {
         	};
         	
 			template (value) RequestPrimitive m_createPollingChannelBase := {
-					operation := int1,
-					to_ := "NotInitialized",
-					from_ := PX_AE_ID_STEM,
-					requestIdentifier := "m_createPollingChannel",
-					resourceType := int15,
-					name := "NotInitialized", 
-					content := {
-						any_1 := {{PollingChannel_create := m_contentCreatePollingChannel (omit)}}	
-					},
+				operation := int1,
+				to_ := "NotInitialized",
+				from_ := PX_AE_ID_STEM,
+				requestIdentifier := "m_createPollingChannel",
+				resourceType := int15,
+				primitiveContent := {
+					any_1 := {{PollingChannel_create := m_contentCreatePollingChannel (omit)}}	
+				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -615,16 +616,16 @@ module OneM2M_Templates {
 
 				};
         	
-        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_aeResourceAddress, in template (value)XSD.ID p_originatorId, in template (omit)  XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIDs ) := {
+        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_aeResourceAddress, in template (value)XSD.ID p_originatorId, in template (omit) AcpType p_accessControlPolicyIDs ) := {
         		operation := int1,
         		to_ := p_aeResourceAddress,
         		from_ := p_originatorId,
         		requestIdentifier := "m_createPollingChannel",
         		resourceType := int15,
-        		name := p_name, 
-        		content := {
+        		primitiveContent := {
         			any_1 := {{PollingChannel_create := m_contentCreatePollingChannel (p_accessControlPolicyIDs)}}	
         		},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -648,10 +649,10 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_createSchedule",
         		resourceType := int18,
-        		name := "NotInitialized", 
-        		content := {
+        		primitiveContent := {
         			any_1 := {{Schedule_create := m_contentCreateSchedule ({{"0,0,0 1 2,1,1,*"}})}}	
         		},
+				role := omit,
         		originatingTimestamp := omit,
         		requestExpirationTimestamp := omit,
         		resultExpirationTimestamp := omit,
@@ -673,10 +674,10 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_createSchedule",
         		resourceType := int18,
-        		name := p_name, 
-        		content := {
+        		primitiveContent := {
         			any_1 := {{Schedule_create := m_contentCreateSchedule (p_scheduleElement)}}	
         		},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -698,10 +699,10 @@ module OneM2M_Templates {
 				from_ := PX_AE_ID_STEM,
 				requestIdentifier := "m_createSubscription",
 				resourceType := int23,
-				name := "NotInitialized", 
-				content := {
+				primitiveContent := {
 					any_1 := {{Subscription_create := m_contentCreateSubscription ({"/in-cse/ae_test"})}}	
 				},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -723,10 +724,10 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_createSubscription",
         		resourceType := int23,
-        		name := p_name, 
-        		content := {
+        		primitiveContent := {
 					any_1 := {{Subscription_create := m_contentCreateSubscription (p_notificationURI)}}	
         		},
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -751,8 +752,8 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_deleteAe",
         		resourceType := omit,
-        		name := omit, 
-        		content := omit,
+        		primitiveContent := omit, 
+        		role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -774,8 +775,8 @@ module OneM2M_Templates {
         		from_ := PX_AE_ID_STEM,
         		requestIdentifier := "m_deleteAcp",
         		resourceType := omit,
-        		name := omit, 
-        		content := omit,
+        		primitiveContent := omit,
+				role := omit,
 				originatingTimestamp := omit,
 				requestExpirationTimestamp := omit,
 				resultExpirationTimestamp := omit,
@@ -795,7 +796,8 @@ module OneM2M_Templates {
 	
 	group ContentCreate {
 		
-    	template (value) AE_create m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIDs) := {
+    	template (value) AE_create m_contentCreateAe (in template (omit)  XSD.String p_name, in template (omit) AcpType p_accessControlPolicyIDs) := {
+			resourceName := p_name,
 			labels := omit,
 			accessControlPolicyIDs := p_accessControlPolicyIDs,
 			expirationTime := omit,
@@ -808,7 +810,8 @@ module OneM2M_Templates {
 			requestReachability := false
     	};
     	
-    	template (value) ACP_create m_contentCreateAcp (in template (value) AccessControlOperations p_allowedOperations ) := {
+    	template (value) ACP_create m_contentCreateAcp (in template (omit) XSD.String p_name, in template (value) AccessControlOperations p_allowedOperations ) := {
+			resourceName := p_name,
 			labels := omit,
 			expirationTime := omit,
 			announceTo := omit,
@@ -836,6 +839,7 @@ module OneM2M_Templates {
     	template (value) Group_create m_contentCreateGroup (	in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
     												in template (value) ListOfURIs p_memberIds,
     												in template (omit) AcpType p_accessControlPolicyIDs) := {
+			resourceName := c_defaultResourceName,
 			labels := omit,
 			accessControlPolicyIDs := p_accessControlPolicyIDs,
 			expirationTime := omit,
@@ -851,6 +855,7 @@ module OneM2M_Templates {
     	};
     	
     	template (value) PollingChannel_create m_contentCreatePollingChannel (	in template (omit) AcpType p_accessControlPolicyIDs) := {
+			resourceName := c_defaultResourceName,
 			labels := omit,
 			accessControlPolicyIDs := p_accessControlPolicyIDs,
 			expirationTime := omit,
@@ -858,6 +863,7 @@ module OneM2M_Templates {
     	};
     	
     	template (value) Schedule_create m_contentCreateSchedule (in template (value) ScheduleEntries p_scheduleElement) := {
+			resourceName := c_defaultResourceName,
 			labels := omit,
             expirationTime := omit,
             announceTo := omit,
@@ -866,6 +872,7 @@ module OneM2M_Templates {
     	};
     	
     	template (value) Subscription_create m_contentCreateSubscription (in template (value) ListOfURIs p_notificationURI) := {
+			resourceName := c_defaultResourceName,
 			labels := omit,
 			accessControlPolicyIDs := omit,
 			expirationTime := omit,
@@ -886,21 +893,23 @@ module OneM2M_Templates {
             subscriberURI := omit
     	};
     	
-    	template (value) ContentInstance_create m_contentCreateContentInstance(XSD.String p_content) := {
+    	template (value) ContentInstance_create m_contentCreateContentInstance(XSD.String p_primitiveContent) := {
+			resourceName := c_defaultResourceName,
 			labels := omit,
             announceTo := omit,
 			contentInfo := "a",
             contentSize := omit,
             ontologyRef := omit,
     		content_ := { 
-    			embed_values := {p_content},
+    			embed_values := {p_primitiveContent},
     			attr := omit,
     			elem_list := {}  
     		}
 		};
 		
     	template (value) Container_create m_contentCreateContainer := {
-    		labels := omit,
+			resourceName := c_defaultResourceName,
+			labels := omit,
 			accessControlPolicyIDs := omit,
 			expirationTime := omit,
 			announceTo := omit,
@@ -982,14 +991,14 @@ module OneM2M_Templates {
 			notificationEventCat := omit
 		};
     	
-    	template (value) ContentInstance_update m_contentUpdateContentInstance(XSD.String p_content) := {
+    	template (value) ContentInstance_update m_contentUpdateContentInstance(XSD.String p_primitiveContent) := {
 			labels := omit,
             announceTo := omit,
 			contentInfo := omit,
             contentSize := omit,
             ontologyRef := omit,
     		content_ := { 
-    			embed_values := {p_content},
+    			embed_values := {p_primitiveContent},
     			attr := omit,
     			elem_list := {}  
     		}
@@ -1011,20 +1020,7 @@ module OneM2M_Templates {
 	
 	group SpecialContents {
 		
-		template (value) AttributeList_1 m_contentAttributeList (in template (value) Attribute p_attribute) := {
-			attribute_list := {
-        		p_attribute
-        	}
-		};
-		
-		template (value) AttributeList_1 m_contentAttributeList_2(	in template (value) Attribute p_attribute1,
-															in template (value) Attribute p_attribute2) := {
-				attribute_list := {
-					p_attribute1,
-					p_attribute2
-				}
-			};
-		
+				
 	}//end gropu SpecialContents
 	
 	group ResponsePrimitives {
@@ -1032,7 +1028,7 @@ module OneM2M_Templates {
     		responsePrimitive_ := {
     			responseStatusCode := p_statusCode,
     			requestIdentifier := ?,
-    			content := *,
+    			primitiveContent := *,
 				to_ := *,
     			from_ := *,
 				originatingTimestamp := *,
@@ -1045,7 +1041,7 @@ module OneM2M_Templates {
     		responsePrimitive_ := {
     			responseStatusCode := (int2000, int2001, int2002, int2004),
     			requestIdentifier := ?,
-    			content := *,
+    			primitiveContent := *,
 				to_ := *,
     			from_ := *,
 				originatingTimestamp := *,
@@ -1058,7 +1054,7 @@ module OneM2M_Templates {
     		responsePrimitive_ := {
     			responseStatusCode := complement(int2000, int2001, int2002, int2004),
     			requestIdentifier := ?,
-    			content := *,
+    			primitiveContent := *,
 				to_ := *,
     			from_ := *,
     			originatingTimestamp := *,
diff --git a/OneM2M_TestControl.ttcn b/OneM2M_TestControl.ttcn
old mode 100755
new mode 100644
diff --git a/OneM2M_TestSystem.ttcn b/OneM2M_TestSystem.ttcn
old mode 100755
new mode 100644
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
old mode 100755
new mode 100644
index 1f04926..99d098f
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $
- *              $Id: OneM2M_Testcases.ttcn 24 2016-03-17 13:30:50Z berge $
+ *              $Id: OneM2M_Testcases.ttcn 43 2016-04-13 12:16:12Z reinaortega $
  *  @desc       Module containing test cases for oneM2M
  *
  */
@@ -328,39 +328,57 @@ module OneM2M_Testcases {
 					
 					testcase TC_CSE_DMR_CRE_BV_001_01() runs on M2M system M2MSystem {
 						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						
+						v_createRequest.primitiveContent.any_1[0].Container_create.resourceName := omit;
                         
                         f_CSE_DMR_CRE_BV_001(int3, m_createContainerBase);//Container
 					}
 
 					testcase TC_CSE_DMR_CRE_BV_001_02() runs on M2M system M2MSystem {
 						// Local variables
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
+						
+						v_createRequest.primitiveContent.any_1[0].Group_create.resourceName := omit;
 						
 						f_CSE_DMR_CRE_BV_001(int9, m_createGroupBase);//Group
 					}
 					
 					testcase TC_CSE_DMR_CRE_BV_001_03() runs on M2M system M2MSystem {
 						// Local variables
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
+						
+						v_createRequest.primitiveContent.any_1[0].ACP_create.resourceName := omit;
 	
 						f_CSE_DMR_CRE_BV_001(int1, m_createAcpBase);//AccessControlPolicy
 					}
 				
 					testcase TC_CSE_DMR_CRE_BV_001_04() runs on M2M system M2MSystem {
 						// Local variables
+						var template RequestPrimitive v_createRequest := m_createScheduleBase;
+						
+						v_createRequest.primitiveContent.any_1[0].Schedule_create.resourceName := omit;
 	
 						f_CSE_DMR_CRE_BV_001(int18, m_createScheduleBase);//Schedule
 					}
 					
 					testcase TC_CSE_DMR_CRE_BV_001_05() runs on M2M system M2MSystem {
 						// Local variables
+						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
+						
+						v_createRequest.primitiveContent.any_1[0].PollingChannel_create.resourceName := omit;
 	
 						f_CSE_DMR_CRE_BV_001(int15, m_createPollingChannelBase);//PollingChannel
 					}
 					
 					testcase TC_CSE_DMR_CRE_BV_001_06() runs on M2M system M2MSystem {
-							// Local variables
-	
-							f_CSE_DMR_CRE_BV_001(int23, m_createSubscriptionBase);//Subscription
-						}
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
+						
+						v_createRequest.primitiveContent.any_1[0].Subscription_create.resourceName := omit;
+
+						f_CSE_DMR_CRE_BV_001(int23, m_createSubscriptionBase);//Subscription
+					}
 					
     				function f_CSE_DMR_CRE_BV_001(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on M2M {
     				
@@ -383,7 +401,7 @@ module OneM2M_Testcases {
     									
     					// Test Body
     					
-    					v_request := f_getCreateRequestPrimitive(p_resourceType, v_aeResourceAddress, omit, omit, p_requestPrimitive);
+    					v_request := f_getCreateRequestPrimitive(p_resourceType, v_aeResourceAddress, omit, p_requestPrimitive);
 						
     					mcaPort.send(m_request(v_request));
     					tc_ac.start;
@@ -427,7 +445,7 @@ module OneM2M_Testcases {
 					testcase TC_CSE_DMR_CRE_BV_002_03() runs on M2M system M2MSystem {
 						// Local variables
                         
-						f_CSE_DMR_CRE_BV_002(int1, m_createAcpBase);//accessControlPolicy
+						f_CSE_DMR_CRE_BV_002(int1, m_createAcpBase );//accessControlPolicy
 					}
 
 					testcase TC_CSE_DMR_CRE_BV_002_04() runs on M2M system M2MSystem {
@@ -454,7 +472,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_parentResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName;
 										   
 						// Test control
@@ -468,7 +485,7 @@ module OneM2M_Testcases {
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi); 				
 									
 						// Test Body
-						v_request := f_getCreateRequestPrimitive(p_resourceType, v_parentResourceAddress, v_resourceName, omit, p_requestPrimitive);
+						v_request := f_getCreateRequestPrimitive(p_resourceType, v_parentResourceAddress, omit, p_requestPrimitive);
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
@@ -539,7 +556,6 @@ module OneM2M_Testcases {
     					var RequestPrimitive v_request;
     					var XSD.ID v_resourceId_content;
     					var XSD.String v_aeName := "ae_test";
-    					var XSD.String v_resourceName := "myResource";
     					var XSD.String v_parentResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName;
     										   
     					// Test control
@@ -551,12 +567,11 @@ module OneM2M_Testcases {
     				
     					// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-    					f_createResource(p_resourceType, v_parentResourceAddress, v_resourceName, p_requestPrimitive); 				
+    					f_createResource(p_resourceType, v_parentResourceAddress, p_requestPrimitive); 				
     									
     					// Test Body
-    					v_request := f_getCreateRequestPrimitive(p_resourceType,v_parentResourceAddress,v_resourceName, omit, p_requestPrimitive);
-    					
-    					mcaPort.send(m_request(v_request));
+    					p_requestPrimitive.requestIdentifier := "Existing resource";
+    					mcaPort.send(m_request(valueof(p_requestPrimitive)));
     					tc_ac.start;
     					alt {
     						[] mcaPort.receive(mw_response(int4105)) -> value v_response {
@@ -624,7 +639,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName;
     										   
 						// Test control
@@ -643,9 +657,9 @@ module OneM2M_Testcases {
     									
 						// Test Body
 						if(p_resourceType == int15) {
-							v_request := valueof(m_createPollingChannel(v_aeResourceAddress, PX_AE_ID_STEM, v_resourceName, omit));
+							v_request := valueof(m_createPollingChannel(v_aeResourceAddress, PX_AE_ID_STEM, omit));
 						} else {
-							v_request := f_getCreateRequestPrimitive(p_resourceType,v_aeResourceAddress,v_resourceName, omit, p_requestPrimitive);
+							v_request := f_getCreateRequestPrimitive(p_resourceType,v_aeResourceAddress, omit, p_requestPrimitive);
 						}
 						
 						mcaPort.send(m_request(v_request));
@@ -725,7 +739,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeResourceAddress := PX_URI_CSE & PX_CSE_NAME & "/" & v_aeName;
     										   
 						// Test control
@@ -737,10 +750,10 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_requestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_requestPrimitive); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(p_resourceType, v_aeResourceAddress & "/" & v_resourceName)));
+						mcaPort.send(m_request(m_retrieveResource(p_resourceType, v_aeResourceAddress & "/" & c_defaultResourceName)));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_responseOK) -> value v_response {
@@ -772,7 +785,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeResourceAddress := PX_URI_CSE & PX_CSE_NAME & "/" & v_aeName;
     										   
 						// Test control
@@ -786,7 +798,7 @@ module OneM2M_Testcases {
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(int3, v_aeResourceAddress & "/" & v_resourceName)));
+						mcaPort.send(m_request(m_retrieveResource(int3, v_aeResourceAddress & "/" & c_defaultResourceName)));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(int4004)) -> value v_response {
@@ -831,7 +843,7 @@ module OneM2M_Testcases {
 						// Local variables
 						var template RequestPrimitive v_requestPrimitive := m_createAcpBase;
 						
-						v_requestPrimitive.content.any_1[0].ACP_create.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
+						v_requestPrimitive.primitiveContent.any_1[0].ACP_create.selfPrivileges.accessControlRule_list[0].accessControlOperations := int61;
 						
 						f_CSE_DMR_RET_BO_003(int1, v_requestPrimitive);//AccessControlPolicy
 					}
@@ -874,10 +886,10 @@ module OneM2M_Testcases {
 						// Preamble
 						f_preamble_registerAe(v_aeName, int61);//c_CUDNDi);
 						
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_requestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_requestPrimitive); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResource(p_resourceType, v_aeResourceAddress & "/" & v_resourceName)));
+						mcaPort.send(m_request(m_retrieveResource(p_resourceType, v_aeResourceAddress & "/" & c_defaultResourceName)));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_response(int4103)) -> value v_response {
@@ -958,7 +970,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeResourceAddress := PX_URI_CSE & PX_CSE_NAME & "/" & v_aeName;
 						var XSD.String v_attribute := "#pi";
     										   
@@ -971,15 +982,15 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_requestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_requestPrimitive); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeToOption(p_resourceType, v_aeResourceAddress & "/" & v_resourceName & v_attribute)));
+						mcaPort.send(m_request(m_retrieveResourceAttributeToOption(p_resourceType, v_aeResourceAddress & "/" & c_defaultResourceName & v_attribute)));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_responseOK) -> value v_response {
 								tc_ac.stop;
-								if(ischosen(v_response.responsePrimitive_.content.any_1[0].AttributeList_1)){
+								if(ischosen(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList)){
 									setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly");
 								} else {
 									setverdict(fail, testcasename() & ": Requested attribute not retrieved");
@@ -1048,7 +1059,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeResourceAddress := PX_URI_CSE & PX_CSE_NAME & "/" & v_aeName;
 						var XSD.String v_attribute := "#pi";
     										   
@@ -1061,17 +1071,17 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_requestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_requestPrimitive); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(p_resourceType, v_aeResourceAddress & "/" & v_resourceName, 
-																						m_contentAttributeList({"parentID", {omit, omit, {""}}}))));
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(p_resourceType, v_aeResourceAddress & "/" & c_defaultResourceName, 
+																						{"parentID"})));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_responseOK) -> value v_response {
 								tc_ac.stop;
-								if(ischosen(v_response.responsePrimitive_.content.any_1[0].AttributeList_1)){
-									if(v_response.responsePrimitive_.content.any_1[0].AttributeList_1.attribute_list[0].name == "parentID"){
+								if(ischosen(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList)){
+									if(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList[0] == "parentID"){
 										setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly");
 									} else {
 										setverdict(fail, testcasename() & ": Requested attribute not retrieved");
@@ -1143,7 +1153,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeResourceAddress := PX_URI_CSE & PX_CSE_NAME & "/" & v_aeName;
 						var XSD.String v_attribute := "#pi";
     										   
@@ -1156,18 +1165,17 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_requestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_requestPrimitive); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(p_resourceType, v_aeResourceAddress & "/" & v_resourceName, 
-																						m_contentAttributeList_2({"parentID", {omit, omit, {""}}},
-																													{"creationTime", {omit, omit, {""}}}))));
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(p_resourceType, v_aeResourceAddress & "/" & c_defaultResourceName, 
+																						{"parentID", "creationTime"})));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_responseOK) -> value v_response {
 								tc_ac.stop;
-								if(ischosen(v_response.responsePrimitive_.content.any_1[0].AttributeList_1)){
-									if(v_response.responsePrimitive_.content.any_1[0].AttributeList_1.attribute_list[0].name == "parentID"){
+								if(ischosen(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList)){
+									if(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList[0] == "parentID"){
 										setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly");
 									} else {
 										setverdict(fail, testcasename() & ": Requested attribute not retrieved");
@@ -1239,7 +1247,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeResourceAddress := PX_URI_CSE & PX_CSE_NAME & "/" & v_aeName;
 						var XSD.String v_attribute := "#lbl";
     										   
@@ -1252,17 +1259,17 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_requestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress,  p_requestPrimitive); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(p_resourceType, v_aeResourceAddress & "/" & v_resourceName, 
-																						m_contentAttributeList({"labels", {omit, omit, {""}}}))));
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(p_resourceType, v_aeResourceAddress & "/" & c_defaultResourceName, 
+																						{"labels"})));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_responseOK) -> value v_response {
 								tc_ac.stop;
-								if(ischosen(v_response.responsePrimitive_.content.any_1[0].AttributeList_1)){
-									if(v_response.responsePrimitive_.content.any_1[0].AttributeList_1.attribute_list[0].name == "parentID"){
+								if(ischosen(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList)){
+									if(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList[0] == "parentID"){
 										setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly");
 									} else {
 										setverdict(fail, testcasename() & ": Requested attribute not retrieved");
@@ -1334,7 +1341,6 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeResourceAddress := PX_URI_CSE & PX_CSE_NAME & "/" & v_aeName;
 						var XSD.String v_attribute := "#pi";
     										   
@@ -1347,18 +1353,17 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_requestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_requestPrimitive); 				
     									
 						// Test Body
-						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(p_resourceType, v_aeResourceAddress & "/" & v_resourceName, 
-																						m_contentAttributeList_2({"labels", {omit, omit, {""}}},
-																													{"announceTo", {omit, omit, {""}}}))));
+						mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(p_resourceType, v_aeResourceAddress & "/" & c_defaultResourceName, 
+																						{"labels", "announceTo"})));
 						tc_ac.start;
 						alt {
 							[] mcaPort.receive(mw_responseOK) -> value v_response {
 								tc_ac.stop;
-								if(ischosen(v_response.responsePrimitive_.content.any_1[0].AttributeList_1)){
-									if(v_response.responsePrimitive_.content.any_1[0].AttributeList_1.attribute_list[0].name == "parentID"){
+								if(ischosen(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList)){
+									if(v_response.responsePrimitive_.primitiveContent.any_1[0].AttributeList[0] == "parentID"){
 										setverdict(pass, testcasename() & ": Requested attribute retrieved successfuly");
 									} else {
 										setverdict(fail, testcasename() & ": Requested attribute not retrieved");
@@ -1395,8 +1400,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						
-						v_createRequest.content.any_1[0].Container_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].Container_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].Container_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].Container_update.labels := v_labels_2;
 						
                         f_CSE_DMR_UPD_BV_001(int3, v_createRequest, v_updateRequest);//Container
 					}
@@ -1408,8 +1413,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 
-						v_createRequest.content.any_1[0].Group_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].Group_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].Group_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].Group_update.labels := v_labels_2;
 
 						f_CSE_DMR_UPD_BV_001(int9, v_createRequest, v_updateRequest);//Group
 					}
@@ -1421,8 +1426,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 
-						v_createRequest.content.any_1[0].ACP_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].ACP_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].ACP_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].ACP_update.labels := v_labels_2;
 
 						f_CSE_DMR_UPD_BV_001(int1, v_createRequest, v_updateRequest);//ACP
 						
@@ -1435,8 +1440,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 
-						v_createRequest.content.any_1[0].Schedule_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].Schedule_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].Schedule_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].Schedule_update.labels := v_labels_2;
 
 						f_CSE_DMR_UPD_BV_001(int18, v_createRequest, v_updateRequest);//Schedule
 					
@@ -1449,8 +1454,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 
-						v_createRequest.content.any_1[0].PollingChannel_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].PollingChannel_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].PollingChannel_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].PollingChannel_update.labels := v_labels_2;
 
 						f_CSE_DMR_UPD_BV_001(int15, v_createRequest, v_updateRequest);//PollingChannel
 					}
@@ -1462,8 +1467,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 
-						v_createRequest.content.any_1[0].Subscription_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].Subscription_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].Subscription_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.labels := v_labels_2;
 
 						f_CSE_DMR_UPD_BV_001(int23, v_createRequest, v_updateRequest);//Subscription
 					
@@ -1475,10 +1480,9 @@ module OneM2M_Testcases {
 						var M2MResponsePrimitive v_response;
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_aeResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & v_resourceName;
-						var XSD.String v_targetResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & v_resourceName;
+						var XSD.String v_aeResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & c_defaultResourceName;
+						var XSD.String v_targetResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & c_defaultResourceName;
     										   
 						// Test control
     				
@@ -1489,10 +1493,10 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_createRequestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_createRequestPrimitive); 				
     									
 						// Test Body
-						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, v_resourceName, p_updateRequestPrimitive);
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, p_updateRequestPrimitive);
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
@@ -1525,7 +1529,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_2 := {"VALUE_2"};
                         var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 
-						v_updateRequest.content.any_1[0].Container_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Container_update.labels := v_labels_2;
                         
 						f_CSE_DMR_UPD_BV_002(int3, m_createContainerBase, v_updateRequest);//Container
 					}
@@ -1535,7 +1539,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_2 := {"VALUE_2"};
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 
-						v_updateRequest.content.any_1[0].Group_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Group_update.labels := v_labels_2;
 						
 						f_CSE_DMR_UPD_BV_002(int9, m_createGroupBase, v_updateRequest);//Group
 					}
@@ -1545,7 +1549,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_2 := {"VALUE_2"};
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 
-						v_updateRequest.content.any_1[0].ACP_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].ACP_update.labels := v_labels_2;
 							
 						f_CSE_DMR_UPD_BV_002(int1, m_createAcpBase,v_updateRequest);//AccessControlPolicy
 					}
@@ -1555,7 +1559,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_2 := {"VALUE_2"};
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 
-						v_updateRequest.content.any_1[0].Schedule_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Schedule_update.labels := v_labels_2;
 						
 						f_CSE_DMR_UPD_BV_002(int18, m_createScheduleBase,v_updateRequest);//Schedule
 					}
@@ -1565,7 +1569,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_2 := {"VALUE_2"};
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 
-						v_updateRequest.content.any_1[0].PollingChannel_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].PollingChannel_update.labels := v_labels_2;
 						
 						f_CSE_DMR_UPD_BV_002(int15, m_createPollingChannelBase,v_updateRequest);//PollingChannel
 					}
@@ -1575,7 +1579,7 @@ module OneM2M_Testcases {
 						var Labels v_labels_2 := {"VALUE_2"};
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 
-						v_updateRequest.content.any_1[0].Subscription_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.labels := v_labels_2;
 						
 						f_CSE_DMR_UPD_BV_002(int23, m_createSubscriptionBase,v_updateRequest);//Subscription
 						}
@@ -1586,10 +1590,9 @@ module OneM2M_Testcases {
 						var M2MResponsePrimitive v_response;
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_aeResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & v_resourceName;
-    					var XSD.String v_targetResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & v_resourceName;
+						var XSD.String v_aeResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & c_defaultResourceName;
+    					var XSD.String v_targetResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & c_defaultResourceName;
     										   
 						// Test control
     				
@@ -1600,10 +1603,10 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_createRequestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_createRequestPrimitive); 				
     									
 						// Test Body
-						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, v_resourceName, p_updateRequestPrimitive);
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, p_updateRequestPrimitive);
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
@@ -1638,8 +1641,8 @@ module OneM2M_Testcases {
                         var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						
-						v_createRequest.content.any_1[0].Container_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].Container_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].Container_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].Container_update.labels := v_labels_2;
                         
 						f_CSE_DMR_UPD_BV_003(int3, v_createRequest, v_updateRequest);//Container
 					}
@@ -1651,8 +1654,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 
-						v_createRequest.content.any_1[0].Group_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].Group_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].Group_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].Group_update.labels := v_labels_2;
 						
 						f_CSE_DMR_UPD_BV_003(int9, v_createRequest, v_updateRequest);//Group
 					}
@@ -1664,8 +1667,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 
-						v_createRequest.content.any_1[0].ACP_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].ACP_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].ACP_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].ACP_update.labels := v_labels_2;
 							
 						f_CSE_DMR_UPD_BV_003(int1, v_createRequest, v_updateRequest);//AccessControlPolicy
 					}
@@ -1677,8 +1680,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 
-						v_createRequest.content.any_1[0].Schedule_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].Schedule_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].Schedule_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].Schedule_update.labels := v_labels_2;
 						
 						f_CSE_DMR_UPD_BV_003(int18, v_createRequest, v_updateRequest);//Schedule
 					}
@@ -1690,8 +1693,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 
-						v_createRequest.content.any_1[0].PollingChannel_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].PollingChannel_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].PollingChannel_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].PollingChannel_update.labels := v_labels_2;
 						
 						f_CSE_DMR_UPD_BV_003(int15, v_createRequest, v_updateRequest);//PollingChannel
 					}
@@ -1703,8 +1706,8 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 
-						v_createRequest.content.any_1[0].Subscription_create.labels := v_labels_1;
-						v_updateRequest.content.any_1[0].Subscription_update.labels := v_labels_2;
+						v_createRequest.primitiveContent.any_1[0].Subscription_create.labels := v_labels_1;
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.labels := v_labels_2;
 						
 						f_CSE_DMR_UPD_BV_003(int23, v_createRequest, v_updateRequest);//Subscription
 						}
@@ -1715,10 +1718,9 @@ module OneM2M_Testcases {
 						var M2MResponsePrimitive v_response;
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeName := "ae_test";
-						var XSD.String v_aeResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & v_resourceName;
-						var XSD.String v_targetResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & v_resourceName;
+						var XSD.String v_aeResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & c_defaultResourceName;
+						var XSD.String v_targetResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & c_defaultResourceName;
     										   
 						// Test control
     				
@@ -1729,10 +1731,10 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_createRequestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_createRequestPrimitive); 				
     									
 						// Test Body
-						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, v_resourceName, p_updateRequestPrimitive);
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, p_updateRequestPrimitive);
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
@@ -1769,11 +1771,11 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 
-						v_createRequest.content.any_1[0].Container_create.labels := v_labels_1;
-						v_createRequest.content.any_1[0].Container_create.maxNrOfInstances := v_maxNrOfInstances;
-						v_updateRequest.content.any_1[0].Container_update.labels := v_labels_2;
-						v_updateRequest.content.any_1[0].Container_update.maxNrOfInstances := 0;//TODO
-						v_updateRequest.content.any_1[0].Container_update.accessControlPolicyIDs := v_acp;
+						v_createRequest.primitiveContent.any_1[0].Container_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].Container_create.maxNrOfInstances := v_maxNrOfInstances;
+						v_updateRequest.primitiveContent.any_1[0].Container_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Container_update.maxNrOfInstances := 0;//TODO
+						v_updateRequest.primitiveContent.any_1[0].Container_update.accessControlPolicyIDs := v_acp;
                         
 						f_CSE_DMR_UPD_BV_004(int3, v_createRequest, v_updateRequest);//Container
 					}
@@ -1787,11 +1789,11 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 
-						v_createRequest.content.any_1[0].Group_create.labels := v_labels_1;
-						v_createRequest.content.any_1[0].Group_create.groupName := "MyGroupName";
-						v_updateRequest.content.any_1[0].Group_update.labels := v_labels_2;
-						v_updateRequest.content.any_1[0].Group_update.groupName:= "";//TODO Set to NULL
-						v_updateRequest.content.any_1[0].Group_update.accessControlPolicyIDs := v_acp;
+						v_createRequest.primitiveContent.any_1[0].Group_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].Group_create.groupName := "MyGroupName";
+						v_updateRequest.primitiveContent.any_1[0].Group_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Group_update.groupName:= "";//TODO Set to NULL
+						v_updateRequest.primitiveContent.any_1[0].Group_update.accessControlPolicyIDs := v_acp;
                         
 						f_CSE_DMR_UPD_BV_004(int9, v_createRequest, v_updateRequest);//Group
 					}
@@ -1803,9 +1805,9 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 
-						v_createRequest.content.any_1[0].ACP_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].ACP_create.labels := v_labels_1;
 						//v_createRequest.content.any_1[0].ACP_create.groupName := "MyGroupName";TODO Need to find Attribute 2
-						v_updateRequest.content.any_1[0].ACP_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].ACP_update.labels := v_labels_2;
 						//v_updateRequest.content.any_1[0].ACP_update.groupName:= "";//TODO Set to NULL
 						//v_updateRequest.content.any_1[0].ACP_update.accessControlPolicyIDs := v_acp; TODO Need to find Attribute 3
       							
@@ -1819,9 +1821,9 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 
-						v_createRequest.content.any_1[0].Schedule_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].Schedule_create.labels := v_labels_1;
 						//v_createRequest.content.any_1[0].Schedule_create.groupName := "MyGroupName";TODO Need to find Attribute 2
-						v_updateRequest.content.any_1[0].Schedule_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Schedule_update.labels := v_labels_2;
 						//v_updateRequest.content.any_1[0].Schedule_update.groupName:= "";//TODO Set to NULL
 						//v_updateRequest.content.any_1[0].Schedule_update.accessControlPolicyIDs := v_acp; TODO Need to find Attribute 3
                 						
@@ -1836,11 +1838,11 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 
-						v_createRequest.content.any_1[0].PollingChannel_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].PollingChannel_create.labels := v_labels_1;
 						//v_createRequest.content.any_1[0].PollingChannel_create.groupName := "MyGroupName";TODO Need to find Attribute 2
-						v_updateRequest.content.any_1[0].PollingChannel_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].PollingChannel_update.labels := v_labels_2;
 						//v_updateRequest.content.any_1[0].PollingChannel_update.groupName:= "";//TODO Set to NULL
-						v_updateRequest.content.any_1[0].PollingChannel_update.accessControlPolicyIDs := v_acp; 
+						v_updateRequest.primitiveContent.any_1[0].PollingChannel_update.accessControlPolicyIDs := v_acp; 
       						
 						f_CSE_DMR_UPD_BV_004(int15, v_createRequest, v_updateRequest);//PollingChannel
 					}
@@ -1853,11 +1855,11 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 
-						v_createRequest.content.any_1[0].Subscription_create.labels := v_labels_1;
-						v_createRequest.content.any_1[0].Subscription_create.expirationCounter := 5;
-						v_updateRequest.content.any_1[0].Subscription_update.labels := v_labels_2;
-						v_updateRequest.content.any_1[0].Subscription_update.expirationCounter := 1;//TODO Set to NULL
-						v_updateRequest.content.any_1[0].Subscription_update.accessControlPolicyIDs := v_acp; 
+						v_createRequest.primitiveContent.any_1[0].Subscription_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].Subscription_create.expirationCounter := 5;
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.expirationCounter := 1;//TODO Set to NULL
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.accessControlPolicyIDs := v_acp; 
       							
 						f_CSE_DMR_UPD_BV_004(int23, v_createRequest, v_updateRequest);//Subscription
 						}
@@ -1868,10 +1870,9 @@ module OneM2M_Testcases {
 						var M2MResponsePrimitive v_response;
 						var RequestPrimitive v_request;
 						var XSD.ID v_resourceId_content;
-						var XSD.String v_resourceName := "myResource";
 						var XSD.String v_aeName := "ae_test";
 						var XSD.String v_aeResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName ;
-						var XSD.String v_targetResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & v_resourceName;
+						var XSD.String v_targetResourceAddress := "/" & PX_CSE_NAME & "/" & v_aeName & "/" & c_defaultResourceName;
     										   
 						// Test control
     				
@@ -1882,10 +1883,10 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_createRequestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_createRequestPrimitive); 				
     									
 						// Test Body
-						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, v_resourceName, p_updateRequestPrimitive);
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, p_updateRequestPrimitive);
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
@@ -1922,11 +1923,11 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 
-						v_createRequest.content.any_1[0].Container_create.labels := v_labels_1;
-						v_createRequest.content.any_1[0].Container_create.maxNrOfInstances := v_maxNrOfInstances;
-						v_updateRequest.content.any_1[0].Container_update.labels := v_labels_2;
-						v_updateRequest.content.any_1[0].Container_update.maxNrOfInstances := 0;//TODO
-						v_updateRequest.content.any_1[0].Container_update.accessControlPolicyIDs := v_acp;
+						v_createRequest.primitiveContent.any_1[0].Container_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].Container_create.maxNrOfInstances := v_maxNrOfInstances;
+						v_updateRequest.primitiveContent.any_1[0].Container_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Container_update.maxNrOfInstances := 0;//TODO
+						v_updateRequest.primitiveContent.any_1[0].Container_update.accessControlPolicyIDs := v_acp;
                         
 						f_CSE_DMR_UPD_BO_005(int3, v_createRequest, v_updateRequest);//Container
 					}
@@ -1940,11 +1941,11 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 
-						v_createRequest.content.any_1[0].Group_create.labels := v_labels_1;
-						v_createRequest.content.any_1[0].Group_create.groupName := "MyGroupName";
-						v_updateRequest.content.any_1[0].Group_update.labels := v_labels_2;
-						v_updateRequest.content.any_1[0].Group_update.groupName:= "";//TODO Set to NULL
-						v_updateRequest.content.any_1[0].Group_update.accessControlPolicyIDs := v_acp;
+						v_createRequest.primitiveContent.any_1[0].Group_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].Group_create.groupName := "MyGroupName";
+						v_updateRequest.primitiveContent.any_1[0].Group_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Group_update.groupName:= "";//TODO Set to NULL
+						v_updateRequest.primitiveContent.any_1[0].Group_update.accessControlPolicyIDs := v_acp;
                         
 						f_CSE_DMR_UPD_BO_005(int9, v_createRequest, v_updateRequest);//Group
 					}
@@ -1956,9 +1957,9 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 
-						v_createRequest.content.any_1[0].ACP_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].ACP_create.labels := v_labels_1;
 						//v_createRequest.content.any_1[0].ACP_create.groupName := "MyGroupName";TODO Need to find Attribute 2
-						v_updateRequest.content.any_1[0].ACP_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].ACP_update.labels := v_labels_2;
 						//v_updateRequest.content.any_1[0].ACP_update.groupName:= "";//TODO Set to NULL
 						//v_updateRequest.content.any_1[0].ACP_update.accessControlPolicyIDs := v_acp; TODO Need to find Attribute 3
       							
@@ -1972,9 +1973,9 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createScheduleBase;
 						var template RequestPrimitive v_updateRequest := m_updateScheduleBase;
 
-						v_createRequest.content.any_1[0].Schedule_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].Schedule_create.labels := v_labels_1;
 						//v_createRequest.content.any_1[0].Schedule_create.groupName := "MyGroupName";TODO Need to find Attribute 2
-						v_updateRequest.content.any_1[0].Schedule_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Schedule_update.labels := v_labels_2;
 						//v_updateRequest.content.any_1[0].Schedule_update.groupName:= "";//TODO Set to NULL
 						//v_updateRequest.content.any_1[0].Schedule_update.accessControlPolicyIDs := v_acp; TODO Need to find Attribute 3
                 						
@@ -1989,11 +1990,11 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createPollingChannelBase;
 						var template RequestPrimitive v_updateRequest := m_updatePollingChannelBase;
 
-						v_createRequest.content.any_1[0].PollingChannel_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].PollingChannel_create.labels := v_labels_1;
 						//v_createRequest.content.any_1[0].PollingChannel_create.groupName := "MyGroupName";TODO Need to find Attribute 2
-						v_updateRequest.content.any_1[0].PollingChannel_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].PollingChannel_update.labels := v_labels_2;
 						//v_updateRequest.content.any_1[0].PollingChannel_update.groupName:= "";//TODO Set to NULL
-						v_updateRequest.content.any_1[0].PollingChannel_update.accessControlPolicyIDs := v_acp; 
+						v_updateRequest.primitiveContent.any_1[0].PollingChannel_update.accessControlPolicyIDs := v_acp; 
       						
 						f_CSE_DMR_UPD_BO_005(int15, v_createRequest, v_updateRequest);//PollingChannel
 					}
@@ -2006,11 +2007,11 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createSubscriptionBase;
 						var template RequestPrimitive v_updateRequest := m_updateSubscriptionBase;
 
-						v_createRequest.content.any_1[0].Subscription_create.labels := v_labels_1;
-						v_createRequest.content.any_1[0].Subscription_create.expirationCounter := 5;
-						v_updateRequest.content.any_1[0].Subscription_update.labels := v_labels_2;
-						v_updateRequest.content.any_1[0].Subscription_update.expirationCounter := 1;//TODO Set to NULL
-						v_updateRequest.content.any_1[0].Subscription_update.accessControlPolicyIDs := v_acp; 
+						v_createRequest.primitiveContent.any_1[0].Subscription_create.labels := v_labels_1;
+						v_createRequest.primitiveContent.any_1[0].Subscription_create.expirationCounter := 5;
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.labels := v_labels_2;
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.expirationCounter := 1;//TODO Set to NULL
+						v_updateRequest.primitiveContent.any_1[0].Subscription_update.accessControlPolicyIDs := v_acp; 
       							
 						f_CSE_DMR_UPD_BO_005(int23, v_createRequest, v_updateRequest);//Subscription
 						}
@@ -2035,10 +2036,10 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						f_preamble_registerAe(v_aeName, int63);//c_CRUDNDi);
-						f_createResource(p_resourceType, v_aeResourceAddress, v_resourceName, p_createRequestPrimitive); 				
+						f_createResource(p_resourceType, v_aeResourceAddress, p_createRequestPrimitive); 				
     									
 						// Test Body
-						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, v_resourceName, p_updateRequestPrimitive);
+						v_request := f_getUpdateRequestPrimitive(p_resourceType, v_targetResourceAddress, p_updateRequestPrimitive);
 						
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
diff --git a/OneM2M_Types.ttcn b/OneM2M_Types.ttcn
old mode 100755
new mode 100644
index 4820296..4c3b60e
--- a/OneM2M_Types.ttcn
+++ b/OneM2M_Types.ttcn
@@ -7,3730 +7,3996 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Types.ttcn $
- *              $Id: OneM2M_Types.ttcn 24 2016-03-17 13:30:50Z berge $
+ *              $Id: OneM2M_Types.ttcn 43 2016-04-13 12:16:12Z reinaortega $
  *  @desc       Test System module for oneM2M
  *
  */
 module OneM2M_Types {
 
 
-import from XSD all;
-
-type record AccessControlPolicy
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	SetOfAcrs privileges,
-	SetOfAcrs selfPrivileges,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record AccessControlPolicyAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	SetOfAcrs privileges,
-	SetOfAcrs selfPrivileges,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record SetOfAcrs
-{
-	record of AccessControlRule accessControlRule_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (accessControlRule_list) "untagged";
-//	variant (accessControlRule_list[-]) "name as 'accessControlRule'";
-};
-
-type record AccessControlRule
-{
-	ListOfURIs accessControlOriginators,
-	AccessControlOperations accessControlOperations,
-	record of record {
-		record of ScheduleEntry accessControlWindow_list,
-		record {
-			record of Ipv4 ipv4Addresses,
-			record of Ipv6 ipv6Addresses
-		} accessControlIpAddresses optional,
-		LocationRegion accessControlLocationRegion optional
-	} accessControlContexts_list optional//TODO: Added "optional". To double check
-}
-with {
-  variant "name as uncapitalized";
- // variant (accessControlContexts_list) "untagged";
-//	variant (accessControlContexts_list[-]) "name as 'accessControlContexts'";
-  variant (accessControlContexts_list[-].accessControlWindow_list) "untagged";
-//	variant (accessControlContexts_list[-].accessControlWindow_list[-]) "name as 'accessControlWindow'";
-  variant (accessControlContexts_list[-].accessControlIpAddresses.ipv4Addresses) "list";
-  variant (accessControlContexts_list[-].accessControlIpAddresses.ipv6Addresses) "list";
-};
-
-
-type record LocationRegion
-{
-	union {
-		record of CountryCode countryCode,
-		record length(3) of XSD.Float circRegion //length(0 .. infinity)
-	} choice
-}
-with {
-  variant "name as uncapitalized";
-  variant (choice) "untagged";
-  variant (choice.countryCode) "list";
-};
+	import from XSD all;
 
-type XSD.String CountryCode (pattern "[A-Z]#(2)")
-with {
-  variant "name as uncapitalized";
-};
 
-type XSD.Token Ipv4 (pattern "[0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1)")
-with {
-  variant "name as uncapitalized";
-};
+	type record AccessControlPolicy
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		SetOfAcrs privileges,
+		SetOfAcrs selfPrivileges,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record AccessControlPolicyAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		SetOfAcrs privileges,
+		SetOfAcrs selfPrivileges,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record SetOfAcrs
+	{
+		record of AccessControlRule accessControlRule_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (accessControlRule_list) "untagged";
+	  variant (accessControlRule_list[-]) "name as 'accessControlRule'";
+	};
+
+
+	type record AccessControlRule
+	{
+		ListOfURIs accessControlOriginators,
+		AccessControlOperations accessControlOperations,
+		record of record {
+			record of ScheduleEntry accessControlWindow_list,
+			record {
+				record length(1 .. infinity) of Ipv4 ipv4Addresses,
+				record length(1 .. infinity) of Ipv6 ipv6Addresses
+			} accessControlIpAddresses optional,
+			LocationRegion accessControlLocationRegion optional
+		} accessControlContexts_list optional//TODO
+	}
+	with {
+	  variant "name as uncapitalized";
+//	  variant (accessControlContexts_list) "untagged";
+	  variant (accessControlContexts_list[-]) "name as 'accessControlContexts'";
+	  variant (accessControlContexts_list[-].accessControlWindow_list) "untagged";
+	  variant (accessControlContexts_list[-].accessControlWindow_list[-]) "name as 'accessControlWindow'";
+	  variant (accessControlContexts_list[-].accessControlIpAddresses.ipv4Addresses) "list";
+	  variant (accessControlContexts_list[-].accessControlIpAddresses.ipv6Addresses) "list";
+	};
+
+
+	type record LocationRegion
+	{
+		union {
+			record length(1 .. infinity) of CountryCode countryCode,
+			record length(3) of XSD.Float circRegion
+		} choice
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (choice) "untagged";
+	  variant (choice.countryCode) "list";
+	  variant (choice.circRegion) "list";
+	};
 
-type XSD.Token Ipv6 (pattern "::(/0)#(0,1)")
-with {
-  variant "name as uncapitalized";
-};
-
-type record ActiveCmdhPolicy
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.ID activeCmdhPolicyLink
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-type record AE
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	XSD.String appName optional,
-	XSD.String app_ID,
-	XSD.ID aE_ID,
-	POAList pointOfAccess optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Container container,
-			Group group_,
-			AccessControlPolicy accessControlPolicy,
-			Subscription subscription,
-			PollingChannel pollingChannel
-		} choice_list
-	} choice optional
-}
-with {
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (app_ID) "name as 'App-ID'";
-  variant (aE_ID) "name as 'AE-ID'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-// variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-};
-
-type record AEAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	XSD.String appName optional,
-	XSD.String app_ID,
-	XSD.ID aE_ID,
-	POAList pointOfAccess optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Container container,
-			ContainerAnnc containerAnnc,
-			Group group_,
-			GroupAnnc groupAnnc,
-			AccessControlPolicy accessControlPolicy,
-			AccessControlPolicyAnnc accessControlPolicyAnnc,
-			Subscription subscription,
-			PollingChannel pollingChannel
-		} choice_list
-	} choice optional
-}
-with {
-  variant "element";
-  variant (name) "attribute";
-  variant (app_ID) "name as 'App-ID'";
-  variant (aE_ID) "name as 'AE-ID'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-};
-
-type record AreaNwkDeviceInfo
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String devID,
-	XSD.String devType,
-	XSD.AnyURI areaNwkId,
-	XSD.NonNegativeInteger sleepInterval optional,
-	XSD.NonNegativeInteger sleepDuration optional,
-	XSD.String status optional,
-	ListOfURIs listOfNeighbors,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record AreaNwkDeviceInfoAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String devID optional,
-	XSD.String devType optional,
-	XSD.AnyURI areaNwkId optional,
-	XSD.NonNegativeInteger sleepInterval optional,
-	XSD.NonNegativeInteger sleepDuration optional,
-	XSD.String status optional,
-	ListOfURIs listOfNeighbors optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record AreaNwkInfo
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String areaNwkType,
-	ListOfURIs listOfDevices,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record AreaNwkInfoAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String areaNwkType optional,
-	ListOfURIs listOfDevices optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record Battery
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.UnsignedInt batteryLevel,
-	BatteryStatus batteryStatus,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record BatteryAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.UnsignedInt batteryLevel optional,
-	BatteryStatus batteryStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record CmdhBuffer
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfEventCatWithDef applicableEventCategory,
-	XSD.NonNegativeInteger maxBufferSize,
-	XSD.PositiveInteger storagePriority (1 .. !11)
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-type record CmdhDefaults
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	record length(2 .. infinity) of MgmtLinkRef mgmtLink_list
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (mgmtLink_list) "untagged";
-//	variant (mgmtLink_list[-]) "name as 'mgmtLink'";
-};
-
-type record CmdhDefEcValue
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.PositiveInteger order,
-	EventCat defEcValue,
-	ListOfM2MID requestOrigin,
-	XSD.AnyType requestContext optional,
-	XSD.Boolean requestContextNotification optional,
-	XSD.AnyType requestCharacteristics optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (requestContextNotification) "text 'true' as '1'";
-  //variant (requestContextNotification) "text 'false' as '0'";
-};
-
-type record CmdhEcDefParamValues
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfEventCatWithDef applicableEventCategory,
-	XSD.Long defaultRequestExpTime,
-	XSD.Long defaultResultExpTime,
-	XSD.Long defaultOpExecTime,
-	XSD.Long defaultRespPersistence,
-	XSD.Boolean defaultDelAggregation
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (defaultDelAggregation) "text 'true' as '1'";
-  //variant (defaultDelAggregation) "text 'false' as '0'";
-};
-
-type record CmdhLimits
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.PositiveInteger order,
-	ListOfM2MID requestOrigin,
-	XSD.AnyType requestContext,
-	XSD.Boolean requestContextNotification optional,
-	XSD.AnyType requestCharacteristics,
-	ListOfEventCat limitsEventCategory,
-	ListOfMinMax limitsRequestExpTime,
-	ListOfMinMax limitsResultExpTime,
-	ListOfMinMax limitsOpExecTime,
-	ListOfMinMax limitsRespPersistence,
-	/* defines data type denoted "m2m:permittedBooleanValues" in TS-0004 D.12.5 */
-	/* False */
-	/* True */
-	/* True and False */
-	enumerated {
-		x0,
-		x1,
-		x0_1
-	} limitsDelAggregation
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (requestContextNotification) "text 'true' as '1'";
-  //variant (requestContextNotification) "text 'false' as '0'";
-  variant (limitsDelAggregation) "text 'x0' as '0'";
-  variant (limitsDelAggregation) "text 'x0_1' as '0 1'";
-  variant (limitsDelAggregation) "text 'x1' as '1'";
-};
-
-type record CmdhNetworkAccessRules
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfEventCatWithDef applicableEventCategories,
-	record of MgmtLinkRef mgmtLink_list
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (mgmtLink_list) "untagged";
-//	variant (mgmtLink_list[-]) "name as 'mgmtLink'";
-};
-
-type record CmdhNwAccessRule
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfM2MID targetNetwork,
-	XSD.NonNegativeInteger minReqVolume,
-	BackOffParameters backOffParameters,
-	XSD.AnyType otherConditions,
-	MgmtLinkRef mgmtLink
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-type record CmdhPolicy
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String name_1,
-	record length(4 .. infinity) of MgmtLinkRef mgmtLink_list
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (name_1) "name as 'name'";
-  variant (mgmtLink_list) "untagged";
-//	variant (mgmtLink_list[-]) "name as 'mgmtLink'";
-};
 
-type XSD.AnyURI ID;
 
 
-type XSD.Token NodeID
-with {
-  variant "name as uncapitalized";
-};
+	type XSD.String CountryCode (pattern "[A-Z]#(2)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type XSD.Token DeviceID (pattern "urn:meid:[\dABCDEFabcdef]#(14)")
-with {
-  variant "name as uncapitalized";
-};
 
 
-type XSD.Token ExternalID
-with {
-  variant "name as uncapitalized";
-};
+	type XSD.Token Ipv4 (pattern "[0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type XSD.Token RequestID
-with {
-  variant "name as uncapitalized";
-};
+	type XSD.Token Ipv6 (pattern "::(/0)#(0,1)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type XSD.AnyURI NhURI
-with {
-  variant "name as uncapitalized";
-};
+	type record ActiveCmdhPolicy
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.ID activeCmdhPolicyLink
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+
+	type record AE
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		XSD.String appName optional,
+		XSD.String app_ID,
+		XSD.ID aE_ID,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI nodeLink optional,
+		XSD.Boolean requestReachability,
+		Serializations contentSerialization optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Container container,
+				Group group_,
+				AccessControlPolicy accessControlPolicy,
+				Subscription subscription,
+				PollingChannel pollingChannel,
+				Schedule schedule
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (app_ID) "name as 'App-ID'";
+	  variant (aE_ID) "name as 'AE-ID'";
+	  //variant (requestReachability) "text 'true' as '1'";
+	  //variant (requestReachability) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
+
+
+	type record AEAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		XSD.String appName optional,
+		XSD.String app_ID,
+		XSD.ID aE_ID,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI nodeLink optional,
+		XSD.Boolean requestReachability optional,
+		Serializations contentSerialization optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Container container,
+				ContainerAnnc containerAnnc,
+				Group group_,
+				GroupAnnc groupAnnc,
+				AccessControlPolicy accessControlPolicy,
+				AccessControlPolicyAnnc accessControlPolicyAnnc,
+				Subscription subscription,
+				ScheduleAnnc scheduleAnnc
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (app_ID) "name as 'App-ID'";
+	  variant (aE_ID) "name as 'AE-ID'";
+	  //variant (requestReachability) "text 'true' as '1'";
+	  //variant (requestReachability) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
+
+
+	type record AreaNwkDeviceInfo
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String devID,
+		XSD.String devType,
+		XSD.AnyURI areaNwkId,
+		XSD.NonNegativeInteger sleepInterval optional,
+		XSD.NonNegativeInteger sleepDuration optional,
+		XSD.String devStatus optional,
+		ListOfURIs listOfNeighbors,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record AreaNwkDeviceInfoAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String devID optional,
+		XSD.String devType optional,
+		XSD.AnyURI areaNwkId optional,
+		XSD.NonNegativeInteger sleepInterval optional,
+		XSD.NonNegativeInteger sleepDuration optional,
+		XSD.String devStatus optional,
+		ListOfURIs listOfNeighbors optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record AreaNwkInfo
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String areaNwkType,
+		ListOfURIs listOfDevices,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record AreaNwkInfoAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String areaNwkType optional,
+		ListOfURIs listOfDevices optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record Battery
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.UnsignedInt batteryLevel,
+		BatteryStatus batteryStatus,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record BatteryAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.UnsignedInt batteryLevel optional,
+		BatteryStatus batteryStatus optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record CmdhBuffer
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		ListOfEventCatWithDef applicableEventCategory,
+		XSD.NonNegativeInteger maxBufferSize,
+		XSD.PositiveInteger storagePriority (1 .. !11)
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+
+	type record CmdhDefaults
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		record length(2 .. infinity) of MgmtLinkRef mgmtLink_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (mgmtLink_list) "untagged";
+	  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
+	};
+
+
+	type record CmdhDefEcValue
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.PositiveInteger order,
+		EventCat defEcValue,
+		ListOfM2MID requestOrigin,
+		XSD.AnyType requestContext optional,
+		XSD.Boolean requestContextNotification optional,
+		XSD.AnyType requestCharacteristics optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (requestContextNotification) "text 'true' as '1'";
+	  //variant (requestContextNotification) "text 'false' as '0'";
+	};
+
+
+	type record CmdhEcDefParamValues
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		ListOfEventCatWithDef applicableEventCategory,
+		XSD.Long defaultRequestExpTime,
+		XSD.Long defaultResultExpTime,
+		XSD.Long defaultOpExecTime,
+		XSD.Long defaultRespPersistence,
+		XSD.Boolean defaultDelAggregation
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (defaultDelAggregation) "text 'true' as '1'";
+	  //variant (defaultDelAggregation) "text 'false' as '0'";
+	};
+
+
+	type record CmdhLimits
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.PositiveInteger order,
+		ListOfM2MID requestOrigin,
+		XSD.AnyType requestContext,
+		XSD.Boolean requestContextNotification optional,
+		XSD.AnyType requestCharacteristics,
+		ListOfEventCat limitsEventCategory,
+		ListOfMinMax limitsRequestExpTime,
+		ListOfMinMax limitsResultExpTime,
+		ListOfMinMax limitsOpExecTime,
+		ListOfMinMax limitsRespPersistence,
+		enumerated {
+			x0,
+			x1,
+			x0_1
+		} limitsDelAggregation
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (requestContextNotification) "text 'true' as '1'";
+	  //variant (requestContextNotification) "text 'false' as '0'";
+	  variant (limitsDelAggregation) "text 'x0' as '0'";
+	  variant (limitsDelAggregation) "text 'x0_1' as '0 1'";
+	  variant (limitsDelAggregation) "text 'x1' as '1'";
+	};
+
+
+	type record CmdhNetworkAccessRules
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		ListOfEventCatWithDef applicableEventCategories,
+		record of MgmtLinkRef mgmtLink_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (mgmtLink_list) "untagged";
+	  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
+	};
+
+
+	type record CmdhNwAccessRule
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		ListOfM2MID targetNetwork,
+		XSD.NonNegativeInteger minReqVolume,
+		BackOffParameters backOffParameters,
+		XSD.AnyType otherConditions,
+		MgmtLinkRef mgmtLink
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+
+	type record CmdhPolicy
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String cmdhPolicyName,
+		record length(4 .. infinity) of MgmtLinkRef mgmtLink_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (mgmtLink_list) "untagged";
+	  variant (mgmtLink_list[-]) "name as 'mgmtLink'";
+	};
 
 
-type record of XSD.AnyURI AcpType
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
-type record of XSD.Token Labels
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
-type XSD.Token NetworkaccessID
-with {
-  variant "name as uncapitalized";
-};
 
-type record of XSD.ID ListOfM2MID
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
-type XSD.Long LongMin_1 (-1 .. infinity)
-with {
-  variant "name as 'longMin-1'";
-};
 
-type record of LongMin_1 ListOflongMin_1
-with {
-  variant "name as 'listOflongMin-1'";
-  variant "list";
-};
 
-type ListOflongMin_1 ListOfMinMax length(2)
-with {
-  variant "name as uncapitalized";
-};
+	type XSD.AnyURI ID;
 
-type record of XSD.NonNegativeInteger ListOfNonNegInt
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
-type ListOfNonNegInt BackOffParameters length(3)
-with {
-  variant "name as uncapitalized";
-};
+	type XSD.Token NodeID
+	with {
+	  variant "name as uncapitalized";
+	};
 
-type record of XSD.String POAList
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
-type XSD.String Timestamp (pattern "\d#(4)(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|30|31)T([01]\d|2[0-3])[0-5]\d[0-5]\d")
-with {
-  variant "name as uncapitalized";
-};
+	type XSD.Token DeviceID (pattern "urn:meid:[\dABCDEFabcdef]#(14)")
+	with {
+	  variant "name as uncapitalized";
+	};
 
-type XSD.String ContentInfo //TODO (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+(:[0-2])#(0,1)") TODO To verify the pattern
-with {
-  variant "name as uncapitalized";
-};
 
-type union EventCat
-{
-	StdEventCats alt_,
-	XSD.Integer alt_1 (100 .. 999)
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-};
-
-type union EventCatWithDef
-{
-	enumerated {
-		int0(0)
-	} alt_,
-	StdEventCats alt_1,
-	XSD.Integer alt_2 (100 .. 999)
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_) "useNumber";
-  variant (alt_1) "name as ''";
-  variant (alt_2) "name as 'alt_1'";
-  variant (alt_2) "name as ''";
-};
+	type XSD.Token ExternalID
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type record of EventCat ListOfEventCat
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type XSD.Token RequestID
+	with {
+	  variant "name as uncapitalized";
+	};
 
 
-type record of EventCatWithDef ListOfEventCatWithDef
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type XSD.AnyURI NhURI
+	with {
+	  variant "name as uncapitalized";
+	};
 
-type XSD.String ScheduleEntry (pattern "(([*]|[1-5]#(0,1)\d([,-][1-5]#(0,1)\d)*)[\q{0,0,0,20}\q{0,0,0,10}\t\r]+)#(2)([*]|((1#(0,1)\d|2[0-3])([,-](1#(0,1)\d|2[0-3]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1\d|2\d|3[01])([,-]([1-9]|1\d|2\d|3[01]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1[0-2])([,-]([1-9]|1[0-2]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+[*]|([0-6]([,-][0-6])*)")
-with {
-  variant "name as uncapitalized";
-};
 
-type XSD.UnsignedInt TriggerRecipientID
-with {
-  variant "name as uncapitalized";
-};
+	type record length(1 .. infinity) of XSD.ID AcpType
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
 
-type record of XSD.AnyURI ListOfURIs
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-type record DeliveryMetaData
-{
-	XSD.Boolean tracingOption,
-	ListOfM2MID tracingInfo
-}
-with {
-  variant "name as uncapitalized";
-  //variant (tracingOption) "text 'true' as '1'";
-  //variant (tracingOption) "text 'false' as '0'";
-};
+	type record length(1 .. infinity) of XSD.Token Labels
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
 
 
-type record AggregatedRequest
-{
-	record length(1 .. infinity) of record {
-		Operation operation,
-		XSD.AnyURI to_,
-		XSD.ID from_,
-		RequestID requestIdentifier,
-		PrimitiveContent content optional,
-		MetaInformation metaInformation optional
-	} request_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (request_list) "untagged";
-//	variant (request_list[-]) "name as 'request'";
-  variant (request_list[-].to_) "name as 'to'";
-  variant (request_list[-].from_) "name as 'from'";
-};
-
-
-type record MetaInformation
-{
-	ResourceType resourceType optional,
-	XSD.String name optional,
-	Timestamp originatingTimestamp optional,
-	Timestamp requestExpirationTimestamp optional,
-	Timestamp resultExpirationTimestamp optional,
-	Timestamp operationalExecutionTime optional,
-	ResponseType responseType optional,
-	Timestamp resultPersistence optional,
-	ResultContent resultContent optional,
-	record {
-		EventCat eventCatType,
-		XSD.NonNegativeInteger eventCatNo
-	} eventCategory optional,
-	XSD.Boolean deliveryAggregation optional,
-	XSD.String groupRequestIdentifier optional,
-	FilterCriteria filterCriteria optional,
-	DiscResType discoveryResultType optional
-}
-with {
-  variant "name as uncapitalized";
-  //variant (deliveryAggregation) "text 'true' as '1'";
-  //variant (deliveryAggregation) "text 'false' as '0'";
-};
-
-type record PrimitiveContent
-{
-	record of anytype any_1 //TODO: Added manually to allow any type defined in the XSD documents
-	//record of XSD.String elem_list TODO Double check
-}
-with {
-  variant "name as uncapitalized";
-//  variant (elem_list) "untagged";
-//	variant (elem_list[-]) "anyElement from 'http://www.onem2m.org/xml/protocols'";
-};
-
-type record FilterCriteria
-{
-	Timestamp createdBefore optional,
-	Timestamp createdAfter optional,
-	Timestamp modifiedSince optional,
-	Timestamp unmodifiedSince optional,
-	XSD.PositiveInteger stateTagSmaller optional,
-	XSD.NonNegativeInteger stateTagBigger optional,
-	Timestamp expireBefore optional,
-	Timestamp expireAfter optional,
-	Labels labels optional,
-	ResourceType resourceType optional,
-	XSD.NonNegativeInteger sizeAbove optional,
-	XSD.PositiveInteger sizeBelow optional,
-	record of XSD.String contentType_list,
-	record of Attribute attribute_list,
-	FilterUsage filterUsage optional,
-	XSD.NonNegativeInteger limit optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (contentType_list) "untagged";
-//	variant (contentType_list[-]) "name as 'contentType'";
-  variant (attribute_list) "untagged";
-//	variant (attribute_list[-]) "name as 'attribute'";
-};
-
-type record Attribute
-{
-	XSD.NCName name,
-	XSD.AnyType value_
-}
-with {
-  variant "name as uncapitalized";
-  variant (value_) "name as 'value'";
-};
+	type XSD.UnsignedInt TriggerRecipientID (0 .. 65535)
+	with {
+	  variant "name as uncapitalized";
+	};
 
-type record AttributeList_1
-{
-	record length(1 .. infinity) of Attribute attribute_list
-}
-with {
-  variant "name as 'attributeList'";
-  variant (attribute_list) "untagged";
-//	variant (attribute_list[-]) "name as 'attribute'";
-};
-
-type record ScheduleEntries
-{
-	record length(1 .. infinity) of ScheduleEntry scheduleEntry_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (scheduleEntry_list) "untagged";
-//	variant (scheduleEntry_list[-]) "name as 'scheduleEntry'";
-};
-
-type record ActionStatus
-{
-	XSD.AnyURI action_ optional,
-	Status status optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (action_) "name as 'action'";
-};
-
-type record AnyArgType
-{
-	XSD.NCName name,
-	XSD.AnyType value_
-}
-with {
-  variant "name as uncapitalized";
-  variant (value_) "name as 'value'";
-};
 
-type record ResetArgsType
-{
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (anyArg_list) "untagged";
-//	variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-type record RebootArgsType
-{
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (anyArg_list) "untagged";
-//	variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-type record UploadArgsType
-{
-	XSD.String fileType,
-	XSD.AnyURI uRL,
-	XSD.String username,
-	XSD.String password,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRL) "name as capitalized";
-  variant (anyArg_list) "untagged";
-//	variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-type record DownloadArgsType
-{
-	XSD.String fileType,
-	XSD.AnyURI uRL,
-	XSD.String username,
-	XSD.String password,
-	XSD.String filesize,
-	XSD.String targetFile,
-	XSD.Int delaySeconds,
-	XSD.AnyURI successURL,
-	Timestamp startTime,
-	Timestamp completeTime,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRL) "name as capitalized";
-  variant (anyArg_list) "untagged";
-//	variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-type record SoftwareInstallArgsType
-{
-	XSD.AnyURI uRL,
-	XSD.String uUID,
-	XSD.String username,
-	XSD.String password,
-	XSD.String executionEnvRef,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRL) "name as capitalized";
-  variant (uUID) "name as capitalized";
-  variant (anyArg_list) "untagged";
-//	variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-type record SoftwareUpdateArgsType
-{
-	XSD.String uUID,
-	XSD.String version,
-	XSD.AnyURI uRL,
-	XSD.String username,
-	XSD.String password,
-	XSD.String executionEnvRef,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uUID) "name as capitalized";
-  variant (uRL) "name as capitalized";
-  variant (anyArg_list) "untagged";
-//	variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-type record SoftwareUninstallArgsType
-{
-	XSD.String uUID,
-	XSD.String version,
-	XSD.String executionEnvRef,
-	record of AnyArgType anyArg_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uUID) "name as capitalized";
-  variant (anyArg_list) "untagged";
-//	variant (anyArg_list[-]) "name as 'anyArg'";
-};
-
-type record ExecReqArgsListType
-{
-	union {
-		record length(1 .. infinity) of ResetArgsType reset_list,
-		record length(1 .. infinity) of RebootArgsType reboot_list,
-		record length(1 .. infinity) of UploadArgsType upload_list,
-		record length(1 .. infinity) of DownloadArgsType download_list,
-		record length(1 .. infinity) of SoftwareInstallArgsType softwareInstall_list,
-		record length(1 .. infinity) of SoftwareUpdateArgsType softwareUpdate_list,
-		record length(1 .. infinity) of SoftwareUninstallArgsType softwareUninstall_list
-	} choice
-}
-with {
-  variant "name as uncapitalized";
-  variant (choice) "untagged";
-  variant (choice.reset_list) "untagged";
-//	variant (choice.reset_list[-]) "name as 'reset'";
-  variant (choice.reboot_list) "untagged";
-//	variant (choice.reboot_list[-]) "name as 'reboot'";
-  variant (choice.upload_list) "untagged";
-//	variant (choice.upload_list[-]) "name as 'upload'";
-  variant (choice.download_list) "untagged";
-//	variant (choice.download_list[-]) "name as 'download'";
-  variant (choice.softwareInstall_list) "untagged";
-//	variant (choice.softwareInstall_list[-]) "name as 'softwareInstall'";
-  variant (choice.softwareUpdate_list) "untagged";
-//	variant (choice.softwareUpdate_list[-]) "name as 'softwareUpdate'";
-  variant (choice.softwareUninstall_list) "untagged";
-//	variant (choice.softwareUninstall_list[-]) "name as 'softwareUninstall'";
-};
-
-type record MgmtLinkRef
-{
-	XSD.NCName name,
-	MgmtDefinition type_,
-	XSD.AnyURI base
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-  variant (type_) "name as 'type'";
-  variant (type_) "attribute";
-  variant (base) "untagged";
-};
-
-type record ResourceWrapper
-{
-	XSD.AnyURI uRI,
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRI) "name as capitalized";
-  variant (uRI) "attribute";
-  variant (name) "attribute";
-};
-
-type record ChildResourceRef
-{
-	XSD.NCName resourceName,
-	ResourceType type_,
-	XSD.AnyURI base
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-  variant (type_) "name as 'type'";
-  variant (type_) "attribute";
-  variant (base) "untagged";
-};
-
-type record ResponseTypeInfo
-{
-	ResponseType responseType,
-	record of XSD.AnyURI notificationURI_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (notificationURI_list) "untagged";
-//	variant (notificationURI_list[-]) "name as 'notificationURI'";
-};
-
-type record OperationResult
-{
-	PrimitiveContent content optional,
-	EventCat eventCategory optional,
-	XSD.ID from_ optional,
-	Timestamp originatingTimestamp optional,
-	RequestID requestIdentifier,
-	Timestamp resultExpirationTimestamp optional,
-	XSD.AnyURI to_ optional,
-	ResponseStatusCode responseStatusCode
-}
-with {
-  variant "name as uncapitalized";
-  variant (from_) "name as 'from'";
-  variant (to_) "name as 'to'";
-};
-
-type record Resource_1
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional
-}
-with {
-  variant "name as 'resource'";
-  variant (name) "attribute";
-};
-
-type record RegularResource
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-};
-
-type record AnnounceableResource
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-type record AnnouncedResource
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-};
-
-type record AnnounceableSubordinateResource
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-type record AnnouncedSubordinateResource
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-};
-
-type record MgmtResource
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-type record AnnouncedMgmtResource
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-};
-
-type record Container
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator,
-	XSD.NonNegativeInteger maxNrOfInstances optional,
-	XSD.NonNegativeInteger maxByteSize optional,
-	XSD.NonNegativeInteger maxInstanceAge optional,
-	XSD.NonNegativeInteger currentNrOfInstances,
-	XSD.NonNegativeInteger currentByteSize,
-	XSD.AnyURI locationID optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI latest,
-	XSD.AnyURI oldest,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ContentInstance contentInstance,
-			Container container,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record ContainerAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	XSD.NonNegativeInteger stateTag,
-	XSD.NonNegativeInteger maxNrOfInstances optional,
-	XSD.NonNegativeInteger maxByteSize optional,
-	XSD.NonNegativeInteger maxInstanceAge optional,
-	XSD.NonNegativeInteger currentNrOfInstances,
-	XSD.NonNegativeInteger currentByteSize,
-	XSD.AnyURI locationID optional,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ContentInstance contentInstance,
-			ContentInstanceAnnc contentInstanceAnnc,
-			Container container,
-			ContainerAnnc containerAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record ContentInstance
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	ContentInfo contentInfo optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyType content
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-type record ContentInstanceAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	XSD.NonNegativeInteger stateTag,
-	ContentInfo contentInfo optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyType content optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-};
-
-type record CSEBase
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	CseTypeID cseType optional,
-	XSD.ID cSE_ID,
-	record of ResourceType supportedResourceType,
-	POAList pointOfAccess,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			RemoteCSE remoteCSE,
-			Node node,
-			AE aE,
-			Container container,
-			Group group_,
-			AccessControlPolicy accessControlPolicy,
-			Subscription subscription,
-			MgmtCmd mgmtCmd,
-			LocationPolicy locationPolicy,
-			StatsConfig statsConfig,
-			StatsCollect statsCollect,
-			Request request,
-			Delivery delivery,
-			Schedule schedule,
-			M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
-			ServiceSubscribedAppRule serviceSubscribedAppRule
-		} choice_list
-	} choice optional
-}
-with {
-  variant "element";
-  variant (name) "attribute";
-  variant (cSE_ID) "name as 'CSE-ID'";
-  variant (supportedResourceType) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].aE) "name as capitalized";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-};
-
-type record Delivery
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID source,
-	XSD.ID target,
-	Timestamp lifespan,
-	EventCat eventCat,
-	DeliveryMetaData deliveryMetaData,
-	AggregatedRequest aggregatedRequest,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record DeviceCapability
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String capabilityName,
-	XSD.Boolean attached,
-	ActionStatus capabilityActionStatus,
-	XSD.Boolean currentState,
-	XSD.Boolean enable optional,
-	XSD.Boolean disable optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (attached) "text 'true' as '1'";
-  //variant (attached) "text 'false' as '0'";
-  //variant (currentState) "text 'true' as '1'";
-  //variant (currentState) "text 'false' as '0'";
-  //variant (enable) "text 'true' as '1'";
-  //variant (enable) "text 'false' as '0'";
-  //variant (disable) "text 'true' as '1'";
-  //variant (disable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record DeviceCapabilityAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String capabilityName optional,
-	XSD.Boolean attached optional,
-	ActionStatus capabilityActionStatus optional,
-	XSD.Boolean currentState optional,
-	XSD.Boolean enable optional,
-	XSD.Boolean disable optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  //variant (attached) "text 'true' as '1'";
-  //variant (attached) "text 'false' as '0'";
-  //variant (currentState) "text 'true' as '1'";
-  //variant (currentState) "text 'false' as '0'";
-  //variant (enable) "text 'true' as '1'";
-  //variant (enable) "text 'false' as '0'";
-  //variant (disable) "text 'true' as '1'";
-  //variant (disable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record DeviceInfo
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String deviceLabel,
-	XSD.String manufacturer,
-	XSD.String model,
-	XSD.String deviceType,
-	XSD.String fwVersion,
-	XSD.String swVersion,
-	XSD.String hwVersion,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record DeviceInfoAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String deviceLabel optional,
-	XSD.String manufacturer optional,
-	XSD.String model optional,
-	XSD.String deviceType optional,
-	XSD.String fwVersion optional,
-	XSD.String swVersion optional,
-	XSD.String hwVersion optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type enumerated ResourceType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int17(17),
-	int18(18),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int10001(10001),
-	int10002(10002),
-	int10003(10003),
-	int10004(10004),
-	int10009(10009),
-	int10010(10010),
-	int10013(10013),
-	int10014(10014),
-	int10016(10016),
-	int10018(10018)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated CseTypeID
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated LocationSource
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated StdEventCats
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated Operation
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated ResponseType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated ResultContent
-{
-	int0(0),
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated DiscResType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated ResponseStatusCode
-{
-	int1000(1000),
-	int2000(2000),
-	int2001(2001),
-	int2002(2002),
-	int2004(2004),
-	int4000(4000),
-	int4004(4004),
-	int4005(4005),
-	int4008(4008),
-	int4101(4101),
-	int4102(4102),
-	int4103(4103),
-	int4104(4104),
-	int4105(4105),
-	int5000(5000),
-	int5001(5001),
-	int5103(5103),
-	int5105(5105),
-	int5106(5106),
-	int5203(5203),
-	int5204(5204),
-	int5205(5205),
-	int5206(5206),
-	int6003(6003),
-	int6005(6005),
-	int6010(6010),
-	int6011(6011),
-	int6020(6020),
-	int6021(6021),
-	int6022(6022),
-	int6023(6023),
-	int6024(6024),
-	int6025(6025),
-	int6026(6026),
-	int6028(6028),
-	int6029(6029)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated RequestStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated MemberType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int17(17),
-	int18(18),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated ConsistencyStrategy
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated CmdType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated ExecModeType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated ExecStatusType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated ExecResultType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int17(17),
-	int18(18),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated PendingNotification
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated NotificationContentType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated ResourceStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated Status
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated BatteryStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated MgmtDefinition
-{
-	int0(0),
-	int1001(1001),
-	int1002(1002),
-	int1003(1003),
-	int1004(1004),
-	int1005(1005),
-	int1006(1006),
-	int1007(1007),
-	int1008(1008),
-	int1009(1009),
-	int1010(1010),
-	int1011(1011),
-	int1012(1012),
-	int1013(1013),
-	int1014(1014),
-	int1015(1015),
-	int1016(1016),
-	int1017(1017),
-	int1018(1018),
-	int1019(1019)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated LogTypeId
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated LogStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated EventType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated StatsRuleStatusType
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
-type enumerated StatModelType
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated EncodingType
-{
-	int0(0),
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated AccessControlOperations
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int17(17),
-	int18(18),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30),
-	int31(31),
-	int32(32),
-	int33(33),
-	int34(34),
-	int35(35),
-	int36(36),
-	int37(37),
-	int38(38),
-	int39(39),
-	int40(40),
-	int41(41),
-	int42(42),
-	int43(43),
-	int44(44),
-	int45(45),
-	int46(46),
-	int47(47),
-	int48(48),
-	int49(49),
-	int50(50),
-	int51(51),
-	int52(52),
-	int53(53),
-	int54(54),
-	int55(55),
-	int56(56),
-	int57(57),
-	int58(58),
-	int59(59),
-	int60(60),
-	int61(61),
-	int62(62),
-	int63(63)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type enumerated SRole_ID
-{
-	x01_001,
-	x02_001,
-	x02_002,
-	x02_003,
-	x02_004,
-	x03_001,
-	x04_001,
-	x05_001,
-	x06_001,
-	x07_001,
-	x08_001
-}
-with {
-  variant "text 'x01_001' as '01-001'";
-  variant "text 'x02_001' as '02-001'";
-  variant "text 'x02_002' as '02-002'";
-  variant "text 'x02_003' as '02-003'";
-  variant "text 'x02_004' as '02-004'";
-  variant "text 'x03_001' as '03-001'";
-  variant "text 'x04_001' as '04-001'";
-  variant "text 'x05_001' as '05-001'";
-  variant "text 'x06_001' as '06-001'";
-  variant "text 'x07_001' as '07-001'";
-  variant "text 'x08_001' as '08-001'";
-  variant "name as 'SRole-ID'";
-};
-
-type enumerated FilterUsage
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-type record EventConfig
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	XSD.ID creator,
-	XSD.String eventID,
-	EventType eventType,
-	Timestamp eventStart optional,
-	Timestamp eventEnd optional,
-	record of Operation operationType,
-	XSD.NonNegativeInteger dataSize optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (operationType) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record EventLog
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	LogTypeId logTypeId,
-	XSD.String logData,
-	LogStatus logStatus,
-	XSD.Boolean logStart,
-	XSD.Boolean logStop,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (logStart) "text 'true' as '1'";
-  //variant (logStart) "text 'false' as '0'";
-  //variant (logStop) "text 'true' as '1'";
-  //variant (logStop) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record EventLogAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	LogTypeId logTypeId optional,
-	XSD.String logData optional,
-	LogStatus logStatus optional,
-	XSD.Boolean logStart optional,
-	XSD.Boolean logStop optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  //variant (logStart) "text 'true' as '1'";
-  //variant (logStart) "text 'false' as '0'";
-  //variant (logStop) "text 'true' as '1'";
-  //variant (logStop) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record ExecInstance
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ExecStatusType execStatus,
-	ExecResultType execResult,
-	XSD.Boolean execDisable optional,
-	NodeID execTarget,
-	ExecModeType execMode optional,
-	XSD.Duration execFrequency optional,
-	XSD.Duration execDelay optional,
-	XSD.NonNegativeInteger execNumber optional,
-	ExecReqArgsListType execReqArgs optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  //variant (execDisable) "text 'true' as '1'";
-  //variant (execDisable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record Firmware
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String version,
-	XSD.String name_1,
-	XSD.AnyURI uRL,
-	XSD.Boolean update,
-	ActionStatus updateStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (name_1) "name as 'name'";
-  variant (uRL) "name as capitalized";
-  //variant (update) "text 'true' as '1'";
-  //variant (update) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record FirmwareAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String version optional,
-	XSD.String name_1 optional,
-	XSD.AnyURI uRL optional,
-	XSD.Boolean update optional,
-	ActionStatus updateStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (name_1) "name as 'name'";
-  variant (uRL) "name as capitalized";
-  //variant (update) "text 'true' as '1'";
-  //variant (update) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record Group
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	XSD.ID creator optional,
-	MemberType memberType,
-	XSD.NonNegativeInteger currentNrOfMembers,
-	XSD.NonNegativeInteger maxNrOfMembers,
-	ListOfURIs memberIDs,
-	ListOfURIs membersAccessControlPolicyIDs optional,
-	XSD.Boolean memberTypeValidated,
-	ConsistencyStrategy consistencyStrategy optional,
-	XSD.String groupName optional,
-	XSD.AnyURI fanOutPoint,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (memberTypeValidated) "text 'true' as '1'";
-  //variant (memberTypeValidated) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record GroupAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MemberType memberType optional,
-	XSD.NonNegativeInteger currentNrOfMembers optional,
-	XSD.NonNegativeInteger maxNrOfMembers optional,
-	ListOfURIs memberIDs optional,
-	ListOfURIs membersAccessControlPolicyIDs optional,
-	XSD.Boolean memberTypeValidated optional,
-	ConsistencyStrategy consistencyStrategy optional,
-	XSD.String groupName optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  //variant (memberTypeValidated) "text 'true' as '1'";
-  //variant (memberTypeValidated) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record LocationPolicy
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	LocationSource locationSource,
-	XSD.Duration locationUpdatePeriod optional,
-	NodeID locationTargetID optional,
-	XSD.AnyURI locationServer optional,
-	XSD.AnyURI locationContainerID optional,
-	XSD.String locationContainerName optional,
-	Status locationStatus,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record LocationPolicyAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	LocationSource locationSource optional,
-	XSD.Duration locationUpdatePeriod optional,
-	NodeID locationTargetID optional,
-	XSD.AnyURI locationServer optional,
-	XSD.AnyURI locationContainerID optional,
-	XSD.String locationContainerName optional,
-	Status locationStatus optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-};
-
-type record M2mServiceSubscriptionProfile
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	record of SRole_ID serviceRoles,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ServiceSubscribedNode serviceSubscribedNode,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (serviceRoles) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record Memory
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.UnsignedLong memAvailable,
-	XSD.UnsignedLong memTotal,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record MemoryAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.UnsignedLong memAvailable optional,
-	XSD.UnsignedLong memTotal optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record MgmtCmd
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	XSD.String description optional,
-	CmdType cmdType,
-	ExecReqArgsListType execReqArgs optional,
-	XSD.Boolean execEnable,
-	NodeID execTarget,
-	ExecModeType execMode optional,
-	XSD.Duration execFrequency optional,
-	XSD.Duration execDelay optional,
-	XSD.NonNegativeInteger execNumber optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ExecInstance execInstance,
-			Subscription subscription
-		} choice_list
-	} choice
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  //variant (execEnable) "text 'true' as '1'";
-  //variant (execEnable) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record Node
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	NodeID nodeID,
-	XSD.ID hostedCSELink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Memory memory,
-			Battery battery,
-			AreaNwkInfo areaNwkInfo,
-			AreaNwkDeviceInfo areaNwkDeviceInfo,
-			Firmware firmware,
-			Software software,
-			DeviceInfo deviceInfo,
-			DeviceCapability deviceCapability,
-			Reboot reboot,
-			EventLog eventLog,
-			CmdhPolicy cmdhPolicy,
-			ActiveCmdhPolicy activeCmdhPolicy,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record NodeAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	NodeID nodeID,
-	XSD.ID hostedCSELink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			MemoryAnnc memoryAnnc,
-			BatteryAnnc batteryAnnc,
-			AreaNwkInfoAnnc areaNwkInfoAnnc,
-			AreaNwkDeviceInfoAnnc areaNwkDeviceInfoAnnc,
-			FirmwareAnnc firmwareAnnc,
-			SoftwareAnnc softwareAnnc,
-			DeviceInfoAnnc deviceInfoAnnc,
-			DeviceCapabilityAnnc deviceCapabilityAnnc,
-			RebootAnnc rebootAnnc,
-			EventLogAnnc eventLogAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type Notification_1 Notification
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
 
-type AggregatedNotification_1 AggregatedNotification
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
+	type record length(1 .. infinity) of XSD.ID ListOfM2MID
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
+
+
+
+
+	type XSD.Long LongMin_1 (-1 .. infinity)
+	with {
+	  variant "name as 'longMin-1'";
+	};
+
+
+
+
+	type record length(2) of LongMin_1 ListOfMinMax
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
+
+
+
+
+	type record length(3) of XSD.NonNegativeInteger BackOffParameters
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
+
+
+
+
+	type record length(1 .. infinity) of XSD.String PoaList
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
+
+
+
+
+	type XSD.String Timestamp (pattern "\d#(4)(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|30|31)T([01]\d|2[0-3])[0-5]\d[0-5]\d(,\d#(1,6))#(0,1)")
+	with {
+	  variant "name as uncapitalized";
+	};
+
+
+	type union AbsRelTimestamp
+	{
+		Timestamp alt_,
+		XSD.Long alt_1
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "useUnion";
+	  variant (alt_) "name as ''";
+	  variant (alt_1) "name as ''";
+	};
+
+
+	type XSD.String TypeOfContent (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+")
+	with {
+	  variant "name as uncapitalized";
+	};
+
+
+
+
+	type enumerated PermittedMediaTypes
+	{
+		applicationjson,
+		applicationxml
+	}
+	with {
+	  variant "text 'applicationjson' as 'application/json'";
+	  variant "text 'applicationxml' as 'application/xml'";
+	  variant "name as uncapitalized";
+	};
+
+
+
+
+	type record length(1 .. infinity) of PermittedMediaTypes Serializations
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
+
+
+	type XSD.String ContentInfo //(pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+(:[0-2])#(0,1)") TODO To verify pattern
+	with {
+	  variant "name as uncapitalized";
+	};
+
+
+	type union EventCat
+	{
+		StdEventCats alt_,
+		XSD.Integer alt_1 (100 .. 999)
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "useUnion";
+	  variant (alt_) "name as ''";
+	  variant (alt_1) "name as ''";
+	};
+
+
+	type union EventCatWithDef
+	{
+		enumerated {
+			int0(0)
+		} alt_,
+		StdEventCats alt_1,
+		XSD.Integer alt_2 (100 .. 999)
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "useUnion";
+	  variant (alt_) "name as ''";
+	  variant (alt_) "useNumber";
+	  variant (alt_1) "name as ''";
+	  variant (alt_2) "name as 'alt_1'";
+	  variant (alt_2) "name as ''";
+	};
+
+
+	type record length(1 .. infinity) of EventCat ListOfEventCat
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
+
+
+	type record length(1 .. infinity) of EventCatWithDef ListOfEventCatWithDef
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
+
+
+	type XSD.String ScheduleEntry (pattern "(([*]|[1-5]#(0,1)\d([,\-][1-5]#(0,1)\d)*)[\q{0,0,0,20}\q{0,0,0,10}\t\r]+)#(2)([*]|((1#(0,1)\d|2[0-3])([,\-](1#(0,1)\d|2[0-3]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1\d|2\d|3[01])([,\-]([1-9]|1\d|2\d|3[01]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1[0-2])([,\-]([1-9]|1[0-2]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|([0-6]([,\-][0-6])*))")
+	with {
+	  variant "name as uncapitalized";
+	};
+
+
+	type record length(1 .. infinity) of XSD.AnyURI ListOfURIs
+	with {
+	  variant "name as uncapitalized";
+	  variant "list";
+	};
+
+
+	type record of XSD.NCName AttributeList_1
+	with {
+	  variant "name as 'attributeList'";
+	  variant "list";
+	};
+
+
+
+
+
+
+
+
+	type record DeliveryMetaData
+	{
+		XSD.Boolean tracingOption,
+		ListOfM2MID tracingInfo optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  //variant (tracingOption) "text 'true' as '1'";
+	  //variant (tracingOption) "text 'false' as '0'";
+	};
+
+
+	type record AggregatedRequest
+	{
+		record length(1 .. infinity) of record {
+			Operation operation,
+			XSD.AnyURI to_,
+			XSD.ID from_,
+			RequestID requestIdentifier,
+			PrimitiveContent primitiveContent optional,
+			MetaInformation metaInformation optional
+		} request_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (request_list) "untagged";
+	  variant (request_list[-]) "name as 'request'";
+	  variant (request_list[-].to_) "name as 'to'";
+	  variant (request_list[-].from_) "name as 'from'";
+	};
+
+
+	type record MetaInformation
+	{
+		ResourceType resourceType optional,
+		XSD.NCName name optional,
+		Timestamp originatingTimestamp optional,
+		AbsRelTimestamp requestExpirationTimestamp optional,
+		AbsRelTimestamp resultExpirationTimestamp optional,
+		AbsRelTimestamp operationExecutionTime optional,
+		ResponseTypeInfo responseType optional,
+		AbsRelTimestamp resultPersistence optional,
+		ResultContent resultContent optional,
+		EventCat eventCategory optional,
+		XSD.Boolean deliveryAggregation optional,
+		XSD.String groupRequestIdentifier optional,
+		FilterCriteria filterCriteria optional,
+		DiscResType discoveryResultType optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  //variant (deliveryAggregation) "text 'true' as '1'";
+	  //variant (deliveryAggregation) "text 'false' as '0'";
+	};
+
+	type record of anytype Contents; // FIXME added by AMB, necessary for Codec
+
+	type record PrimitiveContent
+	{
+		Contents any_1
+		//record of XSD.String elem_list
+	}
+	with {
+	  variant "name as uncapitalized";
+//	  variant (elem_list) "untagged";
+//	  variant (elem_list[-]) "anyElement from 'http://www.onem2m.org/xml/protocols'";
+	};
+
+
+
+
+	type record FilterCriteria
+	{
+		Timestamp createdBefore optional,
+		Timestamp createdAfter optional,
+		Timestamp modifiedSince optional,
+		Timestamp unmodifiedSince optional,
+		XSD.PositiveInteger stateTagSmaller optional,
+		XSD.NonNegativeInteger stateTagBigger optional,
+		Timestamp expireBefore optional,
+		Timestamp expireAfter optional,
+		Labels labels optional,
+		ResourceType resourceType optional,
+		XSD.NonNegativeInteger sizeAbove optional,
+		XSD.PositiveInteger sizeBelow optional,
+		record of TypeOfContent contentType_list,
+		record of Attribute attribute_list,
+		FilterUsage filterUsage optional,
+		XSD.NonNegativeInteger limit optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (contentType_list) "untagged";
+	  variant (contentType_list[-]) "name as 'contentType'";
+	  variant (attribute_list) "untagged";
+	  variant (attribute_list[-]) "name as 'attribute'";
+	};
+
+
+	type record Attribute
+	{
+		XSD.NCName name,
+		XSD.AnyType value_
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (value_) "name as 'value'";
+	};
+
+
+	type record ScheduleEntries
+	{
+		record length(1 .. infinity) of ScheduleEntry scheduleEntry_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (scheduleEntry_list) "untagged";
+	  variant (scheduleEntry_list[-]) "name as 'scheduleEntry'";
+	};
+
+
+
+
+
+
+	type record ActionStatus
+	{
+		XSD.AnyURI action_ optional,
+		Status status optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (action_) "name as 'action'";
+	};
+
+
+	type record AnyArgType
+	{
+		XSD.NCName name,
+		XSD.AnyType value_
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (value_) "name as 'value'";
+	};
+
+
+	type record ResetArgsType
+	{
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
+
+
+	type record RebootArgsType
+	{
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
+
+
+	type record UploadArgsType
+	{
+		XSD.String fileType,
+		XSD.AnyURI uRL,
+		XSD.String username,
+		XSD.String password,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uRL) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
+
+
+	type record DownloadArgsType
+	{
+		XSD.String fileType,
+		XSD.AnyURI uRL,
+		XSD.String username,
+		XSD.String password,
+		XSD.PositiveInteger filesize,
+		XSD.String targetFile,
+		XSD.PositiveInteger delaySeconds,
+		XSD.AnyURI successURL,
+		Timestamp startTime,
+		Timestamp completeTime,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uRL) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
+
+
+	type record SoftwareInstallArgsType
+	{
+		XSD.AnyURI uRL,
+		XSD.String uUID,
+		XSD.String username,
+		XSD.String password,
+		XSD.String executionEnvRef,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uRL) "name as capitalized";
+	  variant (uUID) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
+
+
+	type record SoftwareUpdateArgsType
+	{
+		XSD.String uUID,
+		XSD.String version,
+		XSD.AnyURI uRL,
+		XSD.String username,
+		XSD.String password,
+		XSD.String executionEnvRef,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uUID) "name as capitalized";
+	  variant (uRL) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
+
+
+	type record SoftwareUninstallArgsType
+	{
+		XSD.String uUID,
+		XSD.String version,
+		XSD.String executionEnvRef,
+		record of AnyArgType anyArg_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (uUID) "name as capitalized";
+	  variant (anyArg_list) "untagged";
+	  variant (anyArg_list[-]) "name as 'anyArg'";
+	};
+
+
+	type record ExecReqArgsListType
+	{
+		union {
+			record of ResetArgsType reset_list,
+			record length(1 .. infinity) of RebootArgsType reboot_list,
+			record length(1 .. infinity) of UploadArgsType upload_list,
+			record length(1 .. infinity) of DownloadArgsType download_list,
+			record length(1 .. infinity) of SoftwareInstallArgsType softwareInstall_list,
+			record length(1 .. infinity) of SoftwareUpdateArgsType softwareUpdate_list,
+			record length(1 .. infinity) of SoftwareUninstallArgsType softwareUninstall_list
+		} choice
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (choice) "untagged";
+	  variant (choice.reset_list) "untagged";
+	  variant (choice.reset_list[-]) "name as 'reset'";
+	  variant (choice.reboot_list) "untagged";
+	  variant (choice.reboot_list[-]) "name as 'reboot'";
+	  variant (choice.upload_list) "untagged";
+	  variant (choice.upload_list[-]) "name as 'upload'";
+	  variant (choice.download_list) "untagged";
+	  variant (choice.download_list[-]) "name as 'download'";
+	  variant (choice.softwareInstall_list) "untagged";
+	  variant (choice.softwareInstall_list[-]) "name as 'softwareInstall'";
+	  variant (choice.softwareUpdate_list) "untagged";
+	  variant (choice.softwareUpdate_list[-]) "name as 'softwareUpdate'";
+	  variant (choice.softwareUninstall_list) "untagged";
+	  variant (choice.softwareUninstall_list[-]) "name as 'softwareUninstall'";
+	};
+
+
+	type record MgmtLinkRef
+	{
+		XSD.NCName name,
+		MgmtDefinition type_,
+		XSD.AnyURI base
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (name) "attribute";
+	  variant (type_) "name as 'type'";
+	  variant (type_) "attribute";
+	  variant (base) "untagged";
+	};
+
+
+
+
+
+
+	type record ChildResourceRef
+	{
+		XSD.NCName name,
+		ResourceType type_,
+		XSD.AnyURI base
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (name) "attribute";
+	  variant (type_) "name as 'type'";
+	  variant (type_) "attribute";
+	  variant (base) "untagged";
+	};
+
+
+	type record ResponseTypeInfo
+	{
+		ResponseType responseTypeValue,
+		record of XSD.AnyURI notificationURI
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (notificationURI) "list";
+	};
+
+
+
+
+	type record OperationResult
+	{
+		ResponseStatusCode responseStatusCode,
+		RequestID requestIdentifier,
+		PrimitiveContent primitiveContent optional,
+		XSD.AnyURI to_ optional,
+		XSD.ID from_ optional,
+		Timestamp originatingTimestamp optional,
+		AbsRelTimestamp resultExpirationTimestamp optional,
+		EventCat eventCategory optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (to_) "name as 'to'";
+	  variant (from_) "name as 'from'";
+	};
+
+
+
+
+
+
+	type record Resource_1
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional
+	}
+	with {
+	  variant "name as 'resource'";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record RegularResource
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record AnnounceableResource
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+
+	type record AnnouncedResource
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record AnnounceableSubordinateResource
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+
+	type record AnnouncedSubordinateResource
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		XSD.AnyURI link
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record MgmtResource
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+
+	type record AnnouncedMgmtResource
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record Container
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator,
+		XSD.NonNegativeInteger maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances,
+		XSD.NonNegativeInteger currentByteSize,
+		XSD.AnyURI locationID optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI latest,
+		XSD.AnyURI oldest,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ContentInstance contentInstance,
+				Container container,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record ContainerAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		XSD.NonNegativeInteger stateTag,
+		XSD.NonNegativeInteger maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances optional,
+		XSD.NonNegativeInteger currentByteSize optional,
+		XSD.AnyURI locationID optional,
+		XSD.AnyURI ontologyRef optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ContentInstance contentInstance,
+				ContentInstanceAnnc contentInstanceAnnc,
+				Container container,
+				ContainerAnnc containerAnnc,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record ContentInstance
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		ContentInfo contentInfo optional,
+		XSD.NonNegativeInteger contentSize,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyType content
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+
+	type record ContentInstanceAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		XSD.NonNegativeInteger stateTag,
+		ContentInfo contentInfo optional,
+		XSD.NonNegativeInteger contentSize optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyType content optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record CSEBase
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		CseTypeID cseType optional,
+		XSD.ID cSE_ID,
+		record of ResourceType supportedResourceType,
+		PoaList pointOfAccess,
+		XSD.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				RemoteCSE remoteCSE,
+				Node node,
+				AE aE,
+				Container container,
+				Group group_,
+				AccessControlPolicy accessControlPolicy,
+				Subscription subscription,
+				MgmtCmd mgmtCmd,
+				LocationPolicy locationPolicy,
+				StatsConfig statsConfig,
+				StatsCollect statsCollect,
+				Request request,
+				Delivery delivery,
+				Schedule schedule,
+				M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+				ServiceSubscribedAppRule serviceSubscribedAppRule
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (cSE_ID) "name as 'CSE-ID'";
+	  variant (supportedResourceType) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].aE) "name as capitalized";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
+
+
+	type record Delivery
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID source,
+		XSD.ID target,
+		Timestamp lifespan,
+		EventCat eventCat,
+		DeliveryMetaData deliveryMetaData,
+		AggregatedRequest aggregatedRequest,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record DeviceCapability
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String capabilityName,
+		XSD.Boolean attached,
+		ActionStatus capabilityActionStatus,
+		XSD.Boolean currentState,
+		XSD.Boolean enable optional,
+		XSD.Boolean disable optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (attached) "text 'true' as '1'";
+	  //variant (attached) "text 'false' as '0'";
+	  //variant (currentState) "text 'true' as '1'";
+	  //variant (currentState) "text 'false' as '0'";
+	  //variant (enable) "text 'true' as '1'";
+	  //variant (enable) "text 'false' as '0'";
+	  //variant (disable) "text 'true' as '1'";
+	  //variant (disable) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record DeviceCapabilityAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String capabilityName optional,
+		XSD.Boolean attached optional,
+		ActionStatus capabilityActionStatus optional,
+		XSD.Boolean currentState optional,
+		XSD.Boolean enable optional,
+		XSD.Boolean disable optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (attached) "text 'true' as '1'";
+	  //variant (attached) "text 'false' as '0'";
+	  //variant (currentState) "text 'true' as '1'";
+	  //variant (currentState) "text 'false' as '0'";
+	  //variant (enable) "text 'true' as '1'";
+	  //variant (enable) "text 'false' as '0'";
+	  //variant (disable) "text 'true' as '1'";
+	  //variant (disable) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record DeviceInfo
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String deviceLabel,
+		XSD.String manufacturer,
+		XSD.String model,
+		XSD.String deviceType,
+		XSD.String fwVersion,
+		XSD.String swVersion,
+		XSD.String hwVersion,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record DeviceInfoAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String deviceLabel optional,
+		XSD.String manufacturer optional,
+		XSD.String model optional,
+		XSD.String deviceType optional,
+		XSD.String fwVersion optional,
+		XSD.String swVersion optional,
+		XSD.String hwVersion optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type enumerated ResourceType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8),
+		int9(9),
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int16(16),
+		int17(17),
+		int18(18),
+		int19(19),
+		int20(20),
+		int21(21),
+		int22(22),
+		int23(23),
+		int10001(10001),
+		int10002(10002),
+		int10003(10003),
+		int10004(10004),
+		int10009(10009),
+		int10010(10010),
+		int10013(10013),
+		int10014(10014),
+		int10016(10016),
+		int10018(10018)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated CseTypeID
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated LocationSource
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated StdEventCats
+	{
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated Operation
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ResponseType
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ResultContent
+	{
+		int0(0),
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated DiscResType
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ResponseStatusCode
+	{
+		int1000(1000),
+		int2000(2000),
+		int2001(2001),
+		int2002(2002),
+		int2004(2004),
+		int4000(4000),
+		int4004(4004),
+		int4005(4005),
+		int4008(4008),
+		int4101(4101),
+		int4102(4102),
+		int4103(4103),
+		int4104(4104),
+		int4105(4105),
+		int5000(5000),
+		int5001(5001),
+		int5103(5103),
+		int5105(5105),
+		int5106(5106),
+		int5203(5203),
+		int5204(5204),
+		int5205(5205),
+		int5206(5206),
+		int5207(5207),
+		int6003(6003),
+		int6005(6005),
+		int6010(6010),
+		int6011(6011),
+		int6020(6020),
+		int6021(6021),
+		int6022(6022),
+		int6023(6023),
+		int6024(6024),
+		int6025(6025),
+		int6026(6026),
+		int6028(6028),
+		int6029(6029)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated RequestStatus
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated MemberType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8),
+		int9(9),
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int16(16),
+		int17(17),
+		int18(18),
+		int19(19),
+		int20(20),
+		int21(21),
+		int22(22),
+		int23(23),
+		int24(24),
+		int10001(10001),
+		int10002(10002),
+		int10003(10003),
+		int10004(10004),
+		int10009(10009),
+		int10010(10010),
+		int10013(10013),
+		int10014(10014),
+		int10016(10016),
+		int10018(10018)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ConsistencyStrategy
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated CmdType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ExecModeType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ExecStatusType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated ExecResultType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8),
+		int9(9),
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int16(16),
+		int19(19),
+		int20(20),
+		int21(21),
+		int22(22),
+		int23(23),
+		int24(24),
+		int25(25),
+		int26(26),
+		int27(27),
+		int28(28),
+		int29(29),
+		int30(30)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated PendingNotification
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated NotificationContentType
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated NotificationEventType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated Status
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated BatteryStatus
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated MgmtDefinition
+	{
+		int0(0),
+		int1001(1001),
+		int1002(1002),
+		int1003(1003),
+		int1004(1004),
+		int1005(1005),
+		int1006(1006),
+		int1007(1007),
+		int1008(1008),
+		int1009(1009),
+		int1010(1010),
+		int1011(1011),
+		int1012(1012),
+		int1013(1013),
+		int1014(1014),
+		int1015(1015),
+		int1016(1016),
+		int1017(1017),
+		int1018(1018),
+		int1019(1019)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated LogTypeId
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated LogStatus
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated EventType
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
 
-type record AggregatedNotification_1
-{
-	record of Notification notification_list
-}
-with {
-  variant "name as 'aggregatedNotification'";
-  variant (notification_list) "untagged";
-//	variant (notification_list[-]) "name as 'notification'";
-};
-
-type record Notification_1
-{
-	record {
-		XSD.AnyType representation optional,
-		ResourceStatus resourceStatus optional,
+	type enumerated StatsRuleStatusType
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated StatModelType
+	{
+		int1(1)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated EncodingType
+	{
+		int0(0),
+		int1(1),
+		int2(2)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+
+
+	type enumerated AccessControlOperations
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8),
+		int9(9),
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int16(16),
+		int17(17),
+		int18(18),
+		int19(19),
+		int20(20),
+		int21(21),
+		int22(22),
+		int23(23),
+		int24(24),
+		int25(25),
+		int26(26),
+		int27(27),
+		int28(28),
+		int29(29),
+		int30(30),
+		int31(31),
+		int32(32),
+		int33(33),
+		int34(34),
+		int35(35),
+		int36(36),
+		int37(37),
+		int38(38),
+		int39(39),
+		int40(40),
+		int41(41),
+		int42(42),
+		int43(43),
+		int44(44),
+		int45(45),
+		int46(46),
+		int47(47),
+		int48(48),
+		int49(49),
+		int50(50),
+		int51(51),
+		int52(52),
+		int53(53),
+		int54(54),
+		int55(55),
+		int56(56),
+		int57(57),
+		int58(58),
+		int59(59),
+		int60(60),
+		int61(61),
+		int62(62),
+		int63(63)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type enumerated SRole_ID
+	{
+		x01_001,
+		x02_001,
+		x02_002,
+		x02_003,
+		x02_004,
+		x03_001,
+		x04_001,
+		x05_001,
+		x06_001,
+		x07_001,
+		x08_001
+	}
+	with {
+	  variant "text 'x01_001' as '01-001'";
+	  variant "text 'x02_001' as '02-001'";
+	  variant "text 'x02_002' as '02-002'";
+	  variant "text 'x02_003' as '02-003'";
+	  variant "text 'x02_004' as '02-004'";
+	  variant "text 'x03_001' as '03-001'";
+	  variant "text 'x04_001' as '04-001'";
+	  variant "text 'x05_001' as '05-001'";
+	  variant "text 'x06_001' as '06-001'";
+	  variant "text 'x07_001' as '07-001'";
+	  variant "text 'x08_001' as '08-001'";
+	  variant "name as 'SRole-ID'";
+	};
+
+
+	type enumerated FilterUsage
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+	  variant "useNumber";
+	  variant "name as uncapitalized";
+	};
+
+
+	type record EventConfig
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.ID creator,
+		XSD.String eventID,
+		EventType eventType,
+		Timestamp eventStart optional,
+		Timestamp eventEnd optional,
+		record of Operation operationType,
+		XSD.NonNegativeInteger dataSize optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (operationType) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record EventLog
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		LogTypeId logTypeId,
+		XSD.String logData,
+		LogStatus logStatus,
+		XSD.Boolean logStart,
+		XSD.Boolean logStop,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (logStart) "text 'true' as '1'";
+	  //variant (logStart) "text 'false' as '0'";
+	  //variant (logStop) "text 'true' as '1'";
+	  //variant (logStop) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record EventLogAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		LogTypeId logTypeId optional,
+		XSD.String logData optional,
+		LogStatus logStatus optional,
+		XSD.Boolean logStart optional,
+		XSD.Boolean logStop optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (logStart) "text 'true' as '1'";
+	  //variant (logStart) "text 'false' as '0'";
+	  //variant (logStop) "text 'true' as '1'";
+	  //variant (logStop) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record ExecInstance
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ExecStatusType execStatus,
+		ExecResultType execResult,
+		XSD.Boolean execDisable optional,
+		NodeID execTarget,
+		ExecModeType execMode optional,
+		XSD.Duration execFrequency optional,
+		XSD.Duration execDelay optional,
+		XSD.NonNegativeInteger execNumber optional,
+		ExecReqArgsListType execReqArgs optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (execDisable) "text 'true' as '1'";
+	  //variant (execDisable) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record Firmware
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String version,
+		XSD.String firmwareName,
+		XSD.AnyURI uRL,
+		XSD.Boolean update,
+		ActionStatus updateStatus,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (uRL) "name as capitalized";
+	  //variant (update) "text 'true' as '1'";
+	  //variant (update) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record FirmwareAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String version optional,
+		XSD.String firmwareName optional,
+		XSD.AnyURI uRL optional,
+		XSD.Boolean update optional,
+		ActionStatus updateStatus optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (uRL) "name as capitalized";
+	  //variant (update) "text 'true' as '1'";
+	  //variant (update) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record Group
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		XSD.ID creator optional,
+		MemberType memberType,
+		XSD.PositiveInteger currentNrOfMembers,
+		XSD.PositiveInteger maxNrOfMembers,
+		ListOfURIs memberIDs,
+		ListOfURIs membersAccessControlPolicyIDs optional,
+		XSD.Boolean memberTypeValidated,
+		ConsistencyStrategy consistencyStrategy optional,
+		XSD.String groupName optional,
+		XSD.AnyURI fanOutPoint,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (memberTypeValidated) "text 'true' as '1'";
+	  //variant (memberTypeValidated) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record GroupAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MemberType memberType optional,
+		XSD.PositiveInteger currentNrOfMembers optional,
+		XSD.PositiveInteger maxNrOfMembers optional,
+		ListOfURIs memberIDs optional,
+		ListOfURIs membersAccessControlPolicyIDs optional,
+		XSD.Boolean memberTypeValidated optional,
+		ConsistencyStrategy consistencyStrategy optional,
+		XSD.String groupName optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (memberTypeValidated) "text 'true' as '1'";
+	  //variant (memberTypeValidated) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record LocationPolicy
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		LocationSource locationSource,
+		XSD.Duration locationUpdatePeriod optional,
+		NodeID locationTargetID optional,
+		XSD.AnyURI locationServer optional,
+		XSD.AnyURI locationContainerID optional,
+		XSD.String locationContainerName optional,
+		XSD.String locationStatus,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record LocationPolicyAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		LocationSource locationSource optional,
+		XSD.Duration locationUpdatePeriod optional,
+		NodeID locationTargetID optional,
+		XSD.AnyURI locationServer optional,
+		XSD.AnyURI locationContainerID optional,
+		XSD.String locationContainerName optional,
+		XSD.String locationStatus optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record M2mServiceSubscriptionProfile
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		record of SRole_ID serviceRoles,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ServiceSubscribedNode serviceSubscribedNode,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (serviceRoles) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record Memory
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.UnsignedLong memAvailable,
+		XSD.UnsignedLong memTotal,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record MemoryAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.UnsignedLong memAvailable optional,
+		XSD.UnsignedLong memTotal optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record MgmtCmd
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.String description optional,
+		CmdType cmdType,
+		ExecReqArgsListType execReqArgs optional,
+		XSD.Boolean execEnable,
+		NodeID execTarget,
+		ExecModeType execMode optional,
+		XSD.Duration execFrequency optional,
+		XSD.Duration execDelay optional,
+		XSD.NonNegativeInteger execNumber optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ExecInstance execInstance,
+				Subscription subscription
+			} choice_list
+		} choice
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (execEnable) "text 'true' as '1'";
+	  //variant (execEnable) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record Node
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		NodeID nodeID,
+		XSD.ID hostedCSELink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Memory memory,
+				Battery battery,
+				AreaNwkInfo areaNwkInfo,
+				AreaNwkDeviceInfo areaNwkDeviceInfo,
+				Firmware firmware,
+				Software software,
+				DeviceInfo deviceInfo,
+				DeviceCapability deviceCapability,
+				Reboot reboot,
+				EventLog eventLog,
+				CmdhPolicy cmdhPolicy,
+				ActiveCmdhPolicy activeCmdhPolicy,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record NodeAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		NodeID nodeID,
+		XSD.ID hostedCSELink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				MemoryAnnc memoryAnnc,
+				BatteryAnnc batteryAnnc,
+				AreaNwkInfoAnnc areaNwkInfoAnnc,
+				AreaNwkDeviceInfoAnnc areaNwkDeviceInfoAnnc,
+				FirmwareAnnc firmwareAnnc,
+				SoftwareAnnc softwareAnnc,
+				DeviceInfoAnnc deviceInfoAnnc,
+				DeviceCapabilityAnnc deviceCapabilityAnnc,
+				RebootAnnc rebootAnnc,
+				EventLogAnnc eventLogAnnc,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type Notification_1 Notification
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type AggregatedNotification_1 AggregatedNotification
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type record AggregatedNotification_1
+	{
+		record of Notification notification_list
+	}
+	with {
+	  variant "name as 'aggregatedNotification'";
+	  variant (notification_list) "untagged";
+	  variant (notification_list[-]) "name as 'notification'";
+	};
+
+
+	type record Notification_1
+	{
 		record {
-			Operation operation optional,
-			XSD.ID originator optional
-		} operationMonitor optional
-	} notificationEvent optional,
-	XSD.Boolean verificationRequest optional,
-	XSD.Boolean subscriptionDeletion optional,
-	XSD.AnyURI subscriptionReference optional,
-	XSD.ID creator optional,
-	XSD.AnyURI notificationForwardingURI optional
-}
-with {
-  variant "name as 'notification'";
-  //variant (verificationRequest) "text 'true' as '1'";
-  //variant (verificationRequest) "text 'false' as '0'";
-  //variant (subscriptionDeletion) "text 'true' as '1'";
-  //variant (subscriptionDeletion) "text 'false' as '0'";
-};
-
-type record PollingChannel
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	XSD.AnyURI pollingChannelURI
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-};
-
-type record Reboot
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.Boolean reboot,
-	XSD.Boolean factoryReset,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (reboot) "text 'true' as '1'";
-  //variant (reboot) "text 'false' as '0'";
-  //variant (factoryReset) "text 'true' as '1'";
-  //variant (factoryReset) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record RebootAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.Boolean reboot optional,
-	XSD.Boolean factoryReset optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  //variant (reboot) "text 'true' as '1'";
-  //variant (reboot) "text 'false' as '0'";
-  //variant (factoryReset) "text 'true' as '1'";
-  //variant (factoryReset) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record RemoteCSE
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	CseTypeID cseType optional,
-	POAList pointOfAccess optional,
-	XSD.AnyURI cSEBase,
-	XSD.ID cSE_ID,
-	ExternalID m2M_Ext_ID optional,
-	TriggerRecipientID trigger_Recipient_ID optional,
-	XSD.Boolean requestReachability,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			AE aE,
-			Container container,
-			Group group_,
-			AccessControlPolicy accessControlPolicy,
-			Subscription subscription,
-			PollingChannel pollingChannel,
-			Schedule schedule
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (cSEBase) "name as capitalized";
-  variant (cSE_ID) "name as 'CSE-ID'";
-  variant (m2M_Ext_ID) "name as 'M2M-Ext-ID'";
-  variant (trigger_Recipient_ID) "name as 'Trigger-Recipient-ID'";
-  //variant (requestReachability) "text 'true' as '1'";
-  //variant (requestReachability) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].aE) "name as capitalized";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-};
-
-type record RemoteCSEAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	CseTypeID cseType optional,
-	POAList pointOfAccess optional,
-	XSD.AnyURI cSEBase optional,
-	XSD.ID cSE_ID optional,
-	XSD.Boolean requestReachability optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			NodeAnnc nodeAnnc,
-			AE aE,
-			AEAnnc aEAnnc,
-			Container container,
-			ContainerAnnc containerAnnc,
-			Group group_,
-			GroupAnnc groupAnnc,
-			AccessControlPolicy accessControlPolicy,
-			AccessControlPolicyAnnc accessControlPolicyAnnc,
-			Subscription subscription,
-			PollingChannel pollingChannel,
-			ScheduleAnnc scheduleAnnc,
-			LocationPolicyAnnc locationPolicyAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (cSEBase) "name as capitalized";
-  variant (cSE_ID) "name as 'CSE-ID'";
-  //variant (requestReachability) "text 'true' as '1'";
-  //variant (requestReachability) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].aE) "name as capitalized";
-  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
-  variant (choice.choice_list[-].group_) "name as 'group'";
-};
-
-type record RequestPrimitive
-{
-	Operation operation,
-	XSD.AnyURI to_,
-	XSD.ID from_,
-	RequestID requestIdentifier,
-	ResourceType resourceType optional,
-	XSD.String name optional,
-	PrimitiveContent content optional,
-	Timestamp originatingTimestamp optional,
-	Timestamp requestExpirationTimestamp optional,
-	Timestamp resultExpirationTimestamp optional,
-	Timestamp operationExecutionTime optional,
-	ResourceType responseType optional,
-	XSD.Duration resultPersistence optional,
-	ResultContent resultContent optional,
-	EventCat eventCategory optional,
-	XSD.Boolean deliveryAggregation optional,
-	XSD.String groupRequestIdentifier optional,
-	FilterCriteria filterCriteria optional,
-	DiscResType discoveryResultType optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-  //variant (deliveryAggregation) "text 'true' as '1'";
-  //variant (deliveryAggregation) "text 'false' as '0'";
-};
+			XSD.AnyType representation optional,
+			record {
+				Operation operation optional,
+				XSD.ID originator optional
+			} operationMonitor optional,
+			NotificationEventType notificationEventType optional
+		} notificationEvent optional,
+		XSD.Boolean verificationRequest optional,
+		XSD.Boolean subscriptionDeletion optional,
+		XSD.AnyURI subscriptionReference optional,
+		XSD.ID creator optional,
+		XSD.AnyURI notificationForwardingURI optional
+	}
+	with {
+	  variant "name as 'notification'";
+	  //variant (verificationRequest) "text 'true' as '1'";
+	  //variant (verificationRequest) "text 'false' as '0'";
+	  //variant (subscriptionDeletion) "text 'true' as '1'";
+	  //variant (subscriptionDeletion) "text 'false' as '0'";
+	};
+
+
+	type record PollingChannel
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.AnyURI pollingChannelURI
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record Reboot
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.Boolean reboot,
+		XSD.Boolean factoryReset,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (reboot) "text 'true' as '1'";
+	  //variant (reboot) "text 'false' as '0'";
+	  //variant (factoryReset) "text 'true' as '1'";
+	  //variant (factoryReset) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record RebootAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.Boolean reboot optional,
+		XSD.Boolean factoryReset optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (reboot) "text 'true' as '1'";
+	  //variant (reboot) "text 'false' as '0'";
+	  //variant (factoryReset) "text 'true' as '1'";
+	  //variant (factoryReset) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record RemoteCSE
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		CseTypeID cseType optional,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI cSEBase,
+		XSD.ID cSE_ID,
+		ExternalID m2M_Ext_ID optional,
+		TriggerRecipientID trigger_Recipient_ID optional,
+		XSD.Boolean requestReachability,
+		XSD.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Container container,
+				Group group_,
+				AccessControlPolicy accessControlPolicy,
+				Subscription subscription,
+				PollingChannel pollingChannel,
+				Schedule schedule
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (cSEBase) "name as capitalized";
+	  variant (cSE_ID) "name as 'CSE-ID'";
+	  variant (m2M_Ext_ID) "name as 'M2M-Ext-ID'";
+	  variant (trigger_Recipient_ID) "name as 'Trigger-Recipient-ID'";
+	  //variant (requestReachability) "text 'true' as '1'";
+	  //variant (requestReachability) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
+
+
+	type record RemoteCSEAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		CseTypeID cseType optional,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI cSEBase optional,
+		XSD.ID cSE_ID optional,
+		XSD.Boolean requestReachability optional,
+		XSD.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				NodeAnnc nodeAnnc,
+				Container container,
+				ContainerAnnc containerAnnc,
+				Group group_,
+				GroupAnnc groupAnnc,
+				AccessControlPolicy accessControlPolicy,
+				AccessControlPolicyAnnc accessControlPolicyAnnc,
+				Subscription subscription,
+				PollingChannel pollingChannel,
+				ScheduleAnnc scheduleAnnc,
+				LocationPolicyAnnc locationPolicyAnnc
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (cSEBase) "name as capitalized";
+	  variant (cSE_ID) "name as 'CSE-ID'";
+	  //variant (requestReachability) "text 'true' as '1'";
+	  //variant (requestReachability) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
+
+
+	type record RequestPrimitive
+	{
+		Operation operation,
+		XSD.AnyURI to_,
+		XSD.ID from_ optional,
+		RequestID requestIdentifier,
+		ResourceType resourceType optional,
+		PrimitiveContent primitiveContent optional,
+		XSD.AnyType role optional,
+		Timestamp originatingTimestamp optional,
+		AbsRelTimestamp requestExpirationTimestamp optional,
+		AbsRelTimestamp resultExpirationTimestamp optional,
+		AbsRelTimestamp operationExecutionTime optional,
+		ResponseTypeInfo responseType optional,
+		AbsRelTimestamp resultPersistence optional,
+		ResultContent resultContent optional,
+		EventCat eventCategory optional,
+		XSD.Boolean deliveryAggregation optional,
+		XSD.String groupRequestIdentifier optional,
+		FilterCriteria filterCriteria optional,
+		DiscResType discoveryResultType optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (to_) "name as 'to'";
+	  variant (from_) "name as 'from'";
+	  //variant (deliveryAggregation) "text 'true' as '1'";
+	  //variant (deliveryAggregation) "text 'false' as '0'";
+	};
+
+
+	type AttributeList_1 AttributeList
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type record Request
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.NonNegativeInteger stateTag,
+		Operation operation,
+		XSD.AnyURI target,
+		XSD.ID originator,
+		RequestID requestID,
+		MetaInformation metaInformation,
+		PrimitiveContent primitiveContent,
+		RequestStatus requestStatus,
+		OperationResult operationResult,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
 
 
-type AttributeList_1 AttributeList
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-type record Request
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	XSD.NonNegativeInteger stateTag,
-	Operation operation,
-	XSD.AnyURI target,
-	XSD.ID originator,
-	RequestID requestID,
-	MetaInformation metaInformation,
-	PrimitiveContent content,
-	RequestStatus requestStatus,
-	OperationResult operationResult,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record ResponsePrimitive
-{
-	ResponseStatusCode responseStatusCode,
-	RequestID requestIdentifier,
-	PrimitiveContent content optional,
-	XSD.ID to_ optional,
-	XSD.ID from_ optional,
-	Timestamp originatingTimestamp optional,
-	Timestamp resultExpirationTimestamp optional,
-	EventCat eventCategory optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-};
 
 
-type ResourceWrapper Resource
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
+	type record ResponsePrimitive
+	{
+		ResponseStatusCode responseStatusCode,
+		RequestID requestIdentifier,
+		PrimitiveContent primitiveContent optional,
+		XSD.ID to_ optional,
+		XSD.ID from_ optional,
+		Timestamp originatingTimestamp optional,
+		AbsRelTimestamp resultExpirationTimestamp optional,
+		EventCat eventCategory optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (to_) "name as 'to'";
+	  variant (from_) "name as 'from'";
+	};
 
-type ListOfURIs URIlist
-with {
-  variant "element";
-};
 
-type AggregatedResponse_1 AggregatedResponse
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
+	type ResourceWrapper Resource
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
 
-type record AggregatedResponse_1
-{
-	record length(1 .. infinity) of ResponsePrimitive responsePrimitive_list
-}
-with {
-  variant "name as 'aggregatedResponse'";
-  variant (responsePrimitive_list) "untagged";
-//	variant (responsePrimitive_list[-]) "name as 'responsePrimitive'";
-};
-
-type record Schedule
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	ScheduleEntries scheduleElement,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record ScheduleAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ScheduleEntries scheduleElement optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-};
-
-type record ServiceSubscribedAppRule
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfM2MID applicableCredIDs optional,
-	ListOfM2MID allowedApp_IDs optional,
-	ListOfM2MID allowedAEs optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (allowedApp_IDs) "name as 'allowedApp-IDs'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record ServiceSubscribedNode
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	NodeID nodeID,
-	XSD.ID cSE_ID optional,
-	record of DeviceID deviceIdentifier,
-	ListOfURIs ruleLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (cSE_ID) "name as 'CSE-ID'";
-  variant (deviceIdentifier) "list";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record Software
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs announceTo optional,
-	record of XSD.Token announcedAttribute,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String version,
-	XSD.String name_1,
-	XSD.AnyURI uRL,
-	XSD.Boolean install optional,
-	XSD.Boolean uninstall optional,
-	ActionStatus installStatus optional,
-	XSD.Boolean activate_ optional,
-	XSD.Boolean deactivate_ optional,
-	ActionStatus activeStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (announcedAttribute) "list";
-  variant (name_1) "name as 'name'";
-  variant (uRL) "name as capitalized";
-  //variant (install) "text 'true' as '1'";
-  //variant (install) "text 'false' as '0'";
-  //variant (uninstall) "text 'true' as '1'";
-  //variant (uninstall) "text 'false' as '0'";
-  variant (activate_) "name as 'activate'";
-  //variant (activate_) "text 'true' as '1'";
-  //variant (activate_) "text 'false' as '0'";
-  variant (deactivate_) "name as 'deactivate'";
-  //variant (deactivate_) "text 'true' as '1'";
-  //variant (deactivate_) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record SoftwareAnnc
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.String version optional,
-	XSD.String name_1 optional,
-	XSD.AnyURI uRL optional,
-	XSD.Boolean install optional,
-	XSD.Boolean uninstall optional,
-	ActionStatus installStatus optional,
-	XSD.Boolean activate_ optional,
-	XSD.Boolean deactivate_ optional,
-	ActionStatus activeStatus optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (name_1) "name as 'name'";
-  variant (uRL) "name as capitalized";
-  //variant (install) "text 'true' as '1'";
-  //variant (install) "text 'false' as '0'";
-  //variant (uninstall) "text 'true' as '1'";
-  //variant (uninstall) "text 'false' as '0'";
-  variant (activate_) "name as 'activate'";
-  //variant (activate_) "text 'true' as '1'";
-  //variant (activate_) "text 'false' as '0'";
-  variant (deactivate_) "name as 'deactivate'";
-  //variant (deactivate_) "text 'true' as '1'";
-  //variant (deactivate_) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record StatsCollect
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	XSD.ID creator,
-	XSD.String statsCollectID,
-	XSD.ID collectingEntityID,
-	XSD.ID collectedEntityID,
-	StatsRuleStatusType statsRuleStatus,
-	StatModelType statModel,
-	ScheduleEntries collectPeriod optional,
-	XSD.String eventID optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of Subscription subscription_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.subscription_list) "untagged";
-//	variant (choice.subscription_list[-]) "name as 'subscription'";
-};
-
-type record StatsConfig
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	XSD.ID creator,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
+
+	type ListOfURIs URIList
+	with {
+	  variant "element";
+	};
+
+
+	type XSD.AnyURI URI
+	with {
+	  variant "element";
+	};
+
+
+	type AggregatedResponse_1 AggregatedResponse
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+	type record ResourceWrapper
+	{
+		union {
+			AccessControlPolicy accessControlPolicy,
+			ActiveCmdhPolicy activeCmdhPolicy,
+			AE aE,
+			AreaNwkDeviceInfo areaNwkDeviceInfo,
+			AreaNwkInfo areaNwkInfo,
+			Battery battery,
+			CmdhBuffer cmdhBuffer,
+			CmdhDefaults cmdhDefaults,
+			CmdhDefEcValue cmdhDefEcValue,
+			CmdhEcDefParamValues cmdhEcDefParamValues,
+			CmdhLimits cmdhLimits,
+			CmdhNetworkAccessRules cmdhNetworkAccessRules,
+			CmdhNwAccessRule cmdhNwAccessRule,
+			CmdhPolicy cmdhPolicy,
+			Container container,
+			ContentInstance contentInstance,
+			CSEBase cSEBase,
+			Delivery delivery,
+			DeviceCapability deviceCapability,
+			DeviceInfo deviceInfo,
 			EventConfig eventConfig,
+			EventLog eventLog,
+			ExecInstance execInstance,
+			Firmware firmware,
+			Group group_,
+			LocationPolicy locationPolicy,
+			M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+			Memory memory,
+			MgmtCmd mgmtCmd,
+			Node node,
+			Notification notification,
+			PollingChannel pollingChannel,
+			Reboot reboot,
+			RemoteCSE remoteCSE,
+			Request request,
+			RequestPrimitive requestPrimitive,
+			ResponsePrimitive responsePrimitive,
+			Schedule schedule,
+			ServiceSubscribedAppRule serviceSubscribedAppRule,
+			ServiceSubscribedNode serviceSubscribedNode,
+			Software software,
+			StatsCollect statsCollect,
+			StatsConfig statsConfig,
 			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-//	variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-//	variant (choice.choice_list[-]) "untagged";
-};
-
-type record Subscription
-{
-	XSD.Token name,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	EventNotificationCriteria eventNotificationCriteria optional,
-	XSD.PositiveInteger expirationCounter optional,
-	ListOfURIs notificationURI,
-	XSD.AnyURI groupID optional,
-	XSD.AnyURI notificationForwardingURI optional,
-	BatchNotify batchNotify optional,
-	RateLimit rateLimit optional,
-	XSD.PositiveInteger preSubscriptionNotify optional,
-	PendingNotification pendingNotification optional,
-	XSD.PositiveInteger notificationStoragePriority optional,
-	XSD.Boolean latestNotify optional,
-	NotificationContentType notificationContentType,
-	EventCat notificationEventCat optional,
-	XSD.ID creator optional,
-	XSD.AnyURI subscriberURI optional,
-	union {
-		ChildResourceRef childResource,
-		Schedule schedule
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (name) "attribute";
-  //variant (latestNotify) "text 'true' as '1'";
-  //variant (latestNotify) "text 'false' as '0'";
-  variant (choice) "untagged";
-};
-
-type record EventNotificationCriteria
-{
-	Timestamp createdBefore optional,
-	Timestamp createdAfter optional,
-	Timestamp modifiedSince optional,
-	Timestamp unmodifiedSince optional,
-	XSD.PositiveInteger stateTagSmaller optional,
-	XSD.NonNegativeInteger stateTagBigger optional,
-	Timestamp expireBefore optional,
-	Timestamp expireAfter optional,
-	XSD.NonNegativeInteger sizeAbove optional,
-	XSD.PositiveInteger sizeBelow optional,
-	record of ResourceStatus resourceStatus_list,
-	record of Operation operationMonitor_list,
-	record of Attribute attribute_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceStatus_list) "untagged";
-//	variant (resourceStatus_list[-]) "name as 'resourceStatus'";
-  variant (operationMonitor_list) "untagged";
-//	variant (operationMonitor_list[-]) "name as 'operationMonitor'";
-  variant (attribute_list) "untagged";
-//	variant (attribute_list[-]) "name as 'attribute'";
-};
-
-type record BatchNotify
-{
-	XSD.NonNegativeInteger number optional,
-	XSD.Duration duration optional
-}
-with {
-  variant "name as uncapitalized";
-};
+		} choice,
+		ListOfURIs uRIList
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (choice) "untagged";
+	  variant (choice.aE) "name as capitalized";
+	  variant (choice.cSEBase) "name as capitalized";
+	  variant (choice.group_) "name as 'group'";
+	  variant (uRIList) "name as capitalized";
+	};
+
+
+	type record AggregatedResponse_1
+	{
+		record length(1 .. infinity) of ResponsePrimitive responsePrimitive_list
+	}
+	with {
+	  variant "name as 'aggregatedResponse'";
+	  variant (responsePrimitive_list) "untagged";
+	  variant (responsePrimitive_list[-]) "name as 'responsePrimitive'";
+	};
+
+
+	type record Schedule
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		ScheduleEntries scheduleElement,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record ScheduleAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ScheduleEntries scheduleElement optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+
+
+	type record ServiceSubscribedAppRule
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfM2MID applicableCredIDs optional,
+		ListOfM2MID allowedApp_IDs optional,
+		ListOfM2MID allowedAEs optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (allowedApp_IDs) "name as 'allowedApp-IDs'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record ServiceSubscribedNode
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		NodeID nodeID,
+		XSD.ID cSE_ID optional,
+		record of DeviceID deviceIdentifier,
+		ListOfURIs ruleLinks optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (cSE_ID) "name as 'CSE-ID'";
+	  variant (deviceIdentifier) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record Software
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String version,
+		XSD.String softwareName,
+		XSD.AnyURI uRL,
+		XSD.Boolean install,
+		XSD.Boolean uninstall,
+		ActionStatus installStatus,
+		XSD.Boolean activate_ optional,
+		XSD.Boolean deactivate_ optional,
+		ActionStatus activeStatus optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (uRL) "name as capitalized";
+	  //variant (install) "text 'true' as '1'";
+	  //variant (install) "text 'false' as '0'";
+	  //variant (uninstall) "text 'true' as '1'";
+	  //variant (uninstall) "text 'false' as '0'";
+	  variant (activate_) "name as 'activate'";
+	  //variant (activate_) "text 'true' as '1'";
+	  //variant (activate_) "text 'false' as '0'";
+	  variant (deactivate_) "name as 'deactivate'";
+	  //variant (deactivate_) "text 'true' as '1'";
+	  //variant (deactivate_) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record SoftwareAnnc
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional,
+		XSD.String version optional,
+		XSD.String softwareName optional,
+		XSD.AnyURI uRL optional,
+		XSD.Boolean install optional,
+		XSD.Boolean uninstall optional,
+		ActionStatus installStatus optional,
+		XSD.Boolean activate_ optional,
+		XSD.Boolean deactivate_ optional,
+		ActionStatus activeStatus optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (uRL) "name as capitalized";
+	  //variant (install) "text 'true' as '1'";
+	  //variant (install) "text 'false' as '0'";
+	  //variant (uninstall) "text 'true' as '1'";
+	  //variant (uninstall) "text 'false' as '0'";
+	  variant (activate_) "name as 'activate'";
+	  //variant (activate_) "text 'true' as '1'";
+	  //variant (activate_) "text 'false' as '0'";
+	  variant (deactivate_) "name as 'deactivate'";
+	  //variant (deactivate_) "text 'true' as '1'";
+	  //variant (deactivate_) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record StatsCollect
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.ID creator,
+		XSD.String statsCollectID,
+		XSD.ID collectingEntityID,
+		XSD.ID collectedEntityID,
+		StatsRuleStatusType statsRuleStatus,
+		StatModelType statModel,
+		ScheduleEntries collectPeriod optional,
+		XSD.String eventID optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of Subscription subscription_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.subscription_list) "untagged";
+	  variant (choice.subscription_list[-]) "name as 'subscription'";
+	};
+
+
+	type record StatsConfig
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		XSD.ID creator,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				EventConfig eventConfig,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+
+	type record Subscription
+	{
+		XSD.NCName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		EventNotificationCriteria eventNotificationCriteria optional,
+		XSD.PositiveInteger expirationCounter optional,
+		ListOfURIs notificationURI,
+		XSD.AnyURI groupID optional,
+		XSD.AnyURI notificationForwardingURI optional,
+		BatchNotify batchNotify optional,
+		RateLimit rateLimit optional,
+		XSD.PositiveInteger preSubscriptionNotify optional,
+		PendingNotification pendingNotification optional,
+		XSD.PositiveInteger notificationStoragePriority optional,
+		XSD.Boolean latestNotify optional,
+		NotificationContentType notificationContentType,
+		EventCat notificationEventCat optional,
+		XSD.ID creator optional,
+		XSD.AnyURI subscriberURI optional,
+		union {
+			ChildResourceRef childResource,
+			Schedule schedule
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (latestNotify) "text 'true' as '1'";
+	  //variant (latestNotify) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	};
+
+
+	type record EventNotificationCriteria
+	{
+		Timestamp createdBefore optional,
+		Timestamp createdAfter optional,
+		Timestamp modifiedSince optional,
+		Timestamp unmodifiedSince optional,
+		XSD.PositiveInteger stateTagSmaller optional,
+		XSD.NonNegativeInteger stateTagBigger optional,
+		Timestamp expireBefore optional,
+		Timestamp expireAfter optional,
+		XSD.NonNegativeInteger sizeAbove optional,
+		XSD.PositiveInteger sizeBelow optional,
+		record length(0 .. 5) of Operation operationMonitor_list,
+		record of Attribute attribute_list,
+		record length(0 .. 4) of NotificationEventType notificationEventType_list
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (operationMonitor_list) "untagged";
+	  variant (operationMonitor_list[-]) "name as 'operationMonitor'";
+	  variant (attribute_list) "untagged";
+	  variant (attribute_list[-]) "name as 'attribute'";
+	  variant (notificationEventType_list) "untagged";
+	  variant (notificationEventType_list[-]) "name as 'notificationEventType'";
+	};
+
+
+	type record BatchNotify
+	{
+		XSD.NonNegativeInteger number,
+		XSD.Duration duration
+	}
+	with {
+	  variant "name as uncapitalized";
+	};
+
+
+	type record RateLimit
+	{
+		XSD.NonNegativeInteger maxNrOfNotify optional,
+		XSD.Duration timeWindow optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	};
 
-type record RateLimit
-{
-	XSD.NonNegativeInteger maxNrOfNotify optional,
-	XSD.Duration timeWindow optional
-}
-with {
-  variant "name as uncapitalized";
-};
 
 
 /* Additional types */
@@ -3738,6 +4004,7 @@ with {
 group contentCreateTypes {
 	// Partial content for resource creation
    type record AE_create {
+	   XSD.NCName resourceName optional,
 	   Labels labels optional,
 	   AcpType accessControlPolicyIDs optional,
 	   Timestamp expirationTime optional,
@@ -3745,12 +4012,13 @@ group contentCreateTypes {
 	   record of XSD.Token announcedAttribute optional,
 	   XSD.String appName optional,
 	   XSD.String app_ID,
-	   POAList pointOfAccess optional,
+	   PoaList pointOfAccess optional,
 	   XSD.AnyURI ontologyRef optional,
 	   XSD.Boolean requestReachability 
    }
        
    type record ACP_create {
+	   XSD.NCName resourceName optional,
 	   Labels labels optional,
 	   Timestamp expirationTime optional,
 	   ListOfURIs announceTo optional,
@@ -3760,7 +4028,8 @@ group contentCreateTypes {
    }
     
    type record ContentInstance_create {
-	   Labels labels optional,
+   	   XSD.NCName resourceName optional,
+   	   Labels labels optional,
 	   ListOfURIs announceTo optional,
 	   ContentInfo contentInfo,
 	   XSD.NonNegativeInteger contentSize optional,
@@ -3769,20 +4038,22 @@ group contentCreateTypes {
    }
 
    type record Container_create {
-	   Labels labels optional,
-	   AcpType accessControlPolicyIDs optional,
-	   Timestamp expirationTime optional,
-	   ListOfURIs announceTo optional,
-	   record of XSD.Token announcedAttribute optional,
-	   XSD.ID creator optional,
-	   XSD.NonNegativeInteger maxNrOfInstances optional,
-	   XSD.NonNegativeInteger maxByteSize optional,
-	   XSD.NonNegativeInteger maxInstanceAge optional,
-	   XSD.AnyURI locationID optional,
-	   XSD.AnyURI ontologyRef optional
+       XSD.NCName resourceName optional,
+       Labels labels optional,
+       AcpType accessControlPolicyIDs optional,
+       Timestamp expirationTime optional,
+       ListOfURIs announceTo optional,
+       record of XSD.Token announcedAttribute optional,
+       XSD.ID creator optional,
+       XSD.NonNegativeInteger maxNrOfInstances optional,
+       XSD.NonNegativeInteger maxByteSize optional,
+       XSD.NonNegativeInteger maxInstanceAge optional,
+       XSD.AnyURI locationID optional,
+       XSD.AnyURI ontologyRef optional
    }
        
    type record Group_create {
+		XSD.NCName resourceName optional,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
@@ -3798,6 +4069,7 @@ group contentCreateTypes {
    }
        
    type record PollingChannel_create {
+		XSD.NCName resourceName optional,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
@@ -3805,6 +4077,7 @@ group contentCreateTypes {
    }
        
    type record Schedule_create {
+		XSD.NCName resourceName optional,
 		Labels labels optional,
 		Timestamp expirationTime optional,
 		ListOfURIs announceTo optional,
@@ -3813,6 +4086,7 @@ group contentCreateTypes {
    }
        
    type record Subscription_create {
+		XSD.NCName resourceName optional,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
@@ -3845,7 +4119,7 @@ group contentUpdateTypes {
 	   ListOfURIs announceTo optional,
 	   record of XSD.Token announcedAttribute optional,
 	   XSD.String appName optional,
-	   POAList pointOfAccess optional,
+	   PoaList pointOfAccess optional,
 	   XSD.AnyURI ontologyRef optional,
 	   XSD.Boolean requestReachability optional
    };
@@ -3939,5 +4213,5 @@ with {
   encode "XML";
   variant "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
   variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
-  extension "anytype AttributeList_1, AE, AccessControlPolicy, ACP_create, ACP_update, AE_create, AE_update, Container_create, Container_update, ContentInstance_create, ContentInstance_update, Group_create, Group_update, Schedule_create, Schedule_update, Subscription_create, Subscription_update, PollingChannel_create, PollingChannel_update"
+  extension "anytype AttributeList, AE, AccessControlPolicy, ACP_create, ACP_update, AE_create, AE_update, Container_create, Container_update, ContentInstance_create, ContentInstance_update, Group_create, Group_update, Schedule_create, Schedule_update, Subscription_create, Subscription_update, PollingChannel_create, PollingChannel_update"
 }
diff --git a/OneM2M_TypesAndValues.ttcn b/OneM2M_TypesAndValues.ttcn
old mode 100755
new mode 100644
index b5deef4..dabdc34
--- a/OneM2M_TypesAndValues.ttcn
+++ b/OneM2M_TypesAndValues.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_TypesAndValues.ttcn $
- *              $Id: OneM2M_TypesAndValues.ttcn 20 2016-03-16 10:34:05Z reinaortega $
+ *              $Id: OneM2M_TypesAndValues.ttcn 43 2016-04-13 12:16:12Z reinaortega $
  *  @desc       Module containing types and values for oneM2M
  *
  */
@@ -19,6 +19,7 @@ module OneM2M_TypesAndValues {
 	/* Constants */
 	const charstring c_uri_cse := "/~/in-cse/";
 	const charstring c_cse_name := "in-cse";
+	const XSD.String c_defaultResourceName;
 	
 	//AccessControlOperations
 	const XSD.Integer c_C   := 1;
diff --git a/UsefulTtcn3Types.ttcn b/UsefulTtcn3Types.ttcn
old mode 100755
new mode 100644
index 7e492d2..8301238
--- a/UsefulTtcn3Types.ttcn
+++ b/UsefulTtcn3Types.ttcn
@@ -1,95 +1,95 @@
-/*******************************************************************************
-* Copyright (c) 2000-2016 Ericsson Telecom AB
-*
-* XSD to TTCN-3 Translator version: CRL 113 200/5 R4D                       
-*
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*******************************************************************************/
-//
-//  File:          UsefulTtcn3Types.ttcn
-//  Description:
-//  References:
-//  Rev:
-//  Prodnr:
-//  Updated:
-//  Contact:       http://ttcn.ericsson.se
-//
-////////////////////////////////////////////////////////////////////////////////
-module UsefulTtcn3Types {
-
-
-    type integer byte (-128 .. 127) with { variant "/* 8 bit */" };
-
-    type integer unsignedbyte (0 .. 255) with { variant "/*unsigned 8 bit*/" };
-
-    type integer short (-32768 .. 32767) with { variant "/*16 bit*/" };
-
-    type integer unsignedshort (0 .. 65535) with { variant "/*unsigned 16 bit*/" };
-
-    type integer long (-2147483648 .. 2147483647) with { variant "/*32 bit*/" };
-
-    type integer unsignedlong (0 .. 4294967295) with { variant "/*unsigned 32 bit*/" };
-
-    type integer longlong /* (  -9223372036854775808 .. 9223372036854775807 ) */ with { variant "/*64 bit*/" };
-
-    type integer unsignedlonglong /* ( 0 .. 18446744073709551615 ) */ with { variant "/*unsigned 64 bit*/" };
-
-    type float IEEE754float with { variant "/*IEEE754 float*/" };
-
-    type float IEEE754double with { variant "/*IEEE754 double*/" };
-
-    type float IEEE754extfloat with { variant "/*IEEE754 extended float*/" };
-
-    type float IEEE754extdouble with { variant "/*IEEE754 extended double*/" };
-
-    type universal charstring utf8string with { variant "/*UTF-8*/" };
-
-    type universal charstring bmpstring ( char ( 0,0,0,0 ) .. char ( 0,0,255,255) ) with { variant "/*UCS-2*/" };
-
-    type universal charstring utf16string ( char ( 0,0,0,0 ) .. char ( 0,16,255,255) ) with { variant "/*UTF-16*/" };
-
-    type universal charstring iso8859string ( char ( 0,0,0,0 ) .. char ( 0,0,0,255) ) with { variant "/*8 bit*/" };
-
-    type record IDLfixed
-    {
-    	unsignedshort digits,
-    	short scale,
-    	charstring value_
-    }
-    with {
-    variant "/*IDL:fixed FORMAL/01-12-01 v.2.6*/";
-    };
-
-    /*
-    type charstring char length (1);
-
-    NOTE 1: The name of this useful type is the same as the TTCN-3 keyword used to denote universal
-    charstring values in the quadraple form. In general it is disallowed to use TTCN-3 keywords as
-    identifiers. The "char" useful type is a solitary exception and allowed only for backward compatibility
-    with previous versions of the TTCN-3 standard. (except Titan doesn't)
-
-    NOTE 2: The special string "8 bit" defined in clause 28.2.3 may be used with this type to specify a given encoding
-    for its values. Also, other properties of the base type can be changed by using attribute mechanisms.
-    */
-
-    type universal charstring uchar length (1);
-
-    /*
-    NOTE: Special strings defined in clause 28.2.3 except "8 bit" may be used with this type to specify a given
-    encoding for its values. Also, other properties of the base type can be changed by using attribute
-    mechanisms.
-    */
-
-    type bitstring bit length (1);
-
-    type hexstring hex length (1);
-
-    type octetstring octet length (1);
-
-}
-with {
-encode "XML";
-}
+/*******************************************************************************
+* Copyright (c) 2000-2016 Ericsson Telecom AB
+*
+* XSD to TTCN-3 Translator version: CRL 113 200/5 R4D                       
+*
+* All rights reserved. This program and the accompanying materials
+* are made available under the terms of the Eclipse Public License v1.0
+* which accompanies this distribution, and is available at
+* http://www.eclipse.org/legal/epl-v10.html
+*******************************************************************************/
+//
+//  File:          UsefulTtcn3Types.ttcn
+//  Description:
+//  References:
+//  Rev:
+//  Prodnr:
+//  Updated:
+//  Contact:       http://ttcn.ericsson.se
+//
+////////////////////////////////////////////////////////////////////////////////
+module UsefulTtcn3Types {
+
+
+    type integer byte (-128 .. 127) with { variant "/* 8 bit */" };
+
+    type integer unsignedbyte (0 .. 255) with { variant "/*unsigned 8 bit*/" };
+
+    type integer short (-32768 .. 32767) with { variant "/*16 bit*/" };
+
+    type integer unsignedshort (0 .. 65535) with { variant "/*unsigned 16 bit*/" };
+
+    type integer long (-2147483648 .. 2147483647) with { variant "/*32 bit*/" };
+
+    type integer unsignedlong (0 .. 4294967295) with { variant "/*unsigned 32 bit*/" };
+
+    type integer longlong /* (  -9223372036854775808 .. 9223372036854775807 ) */ with { variant "/*64 bit*/" };
+
+    type integer unsignedlonglong /* ( 0 .. 18446744073709551615 ) */ with { variant "/*unsigned 64 bit*/" };
+
+    type float IEEE754float with { variant "/*IEEE754 float*/" };
+
+    type float IEEE754double with { variant "/*IEEE754 double*/" };
+
+    type float IEEE754extfloat with { variant "/*IEEE754 extended float*/" };
+
+    type float IEEE754extdouble with { variant "/*IEEE754 extended double*/" };
+
+    type universal charstring utf8string with { variant "/*UTF-8*/" };
+
+    type universal charstring bmpstring ( char ( 0,0,0,0 ) .. char ( 0,0,255,255) ) with { variant "/*UCS-2*/" };
+
+    type universal charstring utf16string ( char ( 0,0,0,0 ) .. char ( 0,16,255,255) ) with { variant "/*UTF-16*/" };
+
+    type universal charstring iso8859string ( char ( 0,0,0,0 ) .. char ( 0,0,0,255) ) with { variant "/*8 bit*/" };
+
+    type record IDLfixed
+    {
+    	unsignedshort digits,
+    	short scale,
+    	charstring value_
+    }
+    with {
+    variant "/*IDL:fixed FORMAL/01-12-01 v.2.6*/";
+    };
+
+    /*
+    type charstring char length (1);
+
+    NOTE 1: The name of this useful type is the same as the TTCN-3 keyword used to denote universal
+    charstring values in the quadraple form. In general it is disallowed to use TTCN-3 keywords as
+    identifiers. The "char" useful type is a solitary exception and allowed only for backward compatibility
+    with previous versions of the TTCN-3 standard. (except Titan doesn't)
+
+    NOTE 2: The special string "8 bit" defined in clause 28.2.3 may be used with this type to specify a given encoding
+    for its values. Also, other properties of the base type can be changed by using attribute mechanisms.
+    */
+
+    type universal charstring uchar length (1);
+
+    /*
+    NOTE: Special strings defined in clause 28.2.3 except "8 bit" may be used with this type to specify a given
+    encoding for its values. Also, other properties of the base type can be changed by using attribute
+    mechanisms.
+    */
+
+    type bitstring bit length (1);
+
+    type hexstring hex length (1);
+
+    type octetstring octet length (1);
+
+}
+with {
+encode "XML";
+}
diff --git a/XSD.ttcn b/XSD.ttcn
old mode 100755
new mode 100644
-- 
GitLab