diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index ef908a33da04a5639e538b5c062b97f8874d9736..5ac698c5f4055e170c1aa88e180f02cc0ba8077f 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $
- *              $Id: OneM2M_Functions.ttcn 224 2017-02-10 10:40:40Z reinaortega $
+ *              $Id: OneM2M_Functions.ttcn 229 2017-03-16 08:00:30Z reinaortega $
  *  @desc       Module containing functions for oneM2M
  *
  */
@@ -968,6 +968,7 @@ module OneM2M_Functions {
 		 */
 		function f_getCreateRequestPrimitive(in ResourceType p_resourceType, template RequestPrimitive p_request := m_create, integer p_parentIndex) runs on CseTester return RequestPrimitive {
 			var template ListOfURIs v_defaultListOfURIs := {"NotInitialized"};
+			var template AcpType v_defaultAcpIDs := {"NotInitialized"};
 
 			if(p_resourceType != int2) {
 				p_request.from_ := f_getOriginator(p_parentIndex);
@@ -975,6 +976,7 @@ module OneM2M_Functions {
 			p_request.to_ := f_getResourceAddress(p_parentIndex);
 
 			if (p_resourceType == int1) {//AccessControlPolicy
+				
 			} 
 			
 			if (p_resourceType == int9) {//group
@@ -987,7 +989,10 @@ module OneM2M_Functions {
 				//when a container is created by hosting cse for storing location information, the container is seen as a location container
 				if(PX_IS_LOC_CONTAINER){
 					p_request.primitiveContent.any_1[0].Container_optional.locationID := f_getResourceId(vc_resourcesList[p_parentIndex].resource);//resourceID of the locationPolicy
-				}		  
+				}	
+				if(match(valueof(p_request.primitiveContent.any_1[0].Container_optional.accessControlPolicyIDs), v_defaultAcpIDs )){
+					p_request.primitiveContent.any_1[0].Container_optional.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[vc_acpAuxIndex].resource)};
+				}	  
 			}
 			
 			if (p_resourceType == int15) {//pollingChannel
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 1a802fcc56a21c5b8c5841650aa605fb65c18e66..edeaeaa9c6382aeae907009ef91eef7fa5a96ed9 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
- *              $Id: OneM2M_Templates.ttcn 226 2017-03-09 08:58:45Z reinaortega $
+ *              $Id: OneM2M_Templates.ttcn 229 2017-03-16 08:00:30Z reinaortega $
  *  @desc       Module containing templates for oneM2M
  *
  */
@@ -404,7 +404,7 @@ module OneM2M_Templates {
 				requestIdentifier := testcasename() & "-m_createAEAnnc" & f_rnd(1, 1000000),
 				resourceType := int10002,
 				primitiveContent := {
-					any_1 := {{AEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, p_to & "/" & p_stemId)}}	
+					any_1 := {{AEAnnc_optional := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}}	
 				},
 				roleIDs := omit,
 				originatingTimestamp := omit,
@@ -436,7 +436,7 @@ module OneM2M_Templates {
 				requestIdentifier := ?,
 				resourceType := int10002,
 				primitiveContent := {
-					any_1 := {{AEAnnc_optional := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, p_to & "/" & p_stemId)}}	
+					any_1 := {{AEAnnc_optional := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, valueof(p_to) & "/" & p_stemId)}}	
 				},
 				roleIDs := *,
 				originatingTimestamp := *,
@@ -583,6 +583,18 @@ module OneM2M_Templates {
 				}
 			}; 
         	
+			/**
+			 * @desc Base CREATE request primitive for Content Instance resource
+			 */
+			template (value) RequestPrimitive m_createContentInstanceBase modifies m_create := {
+				requestIdentifier := testcasename() & "-m_createContentInstance" & f_rnd(1, 1000000),
+				resourceType := int3,
+				primitiveContent := {
+			
+					any_1 := {{ContentInstance_optional := m_contentCreateContentInstance}}
+				}
+			};
+    		
     		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
     			to_ := p_parentResourceAddress,
     			from_ := "admin:admin",
@@ -1186,7 +1198,7 @@ module OneM2M_Templates {
     	 * @desc Base primitiveContent for CREATE operation for ContentInstance resource
     	 * @param p_primitiveContent Content for the ContentInstance
     	 */
-    	template (value) ContentInstance_optional m_contentCreateContentInstance(XSD.String p_primitiveContent) := {
+    	template (value) ContentInstance_optional m_contentCreateContentInstance(XSD.String p_primitiveContent := "NotInitializedValue") := {
 			resourceName := c_defaultResourceName,//O
 			resourceType := omit,//NP
 			resourceID := omit,//NP
@@ -1656,8 +1668,9 @@ module OneM2M_Templates {
 		//TODO
 		template XSD.AnyURI mw_contentAcp_rc2 := ?;
 		
-		template AccessControlPolicy_optional mw_contentAcp_rc3 modifies mw_contentAcpBase := {
-			choice := omit	//O
+		template Resource mw_contentAcp_rc3 := {
+			choice := {sg_announceableSubordinateResource := {accessControlPolicy := ?}},
+			uRI := ? 	
 		}
 		
 		template AccessControlPolicy_optional mw_contentAcp_rc4 modifies mw_contentAcpBase := {
@@ -1769,8 +1782,9 @@ module OneM2M_Templates {
 		
 		template XSD.AnyURI mw_contentGroup_rc2 := ?; 
 		
-		template Group_optional  mw_contentGroup_rc3 modifies mw_contentGroupBase := {
-			choice := omit	//O
+		template Resource  mw_contentGroup_rc3 := {
+			choice := {sg_announceableResource := {group_ := ?}},
+			uRI := ?
 		}
 		
 		template Group_optional mw_contentGroup_rc4 modifies mw_contentGroupBase := {
@@ -1843,6 +1857,33 @@ module OneM2M_Templates {
 			expirationTime := omit//M
 		};
 		
+		template PollingChannel_optional mw_contentPollingChannel_rc1 modifies mw_contentPollingChannelBase := {
+		}
+		
+		template XSD.AnyURI mw_contentPollingChannel_rc2 := ?; 
+		
+		template Resource  mw_contentPollingChannel_rc3 := {
+			choice := {sg_subordinateResource := {pollingChannel := ?}},
+			uRI := ?
+		}
+		
+		template PollingChannel_optional mw_contentPollingChannel_rc4 modifies mw_contentPollingChannelBase := {
+		}
+		
+		template PollingChannel_optional mw_contentPollingChannel_rc5 modifies mw_contentPollingChannelBase := {
+		}
+		
+		template PollingChannel_optional mw_contentPollingChannel_rc6 modifies mw_contentPollingChannelBase := { 
+			resourceName := *,//M
+			resourceType := *,//M
+			resourceID := *,//M
+			parentID := *,//M
+			creationTime := *,//M
+			lastModifiedTime := *,//M
+			labels := *,//O
+			expirationTime := *//M
+		}
+		
 		template Schedule_optional mw_contentScheduleBase := {
 			resourceName := ?,//M
 			resourceType := ?,//M
@@ -1894,8 +1935,9 @@ module OneM2M_Templates {
 		
 		template XSD.AnyURI mw_contentSchedule_rc2 := ?; 
 		
-		template Schedule_optional mw_contentSchedule_rc3 modifies mw_contentScheduleBase := {
-			choice := omit	//O
+		template Resource mw_contentSchedule_rc3 := {
+			choice := {sg_announceableSubordinateResource := {schedule := ?}},
+			uRI := ?
 		}
 		
 		template Schedule_optional mw_contentSchedule_rc4 modifies mw_contentScheduleBase := {
@@ -2016,8 +2058,9 @@ module OneM2M_Templates {
 		
 		template XSD.AnyURI mw_contentSubscription_rc2 := ?;  
 		
-		template Subscription_optional mw_contentSubscription_rc3 modifies mw_contentSubscriptionBase := {
-			choice := omit	//O
+		template Resource mw_contentSubscription_rc3 := {
+			choice := {sg_regularResource := {subscription := ?}},
+			uRI := ?
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc4 modifies mw_contentSubscriptionBase := {
@@ -2167,8 +2210,9 @@ module OneM2M_Templates {
 		
 		template XSD.AnyURI mw_contentContainer_rc2 := ?;
 		
-		template Container_optional mw_contentContainer_rc3 modifies mw_contentContainerBase := {
-			choice := omit	//O
+		template Resource mw_contentContainer_rc3 := {
+			choice := {sg_announceableResource := {container := ?}},
+			uRI := ?
 		}
 		
 		template Container_optional mw_contentContainer_rc4 modifies mw_contentContainerBase := {
@@ -2381,7 +2425,7 @@ module OneM2M_Templates {
 		 * @param p_statusCode	Status code
 		 * @param p_requestId	Request ID of the corresponding request
 		 */
-		template (value) ResponsePrimitive m_responsePrimitive_content(in ResponseStatusCode p_statusCode, in RequestID p_requestId, in PrimitiveContent p_content) modifies m_responsePrimitive := {
+		template (value) ResponsePrimitive m_responsePrimitive_content(in ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (value) PrimitiveContent p_content) modifies m_responsePrimitive := {
 			primitiveContent := p_content			
 		}
 		
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 6c34046d3110d43f6f4f05885007995f91791cfa..e14232a069b874656bc3b7f2b80295df4c1a89d6 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -7,6962 +7,6283 @@
  *  
  *  @author     ETSI
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
- *              $Id: OneM2M_Types.ttcn 216 2017-01-20 10:14:30Z reinaortega $
+ *              $Id: OneM2M_Types.ttcn 229 2017-03-16 08:00:30Z reinaortega $
  *  @desc       Test System module for oneM2M
  *
  */
 module OneM2M_Types {
 
 
-import from XSD all;
-
-
-type record AccessControlPolicy
-{
-	ResourceName 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
-{
-	ResourceName 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 ActiveCmdhPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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,
-	E2eSecInfo e2eSecInfo 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,
-			SemanticDescriptor semanticDescriptor,
-			TimeSeries timeSeries,
-			TrafficPattern trafficPattern,
-			Sg_flexContainerResource_group sg_flexContainerResource
-		} 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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.String appName optional,
-	XSD.String app_ID optional,
-	XSD.ID aE_ID optional,
-	PoaList pointOfAccess optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean requestReachability optional,
-	Serializations contentSerialization optional,
-	E2eSecInfo e2eSecInfo 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,
-			SemanticDescriptor semanticDescriptor,
-			TimeSeries timeSeries,
-			TimeSeriesAnnc timeSeriesAnnc,
-			TrafficPatternAnnc trafficPatternAnnc,
-			Sg_flexContainerResource_group sg_flexContainerResource,
-			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-		} 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 AllJoynApp
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	AllJoynDirection direction,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynSvcObject allJoynSvcObject
-		} 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 AllJoynAppAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	AllJoynDirection direction,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynSvcObject allJoynSvcObject,
-			AllJoynSvcObjectAnnc allJoynSvcObjectAnnc
-		} 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 AllJoynInterface
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI interfaceIntrospectXmlRef,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynMethod allJoynMethod,
-			AllJoynProperty allJoynProperty,
-			Container container
-		} 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 AllJoynInterfaceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyURI interfaceIntrospectXmlRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynMethod allJoynMethod,
-			AllJoynMethodAnnc allJoynMethodAnnc,
-			AllJoynProperty allJoynProperty,
-			AllJoynPropertyAnnc allJoynPropertyAnnc,
-			Container container,
-			ContainerAnnc containerAnnc
-		} 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 AllJoynMethodCall
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String input optional,
-	XSD.String callStatus optional,
-	XSD.String output optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			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 AllJoynMethodCallAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			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 AllJoynMethod
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynMethodCall allJoynMethodCall
-		} 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 AllJoynMethodAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynMethodCall allJoynMethodCall,
-			AllJoynMethodCallAnnc allJoynMethodCallAnnc
-		} 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 AllJoynProperty
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String currentValue,
-	XSD.String requestedValue optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			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 AllJoynPropertyAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			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 AllJoynSvcObject
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String objectPath,
-	XSD.Boolean enable,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynInterface allJoynInterface
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (enable) "text 'true' as '1'";
-  //variant (enable) "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 AllJoynSvcObjectAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String objectPath,
-	XSD.Boolean enable optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynInterface allJoynInterface,
-			AllJoynInterfaceAnnc allJoynInterfaceAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (enable) "text 'true' as '1'";
-  //variant (enable) "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 AreaNwkDeviceInfo
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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,
-	XSD.NonNegativeInteger spreadingWaitTime,
-	BackOffParameters backOffParameters,
-	XSD.AnyType otherConditions,
-	MgmtLinkRef mgmtLink
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record CmdhPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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'";
-};
+	import from XSD all;
+
+
+	type record AccessControlPolicy
+	{
+		ResourceName 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
+	{
+		ResourceName 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 ActiveCmdhPolicy
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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,
+		E2eSecInfo e2eSecInfo 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,
+				SemanticDescriptor semanticDescriptor,
+				TimeSeries timeSeries,
+				TrafficPattern trafficPattern,
+				Sg_flexContainerResource_group sg_flexContainerResource
+			} 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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.String appName optional,
+		XSD.String app_ID optional,
+		XSD.ID aE_ID optional,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI nodeLink optional,
+		XSD.Boolean requestReachability optional,
+		Serializations contentSerialization optional,
+		E2eSecInfo e2eSecInfo 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,
+				SemanticDescriptor semanticDescriptor,
+				TimeSeries timeSeries,
+				TimeSeriesAnnc timeSeriesAnnc,
+				TrafficPatternAnnc trafficPatternAnnc,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+			} 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 AllJoynApp
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		AllJoynDirection direction,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				Subscription subscription,
+				AllJoynSvcObject allJoynSvcObject
+			} 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 AllJoynAppAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		AllJoynDirection direction,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				Subscription subscription,
+				AllJoynSvcObject allJoynSvcObject,
+				AllJoynSvcObjectAnnc allJoynSvcObjectAnnc
+			} 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 AllJoynInterface
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI interfaceIntrospectXmlRef,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				Subscription subscription,
+				AllJoynMethod allJoynMethod,
+				AllJoynProperty allJoynProperty,
+				Container container
+			} 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 AllJoynInterfaceAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI interfaceIntrospectXmlRef optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				Subscription subscription,
+				AllJoynMethod allJoynMethod,
+				AllJoynMethodAnnc allJoynMethodAnnc,
+				AllJoynProperty allJoynProperty,
+				AllJoynPropertyAnnc allJoynPropertyAnnc,
+				Container container,
+				ContainerAnnc containerAnnc
+			} 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 AllJoynMethodCall
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.String input optional,
+		XSD.String callStatus optional,
+		XSD.String output optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				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 AllJoynMethodCallAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				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 AllJoynMethod
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				Subscription subscription,
+				AllJoynMethodCall allJoynMethodCall
+			} 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 AllJoynMethodAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				Subscription subscription,
+				AllJoynMethodCall allJoynMethodCall,
+				AllJoynMethodCallAnnc allJoynMethodCallAnnc
+			} 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 AllJoynProperty
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.String currentValue,
+		XSD.String requestedValue optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				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 AllJoynPropertyAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				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 AllJoynSvcObject
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.String objectPath,
+		XSD.Boolean enable,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				Subscription subscription,
+				AllJoynInterface allJoynInterface
+			} choice_list
+		} choice optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		//variant (enable) "text 'true' as '1'";
+		//variant (enable) "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 AllJoynSvcObjectAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.String objectPath,
+		XSD.Boolean enable optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				Subscription subscription,
+				AllJoynInterface allJoynInterface,
+				AllJoynInterfaceAnnc allJoynInterfaceAnnc
+			} choice_list
+		} choice optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		//variant (enable) "text 'true' as '1'";
+		//variant (enable) "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 AreaNwkDeviceInfo
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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,
+		XSD.NonNegativeInteger spreadingWaitTime,
+		BackOffParameters backOffParameters,
+		XSD.AnyType otherConditions,
+		MgmtLinkRef mgmtLink
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (announcedAttribute) "list";
+	};
+
+
+	type record CmdhPolicy
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 XSD.AnyURI ID;
+
+
+	type XSD.Token NodeID
+	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 RequestID
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type XSD.String RoleID (pattern "([a-zA-Z0-9.\-,_]*)@([A-Za-z0-9\-_]*)(.([A-Za-z0-9\-_])*)*")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type XSD.String TokenID (pattern "([a-zA-Z0-9.\-,_]*)@([A-Za-z0-9\-_]*)(.([A-Za-z0-9\-_])*)*")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type XSD.AnyURI NhURI
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type record length(1 .. infinity) of XSD.ID AcpType
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
+
+
+	type record length(1 .. infinity) of XSD.Token Labels
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
+
+
+	type XSD.UnsignedInt TriggerRecipientID (0 .. 65535)
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+
+
+	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 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 Ipv6 (pattern "::(/0)#(0,1)")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	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 union MissingDataList
+	{
+		ListOfTimeStamp alt_,
+		ListOfRelTimeStamp alt_1
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "useUnion";
+		variant (alt_) "name as ''";
+		variant (alt_1) "name as ''";
+	};
+
+
+
+
+	type record length(1 .. infinity) of Timestamp ListOfTimeStamp
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
+
+
+
+
+	type record length(1 .. infinity) of XSD.Long ListOfRelTimeStamp
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
+
+
+	type XSD.String TypeOfContent (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+
+
+	type enumerated PermittedMediaTypes
+	{
+		applicationcbor,
+		applicationjson,
+		applicationxml
+	}
+	with {
+		variant "text 'applicationcbor' as 'application/cbor'";
+		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 //FIXME To be fixed (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+((:[0-2])#(0,1))+((:[0-5])#(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 //FIXME To be fixed (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])*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|([2-9]\d\d\d)(([,-]([2-9]\d\d\d)([/][\d]#(0,1)[\d]#(0,1)[\d]#(0,1)[\d])#(0,1))*))")
+	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.Duration ListOfDuration
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
+
+
+	type record of XSD.NCName AttributeList_1
+	with {
+		variant "name as 'attributeList'";
+		variant "list";
+	};
+
+
+	type record length(1 .. infinity) of ResourceType ResourceTypeList
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
+
+
+	type XSD.String Sparql
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type XSD.String DescriptorRepresentation (pattern "application/rdf+xml:1")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type XSD.String E2eCompactJWS (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type XSD.String E2eCompactJWE (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([a-zA-Z0-9\-_=]*).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type union DynAuthJWT
+	{
+		E2eCompactJWS alt_,
+		E2eCompactJWE alt_1
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "useUnion";
+		variant (alt_) "name as ''";
+		variant (alt_1) "name as ''";
+	};
+
+
+	type XSD.String ResourceName (pattern "[a-zA-Z0-9]([a-zA-Z0-9.\-,_]*)")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+
+
+
+
+
+
+	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,
+		record length(1 .. infinity) of RoleID roleIDs,
+		XSD.Boolean tokenRequestIndicator optional,
+		record length(1 .. infinity) of DynAuthJWT tokens,
+		record length(1 .. infinity) of TokenID tokenIDs,
+		record length(1 .. infinity) of XSD.NCName localTokenIDs
+	}
+	with {
+		variant "name as uncapitalized";
+		//variant (deliveryAggregation) "text 'true' as '1'";
+		//variant (deliveryAggregation) "text 'false' as '0'";
+		variant (roleIDs) "list";
+		//variant (tokenRequestIndicator) "text 'true' as '1'";
+		//variant (tokenRequestIndicator) "text 'false' as '0'";
+		variant (tokens) "list";
+		variant (tokenIDs) "list";
+		variant (localTokenIDs) "list";
+	};
+
+
+	type record of anytype Contents; // FIXME added by AMB, necessary for Codec
+
+	type record PrimitiveContent
+	{
+		Contents any_1
+	/*record of union {
+	XSD.String elem,
+	XSD.String elem_1
+	} choice_list*/
+	}
+	with {
+		variant "name as uncapitalized";
+	//variant (choice_list) "untagged";
+	//variant (choice_list[-]) "untagged";
+	//variant (choice_list[-].elem) "anyElement from 'http://www.onem2m.org/xml/protocols'";
+	//variant (choice_list[-].elem_1) "name as 'elem'";
+	//variant (choice_list[-].elem_1) "anyElement except unqualified, '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,
+		ResourceTypeList 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,
+		record of Sparql semanticsFilter_list,
+		XSD.Boolean filterOperation optional,
+		ContentFilterSyntax contentFilterSyntax optional,
+		XSD.String contentFilterQuery optional,
+		XSD.PositiveInteger level optional,
+		XSD.PositiveInteger offset 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'";
+		variant (semanticsFilter_list) "untagged";
+		variant (semanticsFilter_list[-]) "name as 'semanticsFilter'";
+	//variant (filterOperation) "text 'true' as '1'";
+	//variant (filterOperation) "text 'false' as '0'";
+	};
+
+
+	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
+	{
+		ResourceName 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 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 optional,//FIXME It must be optional
+				record length(1 .. infinity) of Ipv6 ipv6Addresses optional//FIXME It must be optional
+			} accessControlIpAddresses optional,
+			LocationRegion accessControlLocationRegion optional
+		} accessControlContexts_list,
+		XSD.Boolean accessControlAuthenticationFlag optional,
+		record of record {
+			ResourceType resourceType optional,
+			XSD.AnyURI specializationID optional,
+			record length(1 .. infinity) of ResourceType childResourceType
+		} accessControlObjectDetails_list
+	}
+	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";
+		//variant (accessControlAuthenticationFlag) "text 'true' as '1'";
+		//variant (accessControlAuthenticationFlag) "text 'false' as '0'";
+		variant (accessControlObjectDetails_list) "untagged";
+		variant (accessControlObjectDetails_list[-]) "name as 'accessControlObjectDetails'";
+		variant (accessControlObjectDetails_list[-].childResourceType) "list";
+	};
+
+
+	type record ChildResourceRef
+	{
+		ResourceName name,
+		XSD.AnyURI specializationID optional,
+		ResourceType type_,
+		XSD.AnyURI base
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (name) "attribute";
+		variant (specializationID) "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,
+		ContentStatus contentStatus optional,
+		XSD.PositiveInteger contentOffset optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (to_) "name as 'to'";
+		variant (from_) "name as 'from'";
+	};
+
+
+
+
+	type record ContentRef
+	{
+		record length(1 .. infinity) of record {
+			XSD.NCName name,
+			XSD.AnyURI uRI
+		} uRIReference_list
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (uRIReference_list) "untagged";
+		variant (uRIReference_list[-]) "name as 'URIReference'";
+		variant (uRIReference_list[-].uRI) "name as capitalized";
+	};
+
+
+	type record DeletionContexts
+	{
+		record of ScheduleEntry timeOfDay_list,
+		record of LocationRegion locationRegions_list
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (timeOfDay_list) "untagged";
+		variant (timeOfDay_list[-]) "name as 'timeOfDay'";
+		variant (locationRegions_list) "untagged";
+		variant (locationRegions_list[-]) "name as 'locationRegions'";
+	};
+
+
+	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.String CountryCode (pattern "[A-Z]#(2)")
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+	type record MissingData
+	{
+		XSD.NonNegativeInteger number,
+		XSD.Duration duration
+	}
+	with {
+		variant "name as uncapitalized";
+	};
+
+
+
+
+
+
+	type record ReceiverESPrimRandObject
+	{
+		XSD.NCName esprimRandID,
+		XSD.NCName esprimRandValue,
+		AbsRelTimestamp esprimRandExpiry,
+		record length(1 .. infinity) of EsprimKeyGenAlgID esprimKeyGenAlgIDs,
+		record length(1 .. infinity) of EsprimProtocolAndAlgID esprimProtocolAndAlgIDs
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (esprimKeyGenAlgIDs) "list";
+		variant (esprimProtocolAndAlgIDs) "list";
+	};
+
+
+
+
+	type record OriginatorESPrimRandObject
+	{
+		XSD.NCName esprimRandID,
+		XSD.NCName esprimRandValue,
+		AbsRelTimestamp esprimRandExpiry,
+		EsprimKeyGenAlgID esprimKeyGenAlgIDs,
+		record length(1 .. infinity) of EsprimProtocolAndAlgID esprimProtocolAndAlgIDs
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (esprimProtocolAndAlgIDs) "list";
+	};
+
+
+	type record E2eSecInfo
+	{
+		record length(1 .. infinity) of Suid supportedE2ESecFeatures,
+		record length(1 .. infinity) of XSD.Base64Binary certificates,
+		ReceiverESPrimRandObject sharedReceiverESPrimRandObject optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (supportedE2ESecFeatures) "list";
+		variant (certificates) "list";
+	};
 
 
+	type record TokenPermission
+	{
+		ListOfM2MID resourceIDs optional,
+		SetOfAcrs privileges optional,
+		record length(1 .. infinity) of RoleID roleIDs
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (roleIDs) "list";
+	};
 
 
+	type record TokenPermissions
+	{
+		record of TokenPermission permission_list
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (permission_list) "untagged";
+		variant (permission_list[-]) "name as 'permission'";
+	};
 
 
+	type record TokenClaimSet
+	{
+		XSD.String version,
+		TokenID tokenID,
+		XSD.ID holder,
+		XSD.ID issuer,
+		Timestamp notBefore,
+		Timestamp notAfter,
+		XSD.String tokenName optional,
+		ListOfM2MID audience optional,
+		TokenPermissions permissions optional,
+		XSD.String extension_ optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (extension_) "name as 'extension'";
+	};
 
 
-type XSD.AnyURI ID;
+	type record DynAuthLocalTokenIdAssignments
+	{
+		record length(1 .. infinity) of record {
+			XSD.NCName localTokenID,
+			TokenID tokenID
+		} localTokenIdAssignment_list
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (localTokenIdAssignment_list) "untagged";
+		variant (localTokenIdAssignment_list[-]) "name as 'localTokenIdAssignment'";
+	};
 
 
-type XSD.Token NodeID
-with {
-  variant "name as uncapitalized";
-};
+	type record DynAuthTokenSummary
+	{
+		TokenID tokenID,
+		Timestamp notBefore,
+		Timestamp notAfter,
+		XSD.String tokenName optional,
+		ListOfM2MID audience optional
+	}
+	with {
+		variant "name as uncapitalized";
+	};
 
 
-type XSD.Token DeviceID (pattern "urn:meid:[\dABCDEFabcdef]#(14)")
-with {
-  variant "name as uncapitalized";
-};
+	type record DynAuthTokenReqInfo
+	{
+		record length(1 .. infinity) of record {
+			XSD.AnyURI uRI,
+			DynAuthDasRequest dasRequest optional,
+			DynAuthJWT securedDasRequest optional
+		} dasInfo_list
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (dasInfo_list) "untagged";
+		variant (dasInfo_list[-]) "name as 'dasInfo'";
+		variant (dasInfo_list[-].uRI) "name as capitalized";
+	};
 
 
-type XSD.Token ExternalID
-with {
-  variant "name as uncapitalized";
-};
+	type record DynAuthDasRequest
+	{
+		XSD.ID originator,
+		ResourceType targetedResourceType,
+		Operation operation,
+		record {
+			Ipv4 ipv4Address optional,
+			Ipv6 ipv6Address optional
+		} originatorIP optional,
+		LocationRegion originatorLocation optional,
+		record length(1 .. infinity) of RoleID originatorRoleIDs,
+		AbsRelTimestamp requestTimestamp optional,
+		XSD.AnyURI targetedResourceID optional,
+		AbsRelTimestamp proposedPrivilegesLifetime optional,
+		record length(1 .. infinity) of RoleID roleIDsFromACPs,
+		record length(1 .. infinity) of TokenID tokenIDs
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (originatorRoleIDs) "list";
+		variant (roleIDsFromACPs) "list";
+		variant (tokenIDs) "list";
+	};
 
 
-type XSD.Token RequestID
-with {
-  variant "name as uncapitalized";
-};
 
 
-type XSD.String RoleID (pattern "([a-zA-Z0-9.\-,_]*)@([A-Za-z0-9\-_]*)(.([A-Za-z0-9\-_])*)*")
-with {
-  variant "name as uncapitalized";
-};
+	type record BackOffParameters
+	{
+		record length(1 .. infinity) of record {
+			NetworkAction networkAction optional,
+			XSD.NonNegativeInteger initialBackoffTime,
+			XSD.NonNegativeInteger additionalBackoffTime,
+			XSD.NonNegativeInteger maximumBackoffTime,
+			XSD.NonNegativeInteger optionalRandomBackoffTime optional
+		} backOffParametersSet_list
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (backOffParametersSet_list) "untagged";
+		variant (backOffParametersSet_list[-]) "name as 'backOffParametersSet'";
+	};
 
 
-type XSD.String TokenID (pattern "([a-zA-Z0-9.\-,_]*)@([A-Za-z0-9\-_]*)(.([A-Za-z0-9\-_])*)*")
-with {
-  variant "name as uncapitalized";
-};
 
 
-type XSD.AnyURI NhURI
-with {
-  variant "name as uncapitalized";
-};
 
 
-type record length(1 .. infinity) of XSD.ID AcpType
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type record ListOfDataLinks
+	{
+		record length(1 .. infinity) of DataLink dataLinkEntry_list
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (dataLinkEntry_list) "untagged";
+		variant (dataLinkEntry_list[-]) "name as 'dataLinkEntry'";
+	};
 
 
-type record length(1 .. infinity) of XSD.Token Labels
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
 
-type XSD.UnsignedInt TriggerRecipientID (0 .. 65535)
-with {
-  variant "name as uncapitalized";
-};
+	type record DataLink
+	{
+		XSD.AnyURI name,
+		XSD.ID dataContainerID,
+		XSD.NCName attributeName optional
+	}
+	with {
+		variant "name as uncapitalized";
+	};
 
 
 
 
-type record length(1 .. infinity) of XSD.ID ListOfM2MID
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type record Resource_1
+	{
+		ResourceName 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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (resourceName) "attribute";
+	};
 
 
+	type record AnnounceableResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (resourceName) "attribute";
+		variant (announcedAttribute) "list";
+	};
 
 
-type XSD.Long LongMin_1 (-1 .. infinity)
-with {
-  variant "name as 'longMin-1'";
-};
+	type record AnnouncedResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (resourceName) "attribute";
+	};
 
 
+	type record AnnounceableSubordinateResource
+	{
+		ResourceName 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 length(2) of LongMin_1 ListOfMinMax
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type record SubordinateResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (resourceName) "attribute";
+	};
+
+
+	type record AnnouncedSubordinateResource
+	{
+		ResourceName 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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		MgmtDefinition mgmtDefinition,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (resourceName) "attribute";
+	};
 
 
-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 Ipv6 (pattern "::(/0)#(0,1)")
-with {
-  variant "name as uncapitalized";
-};
+	type record length(1 .. infinity) of XSD.NCName ListOfNCNames
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
 
 
-type record length(1 .. infinity) of XSD.String PoaList
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
+	type record FlexContainerResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (resourceName) "attribute";
+	};
+
+
+	type record AnnouncedFlexContainerResource
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (resourceName) "attribute";
+	};
+
+
+
+
+	type union Sg_announceableSubordinateResource_group
+	{
+		AnnounceableSubordinateResource sg_announceableSubordinateResource,
+		AccessControlPolicy accessControlPolicy,
+		ContentInstance contentInstance,
+		Schedule schedule,
+		TimeSeriesInstance timeSeriesInstance
+	}
+	with {
+		variant "untagged";
+		variant (sg_announceableSubordinateResource) "form as qualified";
+		variant (sg_announceableSubordinateResource) "abstract";
+	};
+
+
+	type union Sg_announcedSubordinateResource_group
+	{
+		AnnouncedSubordinateResource sg_announcedSubordinateResource,
+		AccessControlPolicyAnnc accessControlPolicyAnnc,
+		ContentInstanceAnnc contentInstanceAnnc,
+		ScheduleAnnc scheduleAnnc,
+		TimeSeriesInstanceAnnc timeSeriesInstanceAnnc
+	}
+	with {
+		variant "untagged";
+		variant (sg_announcedSubordinateResource) "form as qualified";
+		variant (sg_announcedSubordinateResource) "abstract";
+	};
+
+
+	type union Sg_mgmtResource_group
+	{
+		MgmtResource sg_mgmtResource,
+		ActiveCmdhPolicy activeCmdhPolicy,
+		AreaNwkDeviceInfo areaNwkDeviceInfo,
+		AreaNwkInfo areaNwkInfo,
+		Battery battery,
+		CmdhBuffer cmdhBuffer,
+		CmdhDefEcValue cmdhDefEcValue,
+		CmdhDefaults cmdhDefaults,
+		CmdhEcDefParamValues cmdhEcDefParamValues,
+		CmdhLimits cmdhLimits,
+		CmdhNetworkAccessRules cmdhNetworkAccessRules,
+		CmdhNwAccessRule cmdhNwAccessRule,
+		CmdhPolicy cmdhPolicy,
+		DeviceCapability deviceCapability,
+		DeviceInfo deviceInfo,
+		EventLog eventLog,
+		Firmware firmware,
+		Memory memory,
+		Reboot reboot,
+		Software software
+	}
+	with {
+		variant "untagged";
+		variant (sg_mgmtResource) "form as qualified";
+		variant (sg_mgmtResource) "abstract";
+	};
+
+
+	type union Sg_announceableResource_group
+	{
+		AnnounceableResource sg_announceableResource,
+		AE aE,
+		Container container,
+		Group group_,
+		LocationPolicy locationPolicy,
+		Node node,
+		RemoteCSE remoteCSE,
+		SemanticDescriptor semanticDescriptor,
+		TimeSeries timeSeries,
+		TrafficPattern trafficPattern
+	}
+	with {
+		variant "untagged";
+		variant (sg_announceableResource) "form as qualified";
+		variant (sg_announceableResource) "abstract";
+		variant (aE) "name as capitalized";
+		variant (group_) "name as 'group'";
+	};
+
+
+	type union Sg_announcedResource_group
+	{
+		AnnouncedResource sg_announcedResource,
+		AEAnnc aEAnnc,
+		ContainerAnnc containerAnnc,
+		GroupAnnc groupAnnc,
+		LocationPolicyAnnc locationPolicyAnnc,
+		NodeAnnc nodeAnnc,
+		RemoteCSEAnnc remoteCSEAnnc,
+		SemanticDescriptorAnnc semanticDescriptorAnnc,
+		TimeSeriesAnnc timeSeriesAnnc,
+		TrafficPatternAnnc trafficPatternAnnc
+	}
+	with {
+		variant "untagged";
+		variant (sg_announcedResource) "form as qualified";
+		variant (sg_announcedResource) "abstract";
+		variant (aEAnnc) "name as capitalized";
+	};
+
+
+	type union Sg_flexContainerResource_group
+	{
+		FlexContainerResource sg_flexContainerResource,
+		AllJoynApp allJoynApp,
+		AllJoynInterface allJoynInterface,
+		AllJoynMethod allJoynMethod,
+		AllJoynMethodCall allJoynMethodCall,
+		AllJoynProperty allJoynProperty,
+		AllJoynSvcObject allJoynSvcObject,
+		GenericInterworkingOperationInstance genericInterworkingOperationInstance,
+		GenericInterworkingService genericInterworkingService,
+		SvcFwWrapper svcFwWrapper,
+		SvcObjWrapper svcObjWrapper
+	}
+	with {
+		variant "untagged";
+		variant (sg_flexContainerResource) "form as qualified";
+		variant (sg_flexContainerResource) "abstract";
+	};
+
+
+	type union Sg_announcedFlexContainerResource_group
+	{
+		AnnouncedFlexContainerResource sg_announcedFlexContainerResource,
+		AllJoynAppAnnc allJoynAppAnnc,
+		AllJoynInterfaceAnnc allJoynInterfaceAnnc,
+		AllJoynMethodAnnc allJoynMethodAnnc,
+		AllJoynMethodCallAnnc allJoynMethodCallAnnc,
+		AllJoynPropertyAnnc allJoynPropertyAnnc,
+		AllJoynSvcObjectAnnc allJoynSvcObjectAnnc,
+		GenericInterworkingOperationInstanceAnnc genericInterworkingOperationInstanceAnnc,
+		GenericInterworkingServiceAnnc genericInterworkingServiceAnnc,
+		SvcFwWrapperAnnc svcFwWrapperAnnc,
+		SvcObjWrapperAnnc svcObjWrapperAnnc
+	}
+	with {
+		variant "untagged";
+		variant (sg_announcedFlexContainerResource) "form as qualified";
+		variant (sg_announcedFlexContainerResource) "abstract";
+	};
+
+
+	type union Sg_announcedMgmtResource_group
+	{
+		AnnouncedMgmtResource sg_announcedMgmtResource,
+		AreaNwkDeviceInfoAnnc areaNwkDeviceInfoAnnc,
+		AreaNwkInfoAnnc areaNwkInfoAnnc,
+		BatteryAnnc batteryAnnc,
+		DeviceCapabilityAnnc deviceCapabilityAnnc,
+		DeviceInfoAnnc deviceInfoAnnc,
+		EventLogAnnc eventLogAnnc,
+		FirmwareAnnc firmwareAnnc,
+		MemoryAnnc memoryAnnc,
+		RebootAnnc rebootAnnc,
+		SoftwareAnnc softwareAnnc
+	}
+	with {
+		variant "untagged";
+		variant (sg_announcedMgmtResource) "form as qualified";
+		variant (sg_announcedMgmtResource) "abstract";
+	};
+
+
+	type union Sg_resource_group
+	{
+		Resource sg_resource,
+		CSEBase cSEBase
+	}
+	with {
+		variant "untagged";
+		variant (sg_resource) "form as qualified";
+		variant (sg_resource) "abstract";
+		variant (cSEBase) "name as capitalized";
+	};
+
+
+	type union Sg_regularResource_group
+	{
+		RegularResource sg_regularResource,
+		Delivery delivery,
+		DynamicAuthorizationConsultation dynamicAuthorizationConsultation,
+		EventConfig eventConfig,
+		ExecInstance execInstance,
+		M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+		MgmtCmd mgmtCmd,
+		NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
+		NotificationTargetPolicy notificationTargetPolicy,
+		PolicyDeletionRules policyDeletionRules,
+		Request request,
+		Role role,
+		ServiceSubscribedAppRule serviceSubscribedAppRule,
+		ServiceSubscribedNode serviceSubscribedNode,
+		StatsCollect statsCollect,
+		StatsConfig statsConfig,
+		Subscription subscription,
+		Token token
+	}
+	with {
+		variant "untagged";
+		variant (sg_regularResource) "form as qualified";
+		variant (sg_regularResource) "abstract";
+	};
+
+
+	type union Sg_subordinateResource_group
+	{
+		SubordinateResource sg_subordinateResource,
+		PollingChannel pollingChannel
+	}
+	with {
+		variant "untagged";
+		variant (sg_subordinateResource) "form as qualified";
+		variant (sg_subordinateResource) "abstract";
+	};
+
+
+	type record Container
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		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.Boolean disableRetrieval optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ContentInstance contentInstance,
+				Container container,
+				Subscription subscription,
+				SemanticDescriptor semanticDescriptor,
+				Sg_flexContainerResource_group sg_flexContainerResource
+			} choice_list
+		} choice optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (announcedAttribute) "list";
+		//variant (disableRetrieval) "text 'true' as '1'";
+		//variant (disableRetrieval) "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 ContainerAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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,
+		XSD.Boolean disableRetrieval 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,
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+			} choice_list
+		} choice optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		//variant (disableRetrieval) "text 'true' as '1'";
+		//variant (disableRetrieval) "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 ContentInstance
+	{
+		ResourceName 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,
+		ContentRef contentRef optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyType content,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_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.semanticDescriptor_list) "untagged";
+		variant (choice.semanticDescriptor_list[-]) "name as 'semanticDescriptor'";
+	};
 
-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 record ContentInstanceAnnc
+	{
+		ResourceName 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,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_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.semanticDescriptor_list) "untagged";
+		variant (choice.semanticDescriptor_list[-]) "name as 'semanticDescriptor'";
+	};
 
-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 record CSEBase
+	{
+		ResourceName 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,
+		E2eSecInfo e2eSecInfo optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				RemoteCSE remoteCSE,
+				RemoteCSEAnnc remoteCSEAnnc,
+				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,
+				Role role,
+				XSD.Token token,
+				Sg_flexContainerResource_group sg_flexContainerResource
+			} 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 union MissingDataList
-{
-	ListOfTimeStamp alt_,
-	ListOfRelTimeStamp alt_1
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-};
 
+	type record Delivery
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 length(1 .. infinity) of Timestamp ListOfTimeStamp
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type record DeviceCapabilityAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 length(1 .. infinity) of XSD.Long ListOfRelTimeStamp
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type record DeviceInfoAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 XSD.String TypeOfContent (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+")
-with {
-  variant "name as uncapitalized";
-};
 
+	type record DynamicAuthorizationConsultation
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.Boolean dynamicAuthorizationEnabled,
+		ListOfURIs dynamicAuthorizationPoA,
+		Timestamp dynamicAuthorizationLifetime optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+	//variant (dynamicAuthorizationEnabled) "text 'true' as '1'";
+	//variant (dynamicAuthorizationEnabled) "text 'false' as '0'";
+	};
 
 
+	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),
+		int24(24),
+		int25(25),
+		int26(26),
+		int27(27),
+		int28(28),
+		int29(29),
+		int30(30),
+		int31(31),
+		int32(32),
+		int33(33),
+		int34(34),
+		int10001(10001),
+		int10002(10002),
+		int10003(10003),
+		int10004(10004),
+		int10009(10009),
+		int10010(10010),
+		int10013(10013),
+		int10014(10014),
+		int10016(10016),
+		int10018(10018),
+		int10024(10024),
+		int10028(10028),
+		int10029(10029),
+		int10030(10030),
+		int10033(10033),
+		int10034(10034)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type enumerated PermittedMediaTypes
-{
-	applicationcbor,
-	applicationjson,
-	applicationxml
-}
-with {
-  variant "text 'applicationcbor' as 'application/cbor'";
-  variant "text 'applicationjson' as 'application/json'";
-  variant "text 'applicationxml' as 'application/xml'";
-  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 record length(1 .. infinity) of PermittedMediaTypes Serializations
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type enumerated StdEventCats
+	{
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type XSD.String ContentInfo //FIXME To be fixed (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+((:[0-2])#(0,1))+((:[0-5])#(0,1))") TODO To verify pattern
-with {
-  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 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 enumerated ResponseType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record length(1 .. infinity) of EventCat ListOfEventCat
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type enumerated ResultContent
+	{
+		int0(0),
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6),
+		int7(7),
+		int8(8)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record length(1 .. infinity) of EventCatWithDef ListOfEventCatWithDef
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type enumerated DiscResType
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type XSD.String ScheduleEntry //FIXME To be fixed (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])*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|([2-9]\d\d\d)(([,-]([2-9]\d\d\d)([/][\d]#(0,1)[\d]#(0,1)[\d]#(0,1)[\d])#(0,1))*))")
-with {
-  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),
+		int4106(4106),
+		int4107(4107),
+		int4108(4108),
+		int4109(4109),
+		int4110(4110),
+		int4111(4111),
+		int4112(4112),
+		int4113(4113),
+		int4114(4114),
+		int4115(4115),
+		int5000(5000),
+		int5001(5001),
+		int5103(5103),
+		int5105(5105),
+		int5106(5106),
+		int5203(5203),
+		int5204(5204),
+		int5205(5205),
+		int5206(5206),
+		int5207(5207),
+		int5208(5208),
+		int5209(5209),
+		int5210(5210),
+		int5211(5211),
+		int5212(5212),
+		int6003(6003),
+		int6005(6005),
+		int6010(6010),
+		int6011(6011),//TODO To be deleted - Added to be backward compatible with Rel 1
+		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 record length(1 .. infinity) of XSD.AnyURI ListOfURIs
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type enumerated RequestStatus
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record of XSD.Duration ListOfDuration
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	type enumerated MemberType
+	{
+		int0(0),
+		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),
+		int10001(10001),
+		int10002(10002),
+		int10003(10003),
+		int10004(10004),
+		int10009(10009),
+		int10010(10010),
+		int10013(10013),
+		int10014(10014),
+		int10016(10016),
+		int10018(10018),
+		int10024(10024),
+		int10028(10028),
+		int10029(10029),
+		int10030(10030),
+		int10033(10033),
+		int10034(10034),
+		int20001(20001),
+		int20002(20002)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record of XSD.NCName AttributeList_1
-with {
-  variant "name as 'attributeList'";
-  variant "list";
-};
 
+	type enumerated ConsistencyStrategy
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record length(1 .. infinity) of ResourceType ResourceTypeList
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
 
+	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 XSD.String Sparql
-with {
-  variant "name as uncapitalized";
-};
 
+	type enumerated ExecModeType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type XSD.String DescriptorRepresentation (pattern "application/rdf+xml:1")
-with {
-  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 XSD.String E2eCompactJWS (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
-with {
-  variant "name as uncapitalized";
-};
 
+	type enumerated ExecResultType
+	{
+		int0(0),
+		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),
+		int31(31)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type XSD.String E2eCompactJWE (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([a-zA-Z0-9\-_=]*).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
-with {
-  variant "name as uncapitalized";
-};
 
+	type enumerated PendingNotification
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type union DynAuthJWT
-{
-	E2eCompactJWS alt_,
-	E2eCompactJWE alt_1
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-};
 
+	type enumerated NotificationContentType
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type XSD.String ResourceName (pattern "[a-zA-Z0-9]([a-zA-Z0-9.\-,_]*)")
-with {
-  variant "name as uncapitalized";
-};
 
+	type enumerated NotificationEventType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	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 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 enumerated LogTypeId
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-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,
-	record length(1 .. infinity) of RoleID roleIDs,
-	XSD.Boolean tokenRequestIndicator optional,
-	record length(1 .. infinity) of DynAuthJWT tokens,
-	record length(1 .. infinity) of TokenID tokenIDs,
-	record length(1 .. infinity) of XSD.NCName localTokenIDs
-}
-with {
-  variant "name as uncapitalized";
-  //variant (deliveryAggregation) "text 'true' as '1'";
-  //variant (deliveryAggregation) "text 'false' as '0'";
-  variant (roleIDs) "list";
-  //variant (tokenRequestIndicator) "text 'true' as '1'";
-  //variant (tokenRequestIndicator) "text 'false' as '0'";
-  variant (tokens) "list";
-  variant (tokenIDs) "list";
-  variant (localTokenIDs) "list";
-};
-
-
-type record of anytype Contents; // FIXME added by AMB, necessary for Codec
-
-type record PrimitiveContent
-{
-	Contents any_1
-	/*record of union {
-		XSD.String elem,
-		XSD.String elem_1
-	} choice_list*/
-}
-with {
-  variant "name as uncapitalized";
-  //variant (choice_list) "untagged";
-  //variant (choice_list[-]) "untagged";
-  //variant (choice_list[-].elem) "anyElement from 'http://www.onem2m.org/xml/protocols'";
-  //variant (choice_list[-].elem_1) "name as 'elem'";
-  //variant (choice_list[-].elem_1) "anyElement except unqualified, '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,
-	ResourceTypeList 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,
-	record of Sparql semanticsFilter_list,
-	XSD.Boolean filterOperation optional,
-	ContentFilterSyntax contentFilterSyntax optional,
-	XSD.String contentFilterQuery optional,
-	XSD.PositiveInteger level optional,
-	XSD.PositiveInteger offset 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'";
-  variant (semanticsFilter_list) "untagged";
-  variant (semanticsFilter_list[-]) "name as 'semanticsFilter'";
-  //variant (filterOperation) "text 'true' as '1'";
-  //variant (filterOperation) "text 'false' as '0'";
-};
-
-
-type record Attribute
-{
-	XSD.NCName name,
-	XSD.AnyType value_
-}
-with {
-  variant "name as uncapitalized";
-  variant (value_) "name as 'value'";
-};
 
+	type enumerated LogStatus
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-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 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 record ActionStatus
-{
-	XSD.AnyURI action_ optional,
-	Status status optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (action_) "name as 'action'";
-};
 
+	type enumerated EncodingType
+	{
+		int0(0),
+		int1(1),
+		int2(2)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-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 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 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
-{
-	ResourceName 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 enumerated FilterUsage
+	{
+		int1(1),
+		int2(2),
+		int3(3)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
 
+	type enumerated NotificationTargetPolicyAction
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-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 optional,//FIXME It must be optional
-			record length(1 .. infinity) of Ipv6 ipv6Addresses optional//FIXME It must be optional
-		} accessControlIpAddresses optional,
-		LocationRegion accessControlLocationRegion optional
-	} accessControlContexts_list,
-	XSD.Boolean accessControlAuthenticationFlag optional,
-	record of record {
-		ResourceType resourceType optional,
-		XSD.AnyURI specializationID optional,
-		record length(1 .. infinity) of ResourceType childResourceType
-	} accessControlObjectDetails_list
-}
-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";
-  //variant (accessControlAuthenticationFlag) "text 'true' as '1'";
-  //variant (accessControlAuthenticationFlag) "text 'false' as '0'";
-  variant (accessControlObjectDetails_list) "untagged";
-  variant (accessControlObjectDetails_list[-]) "name as 'accessControlObjectDetails'";
-  variant (accessControlObjectDetails_list[-].childResourceType) "list";
-};
-
-
-type record ChildResourceRef
-{
-	ResourceName name,
-	XSD.AnyURI specializationID optional,
-	ResourceType type_,
-	XSD.AnyURI base
-}
-with {
-  variant "name as uncapitalized";
-  variant (name) "attribute";
-  variant (specializationID) "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 enumerated LogicalOperator
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
 
 
-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,
-	ContentStatus contentStatus optional,
-	XSD.PositiveInteger contentOffset optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-};
 
+	type enumerated AllJoynDirection
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
 
+	type enumerated ContentFilterSyntax
+	{
+		int1(1)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record ContentRef
-{
-	record length(1 .. infinity) of record {
-		XSD.NCName name,
-		XSD.AnyURI uRI
-	} uRIReference_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (uRIReference_list) "untagged";
-  variant (uRIReference_list[-]) "name as 'URIReference'";
-  variant (uRIReference_list[-].uRI) "name as capitalized";
-};
 
+	type enumerated ContentSecurity
+	{
+		int0(0),
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record DeletionContexts
-{
-	record of ScheduleEntry timeOfDay_list,
-	record of LocationRegion locationRegions_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (timeOfDay_list) "untagged";
-  variant (timeOfDay_list[-]) "name as 'timeOfDay'";
-  variant (locationRegions_list) "untagged";
-  variant (locationRegions_list[-]) "name as 'locationRegions'";
-};
-
-
-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 enumerated Suid
+	{
+		int10(10),
+		int11(11),
+		int12(12),
+		int13(13),
+		int14(14),
+		int15(15),
+		int21(21),
+		int22(22),
+		int23(23),
+		int24(24),
+		int25(25),
+		int32(32),
+		int33(33),
+		int34(34),
+		int35(35),
+		int40(40),
+		int41(41),
+		int42(42),
+		int43(43),
+		int44(44),
+		int45(45)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type XSD.String CountryCode (pattern "[A-Z]#(2)")
-with {
-  variant "name as uncapitalized";
-};
 
+	type enumerated EsprimKeyGenAlgID
+	{
+		int1(1)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record MissingData
-{
-	XSD.NonNegativeInteger number,
-	XSD.Duration duration
-}
-with {
-  variant "name as uncapitalized";
-};
 
+	type enumerated EsprimProtocolAndAlgID
+	{
+		int10(10),
+		int11(11),
+		int12(12)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
 
+	type enumerated PeriodicIndicator
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
 
+	type enumerated StationaryIndication
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record ReceiverESPrimRandObject
-{
-	XSD.NCName esprimRandID,
-	XSD.NCName esprimRandValue,
-	AbsRelTimestamp esprimRandExpiry,
-	record length(1 .. infinity) of EsprimKeyGenAlgID esprimKeyGenAlgIDs,
-	record length(1 .. infinity) of EsprimProtocolAndAlgID esprimProtocolAndAlgIDs
-}
-with {
-  variant "name as uncapitalized";
-  variant (esprimKeyGenAlgIDs) "list";
-  variant (esprimProtocolAndAlgIDs) "list";
-};
 
+	type enumerated ContentStatus
+	{
+		int1(1),
+		int2(2)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
 
+	type enumerated NetworkAction
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type record OriginatorESPrimRandObject
-{
-	XSD.NCName esprimRandID,
-	XSD.NCName esprimRandValue,
-	AbsRelTimestamp esprimRandExpiry,
-	EsprimKeyGenAlgID esprimKeyGenAlgIDs,
-	record length(1 .. infinity) of EsprimProtocolAndAlgID esprimProtocolAndAlgIDs
-}
-with {
-  variant "name as uncapitalized";
-  variant (esprimProtocolAndAlgIDs) "list";
-};
 
+	type record EventConfig
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.ID creator optional,
+		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 E2eSecInfo
-{
-	record length(1 .. infinity) of Suid supportedE2ESecFeatures,
-	record length(1 .. infinity) of XSD.Base64Binary certificates,
-	ReceiverESPrimRandObject sharedReceiverESPrimRandObject optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (supportedE2ESecFeatures) "list";
-  variant (certificates) "list";
-};
 
+	type record EventLog
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 TokenPermission
-{
-	ListOfM2MID resourceIDs optional,
-	SetOfAcrs privileges optional,
-	record length(1 .. infinity) of RoleID roleIDs
-}
-with {
-  variant "name as uncapitalized";
-  variant (roleIDs) "list";
-};
 
+	type record EventLogAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 TokenPermissions
-{
-	record of TokenPermission permission_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (permission_list) "untagged";
-  variant (permission_list[-]) "name as 'permission'";
-};
-
-
-type record TokenClaimSet
-{
-	XSD.String version,
-	TokenID tokenID,
-	XSD.ID holder,
-	XSD.ID issuer,
-	Timestamp notBefore,
-	Timestamp notAfter,
-	XSD.String tokenName optional,
-	ListOfM2MID audience optional,
-	TokenPermissions permissions optional,
-	XSD.String extension_ optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (extension_) "name as 'extension'";
-};
 
+	type record ExecInstance
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 DynAuthLocalTokenIdAssignments
-{
-	record length(1 .. infinity) of record {
-		XSD.NCName localTokenID,
-		TokenID tokenID
-	} localTokenIdAssignment_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (localTokenIdAssignment_list) "untagged";
-  variant (localTokenIdAssignment_list[-]) "name as 'localTokenIdAssignment'";
-};
-
-
-type record DynAuthTokenSummary
-{
-	TokenID tokenID,
-	Timestamp notBefore,
-	Timestamp notAfter,
-	XSD.String tokenName optional,
-	ListOfM2MID audience optional
-}
-with {
-  variant "name as uncapitalized";
-};
 
+	type record Firmware
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 DynAuthTokenReqInfo
-{
-	record length(1 .. infinity) of record {
-		XSD.AnyURI uRI,
-		DynAuthDasRequest dasRequest optional,
-		DynAuthJWT securedDasRequest optional
-	} dasInfo_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (dasInfo_list) "untagged";
-  variant (dasInfo_list[-]) "name as 'dasInfo'";
-  variant (dasInfo_list[-].uRI) "name as capitalized";
-};
-
-
-type record DynAuthDasRequest
-{
-	XSD.ID originator,
-	ResourceType targetedResourceType,
-	Operation operation,
-	record {
-		Ipv4 ipv4Address optional,
-		Ipv6 ipv6Address optional
-	} originatorIP optional,
-	LocationRegion originatorLocation optional,
-	record length(1 .. infinity) of RoleID originatorRoleIDs,
-	AbsRelTimestamp requestTimestamp optional,
-	XSD.AnyURI targetedResourceID optional,
-	AbsRelTimestamp proposedPrivilegesLifetime optional,
-	record length(1 .. infinity) of RoleID roleIDsFromACPs,
-	record length(1 .. infinity) of TokenID tokenIDs
-}
-with {
-  variant "name as uncapitalized";
-  variant (originatorRoleIDs) "list";
-  variant (roleIDsFromACPs) "list";
-  variant (tokenIDs) "list";
-};
 
+	type record FirmwareAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 GenericInterworkingOperationInstance
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.String operationName,
+		XSD.String operationState,
+		ListOfDataLinks inputDataPointLinks optional,
+		ListOfDataLinks outputDataPointLinks optional,
+		ListOfDataLinks inputLinks optional,
+		ListOfDataLinks outputLinks optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				SemanticDescriptor semanticDescriptor,
+				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 BackOffParameters
-{
-	record length(1 .. infinity) of record {
-		NetworkAction networkAction optional,
-		XSD.NonNegativeInteger initialBackoffTime,
-		XSD.NonNegativeInteger additionalBackoffTime,
-		XSD.NonNegativeInteger maximumBackoffTime,
-		XSD.NonNegativeInteger optionalRandomBackoffTime optional
-	} backOffParametersSet_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (backOffParametersSet_list) "untagged";
-  variant (backOffParametersSet_list[-]) "name as 'backOffParametersSet'";
-};
 
+	type record GenericInterworkingOperationInstanceAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.String operationName optional,
+		XSD.String operationState optional,
+		ListOfDataLinks inputDataPointLinks optional,
+		ListOfDataLinks outputDataPointLinks optional,
+		ListOfDataLinks inputLinks optional,
+		ListOfDataLinks outputLinks optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				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 GenericInterworkingService
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.String serviceName,
+		ListOfDataLinks inputDataPointLinks optional,
+		ListOfDataLinks outputDataPointLinks optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				GenericInterworkingService genericInterworkingService,
+				GenericInterworkingOperationInstance genericInterworkingOperationInstance,
+				SemanticDescriptor semanticDescriptor,
+				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 GenericInterworkingServiceAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
+		XSD.String serviceName,
+		ListOfDataLinks inputDataPointLinks optional,
+		ListOfDataLinks outputDataPointLinks optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record of union {
+				GenericInterworkingServiceAnnc genericInterworkingServiceAnnc,
+				GenericInterworkingOperationInstanceAnnc genericInterworkingOperationInstanceAnnc,
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				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 ListOfDataLinks
-{
-	record length(1 .. infinity) of DataLink dataLinkEntry_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (dataLinkEntry_list) "untagged";
-  variant (dataLinkEntry_list[-]) "name as 'dataLinkEntry'";
-};
 
+	type record Group
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		XSD.ID creator optional,
+		MemberType memberType,
+		XSD.NonNegativeInteger currentNrOfMembers,
+		XSD.PositiveInteger maxNrOfMembers,
+		ListOfURIs memberIDs,
+		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 union {
+				Subscription subscription,
+				SemanticDescriptor semanticDescriptor
+			} choice_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.choice_list) "untagged";
+		variant (choice.choice_list[-]) "untagged";
+	};
 
 
+	type record GroupAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		MemberType memberType optional,
+		XSD.NonNegativeInteger currentNrOfMembers optional,
+		XSD.PositiveInteger maxNrOfMembers optional,
+		record of XSD.AnyURI memberIDs,
+		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 union {
+				Subscription subscription,
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc
+			} choice_list
+		} choice optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (memberIDs) "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.choice_list) "untagged";
+		variant (choice.choice_list[-]) "untagged";
+	};
 
-type record DataLink
-{
-	XSD.AnyURI name,
-	XSD.ID dataContainerID,
-	XSD.NCName attributeName optional
-}
-with {
-  variant "name as uncapitalized";
-};
 
+	type record LocationPolicy
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		LocationSource locationSource,
+		ListOfDuration 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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		LocationSource locationSource optional,
+		ListOfDuration 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 Resource_1
-{
-	ResourceName 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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record AnnounceableResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record AnnounceableSubordinateResource
-{
-	ResourceName 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 SubordinateResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record AnnouncedSubordinateResource
-{
-	ResourceName 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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
 
+	type record M2mServiceSubscriptionProfile
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 (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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 length(1 .. infinity) of XSD.NCName ListOfNCNames
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-
-type record FlexContainerResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
-
-
-type record AnnouncedFlexContainerResource
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceName) "attribute";
-};
 
+	type record MemoryAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 union Sg_announceableSubordinateResource_group
-{
-	AnnounceableSubordinateResource sg_announceableSubordinateResource,
-	AccessControlPolicy accessControlPolicy,
-	ContentInstance contentInstance,
-	Schedule schedule,
-	TimeSeriesInstance timeSeriesInstance
-}
-with {
-  variant "untagged";
-  variant (sg_announceableSubordinateResource) "form as qualified";
-  variant (sg_announceableSubordinateResource) "abstract";
-};
-
-
-type union Sg_announcedSubordinateResource_group
-{
-	AnnouncedSubordinateResource sg_announcedSubordinateResource,
-	AccessControlPolicyAnnc accessControlPolicyAnnc,
-	ContentInstanceAnnc contentInstanceAnnc,
-	ScheduleAnnc scheduleAnnc,
-	TimeSeriesInstanceAnnc timeSeriesInstanceAnnc
-}
-with {
-  variant "untagged";
-  variant (sg_announcedSubordinateResource) "form as qualified";
-  variant (sg_announcedSubordinateResource) "abstract";
-};
-
-
-type union Sg_mgmtResource_group
-{
-	MgmtResource sg_mgmtResource,
-	ActiveCmdhPolicy activeCmdhPolicy,
-	AreaNwkDeviceInfo areaNwkDeviceInfo,
-	AreaNwkInfo areaNwkInfo,
-	Battery battery,
-	CmdhBuffer cmdhBuffer,
-	CmdhDefEcValue cmdhDefEcValue,
-	CmdhDefaults cmdhDefaults,
-	CmdhEcDefParamValues cmdhEcDefParamValues,
-	CmdhLimits cmdhLimits,
-	CmdhNetworkAccessRules cmdhNetworkAccessRules,
-	CmdhNwAccessRule cmdhNwAccessRule,
-	CmdhPolicy cmdhPolicy,
-	DeviceCapability deviceCapability,
-	DeviceInfo deviceInfo,
-	EventLog eventLog,
-	Firmware firmware,
-	Memory memory,
-	Reboot reboot,
-	Software software
-}
-with {
-  variant "untagged";
-  variant (sg_mgmtResource) "form as qualified";
-  variant (sg_mgmtResource) "abstract";
-};
-
-
-type union Sg_announceableResource_group
-{
-	AnnounceableResource sg_announceableResource,
-	AE aE,
-	Container container,
-	Group group_,
-	LocationPolicy locationPolicy,
-	Node node,
-	RemoteCSE remoteCSE,
-	SemanticDescriptor semanticDescriptor,
-	TimeSeries timeSeries,
-	TrafficPattern trafficPattern
-}
-with {
-  variant "untagged";
-  variant (sg_announceableResource) "form as qualified";
-  variant (sg_announceableResource) "abstract";
-  variant (aE) "name as capitalized";
-  variant (group_) "name as 'group'";
-};
-
-
-type union Sg_announcedResource_group
-{
-	AnnouncedResource sg_announcedResource,
-	AEAnnc aEAnnc,
-	ContainerAnnc containerAnnc,
-	GroupAnnc groupAnnc,
-	LocationPolicyAnnc locationPolicyAnnc,
-	NodeAnnc nodeAnnc,
-	RemoteCSEAnnc remoteCSEAnnc,
-	SemanticDescriptorAnnc semanticDescriptorAnnc,
-	TimeSeriesAnnc timeSeriesAnnc,
-	TrafficPatternAnnc trafficPatternAnnc
-}
-with {
-  variant "untagged";
-  variant (sg_announcedResource) "form as qualified";
-  variant (sg_announcedResource) "abstract";
-  variant (aEAnnc) "name as capitalized";
-};
-
-
-type union Sg_flexContainerResource_group
-{
-	FlexContainerResource sg_flexContainerResource,
-	AllJoynApp allJoynApp,
-	AllJoynInterface allJoynInterface,
-	AllJoynMethod allJoynMethod,
-	AllJoynMethodCall allJoynMethodCall,
-	AllJoynProperty allJoynProperty,
-	AllJoynSvcObject allJoynSvcObject,
-	GenericInterworkingOperationInstance genericInterworkingOperationInstance,
-	GenericInterworkingService genericInterworkingService,
-	SvcFwWrapper svcFwWrapper,
-	SvcObjWrapper svcObjWrapper
-}
-with {
-  variant "untagged";
-  variant (sg_flexContainerResource) "form as qualified";
-  variant (sg_flexContainerResource) "abstract";
-};
-
-
-type union Sg_announcedFlexContainerResource_group
-{
-	AnnouncedFlexContainerResource sg_announcedFlexContainerResource,
-	AllJoynAppAnnc allJoynAppAnnc,
-	AllJoynInterfaceAnnc allJoynInterfaceAnnc,
-	AllJoynMethodAnnc allJoynMethodAnnc,
-	AllJoynMethodCallAnnc allJoynMethodCallAnnc,
-	AllJoynPropertyAnnc allJoynPropertyAnnc,
-	AllJoynSvcObjectAnnc allJoynSvcObjectAnnc,
-	GenericInterworkingOperationInstanceAnnc genericInterworkingOperationInstanceAnnc,
-	GenericInterworkingServiceAnnc genericInterworkingServiceAnnc,
-	SvcFwWrapperAnnc svcFwWrapperAnnc,
-	SvcObjWrapperAnnc svcObjWrapperAnnc
-}
-with {
-  variant "untagged";
-  variant (sg_announcedFlexContainerResource) "form as qualified";
-  variant (sg_announcedFlexContainerResource) "abstract";
-};
-
-
-type union Sg_announcedMgmtResource_group
-{
-	AnnouncedMgmtResource sg_announcedMgmtResource,
-	AreaNwkDeviceInfoAnnc areaNwkDeviceInfoAnnc,
-	AreaNwkInfoAnnc areaNwkInfoAnnc,
-	BatteryAnnc batteryAnnc,
-	DeviceCapabilityAnnc deviceCapabilityAnnc,
-	DeviceInfoAnnc deviceInfoAnnc,
-	EventLogAnnc eventLogAnnc,
-	FirmwareAnnc firmwareAnnc,
-	MemoryAnnc memoryAnnc,
-	RebootAnnc rebootAnnc,
-	SoftwareAnnc softwareAnnc
-}
-with {
-  variant "untagged";
-  variant (sg_announcedMgmtResource) "form as qualified";
-  variant (sg_announcedMgmtResource) "abstract";
-};
 
+	type record Node
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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,
+				SemanticDescriptor semanticDescriptor,
+				TrafficPattern trafficPattern
+			} 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 union Sg_resource_group
-{
-	Resource sg_resource,
-	CSEBase cSEBase
-}
-with {
-  variant "untagged";
-  variant (sg_resource) "form as qualified";
-  variant (sg_resource) "abstract";
-  variant (cSEBase) "name as capitalized";
-};
-
-
-type union Sg_regularResource_group
-{
-	RegularResource sg_regularResource,
-	Delivery delivery,
-	DynamicAuthorizationConsultation dynamicAuthorizationConsultation,
-	EventConfig eventConfig,
-	ExecInstance execInstance,
-	M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
-	MgmtCmd mgmtCmd,
-	NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
-	NotificationTargetPolicy notificationTargetPolicy,
-	PolicyDeletionRules policyDeletionRules,
-	Request request,
-	Role role,
-	ServiceSubscribedAppRule serviceSubscribedAppRule,
-	ServiceSubscribedNode serviceSubscribedNode,
-	StatsCollect statsCollect,
-	StatsConfig statsConfig,
-	Subscription subscription,
-	Token token
-}
-with {
-  variant "untagged";
-  variant (sg_regularResource) "form as qualified";
-  variant (sg_regularResource) "abstract";
-};
 
+	type record NodeAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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,
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				TrafficPatternAnnc trafficPatternAnnc
+			} 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 union Sg_subordinateResource_group
-{
-	SubordinateResource sg_subordinateResource,
-	PollingChannel pollingChannel
-}
-with {
-  variant "untagged";
-  variant (sg_subordinateResource) "form as qualified";
-  variant (sg_subordinateResource) "abstract";
-};
-
-
-type record Container
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	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.Boolean disableRetrieval optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ContentInstance contentInstance,
-			Container container,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			Sg_flexContainerResource_group sg_flexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (disableRetrieval) "text 'true' as '1'";
-  //variant (disableRetrieval) "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 ContainerAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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,
-	XSD.Boolean disableRetrieval 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,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Sg_flexContainerResource_group sg_flexContainerResource,
-			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (disableRetrieval) "text 'true' as '1'";
-  //variant (disableRetrieval) "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 ContentInstance
-{
-	ResourceName 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,
-	ContentRef contentRef optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnyType content,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_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.semanticDescriptor_list) "untagged";
-  variant (choice.semanticDescriptor_list[-]) "name as 'semanticDescriptor'";
-};
-
-
-type record ContentInstanceAnnc
-{
-	ResourceName 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,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_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.semanticDescriptor_list) "untagged";
-  variant (choice.semanticDescriptor_list[-]) "name as 'semanticDescriptor'";
-};
-
-
-type record CSEBase
-{
-	ResourceName 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,
-	E2eSecInfo e2eSecInfo optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			RemoteCSE remoteCSE,
-			RemoteCSEAnnc remoteCSEAnnc,
-			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,
-			Role role,
-			XSD.Token token,
-			Sg_flexContainerResource_group sg_flexContainerResource
-		} 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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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 record DynamicAuthorizationConsultation
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.Boolean dynamicAuthorizationEnabled,
-	ListOfURIs dynamicAuthorizationPoA,
-	Timestamp dynamicAuthorizationLifetime optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (dynamicAuthorizationEnabled) "text 'true' as '1'";
-  //variant (dynamicAuthorizationEnabled) "text 'false' as '0'";
-};
-
-
-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),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30),
-	int31(31),
-	int32(32),
-	int33(33),
-	int34(34),
-	int10001(10001),
-	int10002(10002),
-	int10003(10003),
-	int10004(10004),
-	int10009(10009),
-	int10010(10010),
-	int10013(10013),
-	int10014(10014),
-	int10016(10016),
-	int10018(10018),
-	int10024(10024),
-	int10028(10028),
-	int10029(10029),
-	int10030(10030),
-	int10033(10033),
-	int10034(10034)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record NotificationTargetMgmtPolicyRef
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs notificationTargetURI optional,
+		XSD.AnyURI notificationlPolicyID 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 CseTypeID
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record NotificationTargetPolicy
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.ID creator optional,
+		NotificationTargetPolicyAction action_,
+		XSD.Token policyLabel,
+		LogicalOperator rulesRelationship optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				PolicyDeletionRules policyDeletionRules,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (action_) "name as 'action'";
+		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 enumerated LocationSource
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type Notification_1 Notification
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+	};
 
-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 AggregatedNotification_1 AggregatedNotification
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+	};
 
-type enumerated ResponseType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-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),
-	int8(8)
-}
-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 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),
-	int4106(4106),
-	int4107(4107),
-	int4108(4108),
-	int4109(4109),
-	int4110(4110),
-	int4111(4111),
-	int4112(4112),
-	int4113(4113),
-	int4114(4114),
-	int4115(4115),
-	int5000(5000),
-	int5001(5001),
-	int5103(5103),
-	int5105(5105),
-	int5106(5106),
-	int5203(5203),
-	int5204(5204),
-	int5205(5205),
-	int5206(5206),
-	int5207(5207),
-	int5208(5208),
-	int5209(5209),
-	int5210(5210),
-	int5211(5211),
-	int5212(5212),
-	int6003(6003),
-	int6005(6005),
-	int6010(6010),
-	int6011(6011),//TODO To be deleted - Added to be backward compatible with Rel 1
-	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";
-};
+//FIXME To be added
+	type union Representation {
+		anytype resource,
+		ResponsePrimitive responsePrimitive
+	};
 
+	type record Notification_1
+	{
+		record {
+			//XSD.AnyType representation optional, To be exchanged by Representation
+			Representation 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,
+		record {
+			XSD.ID originator,
+			FilterCriteria filterCriteria
+		} iPEDiscoveryRequest 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'";
+		variant (iPEDiscoveryRequest) "name as capitalized";
+	};
 
-type enumerated RequestStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated MemberType
-{
-	int0(0),
-	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),
-	int10001(10001),
-	int10002(10002),
-	int10003(10003),
-	int10004(10004),
-	int10009(10009),
-	int10010(10010),
-	int10013(10013),
-	int10014(10014),
-	int10016(10016),
-	int10018(10018),
-	int10024(10024),
-	int10028(10028),
-	int10029(10029),
-	int10030(10030),
-	int10033(10033),
-	int10034(10034),
-	int20001(20001),
-	int20002(20002)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type SecurityInfo_1 SecurityInfo
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+	};
 
-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 record SecurityInfo_1
+	{
+		SecurityInfoType securityInfoType optional,
+		DynAuthDasRequest dasRequest optional,
+		DynAuthDasResponse dasResponse optional,
+		ReceiverESPrimRandObject esprimRandObject optional,
+		E2eCompactJWE esprimObject optional,
+		XSD.Base64Binary escertkeMessage optional
+	}
+	with {
+		variant "name as 'securityInfo'";
+	};
 
-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
-{
-	int0(0),
-	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),
-	int31(31)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type enumerated SecurityInfoType
+	{
+		int1(1),
+		int2(2),
+		int3(3),
+		int4(4),
+		int5(5),
+		int6(6)
+	}
+	with {
+		variant "useNumber";
+		variant "name as uncapitalized";
+	};
 
-type enumerated PendingNotification
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record DynAuthDasResponse
+	{
+		record {
+			SetOfAcrs grantedPrivileges optional,
+			AbsRelTimestamp privilegesLifetime optional
+		} dynamicACPInfo optional,
+		record length(1 .. infinity) of DynAuthJWT tokens
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (tokens) "list";
+	};
 
-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),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record PolicyDeletionRules
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		DeletionContexts deletionRules optional,
+		LogicalOperator deletionRulesRelation 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 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 record PollingChannel
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		Timestamp expirationTime
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+	};
 
-type enumerated EventType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record Reboot
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 enumerated StatsRuleStatusType
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record RebootAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 enumerated StatModelType
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record RemoteCSE
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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,
+		E2eSecInfo e2eSecInfo optional,
+		XSD.UnsignedInt triggerReferenceNumber 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,
+				Schedule schedule,
+				TimeSeries timeSeries,
+				TimeSeriesAnnc timeSeriesAnnc,
+				LocationPolicyAnnc locationPolicyAnnc,
+				AEAnnc aEAnnc,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+			} 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'";
+		variant (choice.choice_list[-].aEAnnc) "name as capitalized";
+	};
 
-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 record RemoteCSEAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		CseTypeID cseType optional,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI cSEBase optional,
+		XSD.ID cSE_ID optional,
+		XSD.Boolean requestReachability optional,
+		XSD.AnyURI nodeLink optional,
+		E2eSecInfo e2eSecInfo 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,
+				TimeSeries timeSeries,
+				TimeSeriesAnnc timeSeriesAnnc,
+				AEAnnc aEAnnc,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+			} 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'";
+		variant (choice.choice_list[-].aEAnnc) "name as capitalized";
+	};
 
-type enumerated FilterUsage
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record RequestPrimitive
+	{
+		Operation operation,
+		XSD.AnyURI to_,
+		XSD.ID from_ optional,
+		RequestID requestIdentifier,
+		ResourceType resourceType optional,
+		PrimitiveContent primitiveContent optional,
+		record length(1 .. infinity) of RoleID roleIDs optional,//TODO it must be 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,
+		record length(1 .. infinity) of DynAuthJWT tokens optional,//TODO it must be optional
+		record length(1 .. infinity) of TokenID tokenIDs optional,//TODO it must be optional
+		record length(1 .. infinity) of XSD.NCName localTokenIDs optional,//TODO it must be optional
+		XSD.Boolean tokenRequestIndicator optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (to_) "name as 'to'";
+		variant (from_) "name as 'from'";
+		variant (roleIDs) "list";
+		//variant (deliveryAggregation) "text 'true' as '1'";
+		//variant (deliveryAggregation) "text 'false' as '0'";
+		variant (tokens) "list";
+		variant (tokenIDs) "list";
+		variant (localTokenIDs) "list";
+	//variant (tokenRequestIndicator) "text 'true' as '1'";
+	//variant (tokenRequestIndicator) "text 'false' as '0'";
+	};
 
-type enumerated NotificationTargetPolicyAction
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type AttributeList_1 AttributeList
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+	};
 
-type enumerated LogicalOperator
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type record Request
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 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,
+		ContentStatus contentStatus optional,
+		XSD.PositiveInteger contentOffset optional,
+		DynAuthLocalTokenIdAssignments assignedTokenIdentifiers optional,
+		DynAuthTokenReqInfo tokenRequestInformation optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (to_) "name as 'to'";
+		variant (from_) "name as 'from'";
+	};
 
-type enumerated AllJoynDirection
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type ResourceWrapper Resource
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+	};
 
-type enumerated ContentFilterSyntax
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ContentSecurity
-{
-	int0(0),
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated Suid
-{
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int32(32),
-	int33(33),
-	int34(34),
-	int35(35),
-	int40(40),
-	int41(41),
-	int42(42),
-	int43(43),
-	int44(44),
-	int45(45)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type ListOfURIs URIList
+	with {
+		variant "element";
+	};
 
-type enumerated EsprimKeyGenAlgID
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type XSD.AnyURI URI
+	with {
+		variant "element";
+	};
 
-type enumerated EsprimProtocolAndAlgID
-{
-	int10(10),
-	int11(11),
-	int12(12)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type AggregatedResponse_1 AggregatedResponse
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+	};
 
-type enumerated PeriodicIndicator
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type ListOfChildResourceRef ResourceRefList
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+	};
 
-type enumerated StationaryIndication
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
 
+	type XSD.String DebugInfo
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+	};
 
-type enumerated ContentStatus
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated NetworkAction
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type record EventConfig
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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 GenericInterworkingOperationInstance
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String operationName,
-	XSD.String operationState,
-	ListOfDataLinks inputDataPointLinks optional,
-	ListOfDataLinks outputDataPointLinks optional,
-	ListOfDataLinks inputLinks optional,
-	ListOfDataLinks outputLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			SemanticDescriptor semanticDescriptor,
-			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 GenericInterworkingOperationInstanceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String operationName optional,
-	XSD.String operationState optional,
-	ListOfDataLinks inputDataPointLinks optional,
-	ListOfDataLinks outputDataPointLinks optional,
-	ListOfDataLinks inputLinks optional,
-	ListOfDataLinks outputLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			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 GenericInterworkingService
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String serviceName,
-	ListOfDataLinks inputDataPointLinks optional,
-	ListOfDataLinks outputDataPointLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			GenericInterworkingService genericInterworkingService,
-			GenericInterworkingOperationInstance genericInterworkingOperationInstance,
-			SemanticDescriptor semanticDescriptor,
-			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 GenericInterworkingServiceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.String serviceName,
-	ListOfDataLinks inputDataPointLinks optional,
-	ListOfDataLinks outputDataPointLinks optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			GenericInterworkingServiceAnnc genericInterworkingServiceAnnc,
-			GenericInterworkingOperationInstanceAnnc genericInterworkingOperationInstanceAnnc,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			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 Group
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute,
-	XSD.ID creator optional,
-	MemberType memberType,
-	XSD.NonNegativeInteger currentNrOfMembers,
-	XSD.PositiveInteger maxNrOfMembers,
-	ListOfURIs memberIDs,
-	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 union {
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor
-		} choice_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.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record GroupAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	MemberType memberType optional,
-	XSD.NonNegativeInteger currentNrOfMembers optional,
-	XSD.PositiveInteger maxNrOfMembers optional,
-	record of XSD.AnyURI memberIDs,
-	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 union {
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (memberIDs) "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.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-};
-
-
-type record LocationPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute,
-	LocationSource locationSource,
-	ListOfDuration 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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	LocationSource locationSource optional,
-	ListOfDuration 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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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 (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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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,
-			SemanticDescriptor semanticDescriptor,
-			TrafficPattern trafficPattern
-		} 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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			TrafficPatternAnnc trafficPatternAnnc
-		} 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 NotificationTargetMgmtPolicyRef
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs notificationTargetURI optional,
-	XSD.AnyURI notificationlPolicyID 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 NotificationTargetPolicy
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	NotificationTargetPolicyAction action_,
-	XSD.Token policyLabel,
-	LogicalOperator rulesRelationship optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			PolicyDeletionRules policyDeletionRules,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (action_) "name as 'action'";
-  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 record ResourceWrapper
+	{
+		union {
+			Sg_resource_group sg_resource,
+			Sg_regularResource_group sg_regularResource,
+			Sg_announcedResource_group sg_announcedResource,
+			Sg_announceableResource_group sg_announceableResource,
+			Sg_subordinateResource_group sg_subordinateResource,
+			Sg_announcedSubordinateResource_group sg_announcedSubordinateResource,
+			Sg_announceableSubordinateResource_group sg_announceableSubordinateResource,
+			Sg_mgmtResource_group sg_mgmtResource,
+			Sg_announcedMgmtResource_group sg_announcedMgmtResource,
+			Sg_flexContainerResource_group sg_flexContainerResource,
+			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+		} choice,
+		XSD.AnyURI uRI
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (choice) "untagged";
+		variant (uRI) "name as capitalized";
+	};
 
-type AggregatedNotification_1 AggregatedNotification
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
 
+	type record AggregatedResponse_1
+	{
+		XSD.AnyURI resourceID optional,
+		record of ResponsePrimitive responsePrimitive_list
+	}
+	with {
+		variant "name as 'aggregatedResponse'";
+		variant (responsePrimitive_list) "untagged";
+		variant (responsePrimitive_list[-]) "name as 'responsePrimitive'";
+	};
 
-type record AggregatedNotification_1
-{
-	record of Notification notification_list
-}
-with {
-  variant "name as 'aggregatedNotification'";
-  variant (notification_list) "untagged";
-  variant (notification_list[-]) "name as 'notification'";
-};
 
-//FIXME To be added
-type union Representation {
-	anytype resource, 
-	ResponsePrimitive responsePrimitive
-};
-
-type record Notification_1
-{
-	record {
-		//XSD.AnyType representation optional, To be exchanged by Representation
-		Representation 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,
-	record {
-		XSD.ID originator,
-		FilterCriteria filterCriteria
-	} iPEDiscoveryRequest 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'";
-  variant (iPEDiscoveryRequest) "name as capitalized";
-};
+	type record ListOfChildResourceRef
+	{
+		record of ChildResourceRef childResource_list
+	}
+	with {
+		variant "name as uncapitalized";
+		variant (childResource_list) "untagged";
+		variant (childResource_list[-]) "name as 'childResource'";
+	};
 
 
-type SecurityInfo_1 SecurityInfo
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SecurityInfo_1
-{
-	SecurityInfoType securityInfoType optional,
-	DynAuthDasRequest dasRequest optional,
-	DynAuthDasResponse dasResponse optional,
-	ReceiverESPrimRandObject esprimRandObject optional,
-	E2eCompactJWE esprimObject optional,
-	XSD.Base64Binary escertkeMessage optional
-}
-with {
-  variant "name as 'securityInfo'";
-};
-
-
-type enumerated SecurityInfoType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type record DynAuthDasResponse
-{
-	record {
-		SetOfAcrs grantedPrivileges optional,
-		AbsRelTimestamp privilegesLifetime optional
-	} dynamicACPInfo optional,
-	record length(1 .. infinity) of DynAuthJWT tokens
-}
-with {
-  variant "name as uncapitalized";
-  variant (tokens) "list";
-};
-
-
-type record PolicyDeletionRules
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	DeletionContexts deletionRules optional,
-	LogicalOperator deletionRulesRelation 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 PollingChannel
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-};
-
-
-type record Reboot
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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,
-	E2eSecInfo e2eSecInfo optional,
-	XSD.UnsignedInt triggerReferenceNumber 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,
-			Schedule schedule,
-			TimeSeries timeSeries,
-			TimeSeriesAnnc timeSeriesAnnc,
-			LocationPolicyAnnc locationPolicyAnnc,
-			AEAnnc aEAnnc,
-			Sg_flexContainerResource_group sg_flexContainerResource,
-			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-		} 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'";
-  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
-};
-
-
-type record RemoteCSEAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	CseTypeID cseType optional,
-	PoaList pointOfAccess optional,
-	XSD.AnyURI cSEBase optional,
-	XSD.ID cSE_ID optional,
-	XSD.Boolean requestReachability optional,
-	XSD.AnyURI nodeLink optional,
-	E2eSecInfo e2eSecInfo 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,
-			TimeSeries timeSeries,
-			TimeSeriesAnnc timeSeriesAnnc,
-			AEAnnc aEAnnc,
-			Sg_flexContainerResource_group sg_flexContainerResource,
-			Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-		} 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'";
-  variant (choice.choice_list[-].aEAnnc) "name as capitalized";
-};
-
-
-type record RequestPrimitive
-{
-	Operation operation,
-	XSD.AnyURI to_,
-	XSD.ID from_ optional,
-	RequestID requestIdentifier,
-	ResourceType resourceType optional,
-	PrimitiveContent primitiveContent optional,
-	record length(1 .. infinity) of RoleID roleIDs optional,//TODO it must be 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,
-	record length(1 .. infinity) of DynAuthJWT tokens optional,//TODO it must be optional
-	record length(1 .. infinity) of TokenID tokenIDs optional,//TODO it must be optional
-	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,//TODO it must be optional
-	XSD.Boolean tokenRequestIndicator optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-  variant (roleIDs) "list";
-  //variant (deliveryAggregation) "text 'true' as '1'";
-  //variant (deliveryAggregation) "text 'false' as '0'";
-  variant (tokens) "list";
-  variant (tokenIDs) "list";
-  variant (localTokenIDs) "list";
-  //variant (tokenRequestIndicator) "text 'true' as '1'";
-  //variant (tokenRequestIndicator) "text 'false' as '0'";
-};
-
-
-type AttributeList_1 AttributeList
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Request
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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 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,
-	ContentStatus contentStatus optional,
-	XSD.PositiveInteger contentOffset optional,
-	DynAuthLocalTokenIdAssignments assignedTokenIdentifiers optional,
-	DynAuthTokenReqInfo tokenRequestInformation optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-};
+	type record Role
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		RoleID roleID,
+		XSD.ID issuer,
+		XSD.ID holder,
+		Timestamp notBefore,
+		Timestamp notAfter,
+		XSD.String roleName optional,
+		XSD.AnyURI tokenLink optional,
+		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 ResourceWrapper Resource
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
+	type record Schedule
+	{
+		ResourceName 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 ListOfURIs URIList
-with {
-  variant "element";
-};
+	type record ScheduleAnnc
+	{
+		ResourceName 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 XSD.AnyURI URI
-with {
-  variant "element";
-};
+	type record SemanticDescriptor
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		XSD.ID creator optional,
+		DescriptorRepresentation descriptorRepresentation optional,
+		Sparql semanticOpExec optional,
+		XSD.Base64Binary descriptor,
+		XSD.AnyURI ontologyRef optional,
+		ListOfURIs relatedSemantics 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 (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 AggregatedResponse_1 AggregatedResponse
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
+	type record SemanticDescriptorAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		DescriptorRepresentation descriptorRepresentation optional,
+		Sparql semanticOpExec optional,
+		XSD.Base64Binary descriptor optional,
+		XSD.AnyURI ontologyRef optional,
+		ListOfURIs relatedSemantics 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 ListOfChildResourceRef ResourceRefList
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
+	type record ServiceSubscribedAppRule
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfM2MID applicableCredIDs optional,
+		ListOfM2MID allowedApp_IDs optional,
+		ListOfM2MID allowedAEs optional,
+		record length(1 .. infinity) of RoleID allowedRole_IDs,
+		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 (allowedRole_IDs) "name as 'allowedRole-IDs'";
+		variant (allowedRole_IDs) "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 XSD.String DebugInfo
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ResourceWrapper
-{
-	union {
-		Sg_resource_group sg_resource,
-		Sg_regularResource_group sg_regularResource,
-		Sg_announcedResource_group sg_announcedResource,
-		Sg_announceableResource_group sg_announceableResource,
-		Sg_subordinateResource_group sg_subordinateResource,
-		Sg_announcedSubordinateResource_group sg_announcedSubordinateResource,
-		Sg_announceableSubordinateResource_group sg_announceableSubordinateResource,
-		Sg_mgmtResource_group sg_mgmtResource,
-		Sg_announcedMgmtResource_group sg_announcedMgmtResource,
-		Sg_flexContainerResource_group sg_flexContainerResource,
-		Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-	} choice,
-	XSD.AnyURI uRI
-}
-with {
-  variant "name as uncapitalized";
-  variant (choice) "untagged";
-  variant (uRI) "name as capitalized";
-};
+	type record ServiceSubscribedNode
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 AggregatedResponse_1
-{
-	XSD.AnyURI resourceID optional,
-	record of ResponsePrimitive responsePrimitive_list
-}
-with {
-  variant "name as 'aggregatedResponse'";
-  variant (responsePrimitive_list) "untagged";
-  variant (responsePrimitive_list[-]) "name as 'responsePrimitive'";
-};
+	type record Software
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 ListOfChildResourceRef
-{
-	record of ChildResourceRef childResource_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (childResource_list) "untagged";
-  variant (childResource_list[-]) "name as 'childResource'";
-};
-
-
-type record Role
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	RoleID roleID,
-	XSD.ID issuer,
-	XSD.ID holder,
-	Timestamp notBefore,
-	Timestamp notAfter,
-	XSD.String roleName optional,
-	XSD.AnyURI tokenLink optional,
-	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 Schedule
-{
-	ResourceName 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
-{
-	ResourceName 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 SemanticDescriptor
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute,
-	XSD.ID creator optional,
-	DescriptorRepresentation descriptorRepresentation optional,
-	Sparql semanticOpExec optional,
-	XSD.Base64Binary descriptor,
-	XSD.AnyURI ontologyRef optional,
-	ListOfURIs relatedSemantics 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 (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 SemanticDescriptorAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	DescriptorRepresentation descriptorRepresentation optional,
-	Sparql semanticOpExec optional,
-	XSD.Base64Binary descriptor optional,
-	XSD.AnyURI ontologyRef optional,
-	ListOfURIs relatedSemantics 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 ServiceSubscribedAppRule
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfM2MID applicableCredIDs optional,
-	ListOfM2MID allowedApp_IDs optional,
-	ListOfM2MID allowedAEs optional,
-	record length(1 .. infinity) of RoleID allowedRole_IDs,
-	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 (allowedRole_IDs) "name as 'allowedRole-IDs'";
-  variant (allowedRole_IDs) "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 ServiceSubscribedNode
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	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
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.ID creator optional,
-	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.AnyURI subscriberURI optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Schedule schedule,
-			NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
-		} choice_list
-	} 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";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "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,
-	AttributeList_1 attribute optional,
-	record length(0 .. 5) of NotificationEventType notificationEventType_list,
-	MissingData missingData optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (operationMonitor_list) "untagged";
-  variant (operationMonitor_list[-]) "name as 'operationMonitor'";
-  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 SoftwareAnnc
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		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 RateLimit
-{
-	XSD.NonNegativeInteger maxNrOfNotify optional,
-	XSD.Duration timeWindow optional
-}
-with {
-  variant "name as uncapitalized";
-};
-
-
-type record SvcFwWrapper
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			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 SvcFwWrapperAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			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 SvcObjWrapper
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			Subscription subscription,
-			AllJoynApp allJoynApp
-		} 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 SvcObjWrapperAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record of union {
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc,
-			Subscription subscription,
-			AllJoynAppAnnc allJoynAppAnnc
-		} 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 TimeSeriesInstance
-{
-	ResourceName 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,
-	AbsRelTimestamp dataGenerationTime,
-	XSD.AnySimpleType content,
-	XSD.NonNegativeInteger sequenceNr optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-};
-
-
-type record TimeSeriesInstanceAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	AbsRelTimestamp dataGenerationTime optional,
-	XSD.AnySimpleType content optional,
-	XSD.NonNegativeInteger sequenceNr optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-};
-
-
-type record TimeSeries
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	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.NonNegativeInteger periodicInterval optional,
-	XSD.Boolean missingDataDetect optional,
-	XSD.NonNegativeInteger missingDataMaxNr optional,
-	MissingDataList missingDataList optional,
-	XSD.NonNegativeInteger missingDataCurrentNr optional,
-	XSD.NonNegativeInteger missingDataDetectTimer 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 {
-			TimeSeriesInstance timeSeriesInstance,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (missingDataDetect) "text 'true' as '1'";
-  //variant (missingDataDetect) "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 TimeSeriesAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.NonNegativeInteger maxNrOfInstances optional,
-	XSD.NonNegativeInteger maxByteSize optional,
-	XSD.NonNegativeInteger maxInstanceAge optional,
-	XSD.NonNegativeInteger currentNrOfInstances,
-	XSD.NonNegativeInteger currentByteSize,
-	XSD.NonNegativeInteger periodicInterval optional,
-	XSD.Boolean missingDataDetect optional,
-	MissingDataList missingDataList optional,
-	XSD.NonNegativeInteger missingDataCurrentNr optional,
-	XSD.NonNegativeInteger missingDataDetectTimer optional,
-	XSD.AnyURI ontologyRef optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			TimeSeriesInstance timeSeriesInstance,
-			TimeSeriesInstanceAnnc timeSeriesInstanceAnnc,
-			Subscription subscription,
-			SemanticDescriptor semanticDescriptor,
-			SemanticDescriptorAnnc semanticDescriptorAnnc
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (missingDataDetect) "text 'true' as '1'";
-  //variant (missingDataDetect) "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 Token
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	TokenID tokenID,
-	DynAuthJWT tokenObject,
-	XSD.String version optional,
-	XSD.ID issuer optional,
-	XSD.ID holder optional,
-	Timestamp notBefore,
-	Timestamp notAfter optional,
-	XSD.String tokenName optional,
-	ListOfM2MID audience optional,
-	record {
-		TokenPermission permission
-	} permissions optional,
-	XSD.String extension_ optional,
-	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 (extension_) "name as 'extension'";
-  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 TrafficPattern
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute,
-	XSD.Boolean provideToNSE optional,
-	PeriodicIndicator periodicIndicator optional,
-	XSD.UnsignedInt periodicDurationTime optional,
-	XSD.UnsignedInt periodicIntervalTime optional,
-	StationaryIndication stationaryIndication optional,
-	XSD.PositiveInteger dataSizeIndicator optional,
-	Timestamp validityTime optional,
-	ListOfM2MID targetNetwork,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			record of Subscription subscription_list,
-			record length(1) of Schedule schedule_list
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  variant (announcedAttribute) "list";
-  //variant (provideToNSE) "text 'true' as '1'";
-  //variant (provideToNSE) "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[-].subscription_list) "untagged";
-  variant (choice.choice_list[-].subscription_list[-]) "name as 'subscription'";
-  variant (choice.choice_list[-].schedule_list) "untagged";
-  variant (choice.choice_list[-].schedule_list[-]) "name as 'schedule'";
-};
-
-
-type record TrafficPatternAnnc
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.Boolean provideToNSE optional,
-	PeriodicIndicator periodicIndicator optional,
-	XSD.UnsignedInt periodicDurationTime optional,
-	XSD.UnsignedInt periodicIntervalTime optional,
-	StationaryIndication stationaryIndication optional,
-	XSD.PositiveInteger dataSizeIndicator optional,
-	Timestamp validityTime optional,
-	ListOfM2MID targetNetwork optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			record of Subscription subscription_list,
-			record length(1) of ScheduleAnnc scheduleAnnc_list
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (resourceName) "attribute";
-  //variant (provideToNSE) "text 'true' as '1'";
-  //variant (provideToNSE) "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[-].subscription_list) "untagged";
-  variant (choice.choice_list[-].subscription_list[-]) "name as 'subscription'";
-  variant (choice.choice_list[-].scheduleAnnc_list) "untagged";
-  variant (choice.choice_list[-].scheduleAnnc_list[-]) "name as 'scheduleAnnc'";
-};
+	type record StatsCollect
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.ID creator optional,
+		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'";
+	};
 
-/* Additional types */
 
-group OptionalResourceTypes {
-  
-	//Added by @Naum
-	type record AEAnnc_optional
+	type record StatsConfig
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
+		Timestamp expirationTime,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.AnyURI link optional,
-		XSD.String appName optional,
-		XSD.String app_ID optional,
-		XSD.ID aE_ID optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean requestReachability optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
+		XSD.ID creator 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, 		
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				TrafficPatternAnnc trafficPatternAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+				EventConfig eventConfig,
+				Subscription subscription
 			} 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'";
+		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 AE_optional
+
+	type record Subscription
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
+		Timestamp expirationTime,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.String appName optional,
-		XSD.String app_ID optional,
-		XSD.ID aE_ID optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean requestReachability optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
+		XSD.ID creator optional,
+		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.AnyURI subscriberURI 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,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TrafficPattern trafficPattern,
-				Sg_flexContainerResource_group sg_flexContainerResource
+				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
 			} 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'";
-	  
-	  //  long->short conversion XML
-	  variant                                             "name as 'ae'";
-	  //variant (resourceName)                              "name as 'rn'";
-	  variant (resourceType)                              "name as 'ty'";
-	  variant (resourceID)                                "name as 'ri'";
-	  variant (parentID)                                  "name as 'pi'";
-	  variant (creationTime)                              "name as 'ct'";
-	  variant (lastModifiedTime)                          "name as 'lt'";
-	  variant (labels)                                    "name as 'lbl'";
-	  variant (accessControlPolicyIDs)                    "name as 'acpi'";
-	  variant (expirationTime)                            "name as 'et'";
-	  variant (dynamicAuthorizationConsultationIDs)       "name as 'daci'";
-	  variant (announceTo)                                "name as 'at'";
-	  variant (announcedAttribute)                        "name as 'aa'";
-	  variant (appName)                                   "name as 'apn'";
-	  variant (app_ID)                                    "name as 'api'";
-	  variant (aE_ID)                                     "name as 'aei'";
-	  variant (pointOfAccess)                             "name as 'poa'";
-	  variant (ontologyRef)                               "name as 'or'";
-	  variant (nodeLink)                                  "name as 'nl'";
-	  variant (requestReachability)                       "name as 'rr'";
-	  variant (contentSerialization)                      "name as 'csz'";
-	  variant (e2eSecInfo)								  "name as 'esi'";
-	  variant (choice.childResource_list[-])              "name as 'cr'";
-	  variant (choice.choice_list[-].container)           "name as 'cnt'";
-	  variant (choice.choice_list[-].group_)              "name as 'grp'";
-	  variant (choice.choice_list[-].accessControlPolicy) "name as 'acp'";
-	  variant (choice.choice_list[-].subscription)        "name as 'sub'";
-	  variant (choice.choice_list[-].pollingChannel)      "name as 'pch'";
-	  variant (choice.choice_list[-].schedule)            "name as 'sch'";
-
-	  //  long->short conversion JSON
-	  //variant (resourceName)                              "JSON:name as rn";
-	  variant (resourceType)                              "JSON:name as ty";
-	  variant (resourceID)                                "JSON:name as ri";
-	  variant (parentID)                                  "JSON:name as pi";
-	  variant (creationTime)                              "JSON:name as ct";
-	  variant (lastModifiedTime)                          "JSON:name as lt";
-	  variant (labels)                                    "JSON:name as lbl";
-	  variant (accessControlPolicyIDs)                    "JSON:name as acpi";
-	  variant (expirationTime)                            "JSON:name as et";
-	  variant (dynamicAuthorizationConsultationIDs)       "JSON:name as daci";
-	  variant (announceTo)                                "JSON:name as at";
-	  variant (announcedAttribute)                        "JSON:name as aa";
-	  variant (appName)                                   "JSON:name as apn";
-	  variant (app_ID)                                    "JSON:name as api";
-	  variant (aE_ID)                                     "JSON:name as aei";
-	  variant (pointOfAccess)                             "JSON:name as poa";
-	  variant (ontologyRef)                               "JSON:name as or";
-	  variant (nodeLink)                                  "JSON:name as nl";
-	  variant (requestReachability)                       "JSON:name as rr";
-	  variant (contentSerialization)                      "JSON:name as csz";
-	  variant (e2eSecInfo)								  "JSON:name as esi";
-	  variant (choice.childResource_list)                 "JSON:name as cr";
-	  variant (choice.choice_list[-].container)           "JSON:name as cnt";
-	  variant (choice.choice_list[-].group_)              "JSON:name as grp";
-	  variant (choice.choice_list[-].accessControlPolicy) "JSON:name as acp";
-	  variant (choice.choice_list[-].subscription)        "JSON:name as sub";
-	  variant (choice.choice_list[-].pollingChannel)      "JSON:name as pch";
-	  variant (choice.choice_list[-].schedule)            "JSON:name as sch";
-	};
-
-	type record AccessControlPolicy_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		SetOfAcrs privileges optional,
-		SetOfAcrs selfPrivileges optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of Subscription subscription_list
-		} choice optional
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		//variant (latestNotify) "text 'true' as '1'";
+		//variant (latestNotify) "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 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,
+		AttributeList_1 attribute optional,
+		record length(0 .. 5) of NotificationEventType notificationEventType_list,
+		MissingData missingData 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'";
+		variant "name as uncapitalized";
+		variant (operationMonitor_list) "untagged";
+		variant (operationMonitor_list[-]) "name as 'operationMonitor'";
+		variant (notificationEventType_list) "untagged";
+		variant (notificationEventType_list[-]) "name as 'notificationEventType'";
 	};
 
-	type record ContentInstance_optional
+
+	type record BatchNotify
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
+		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 SvcFwWrapper
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
 		Timestamp creationTime optional,
 		Timestamp lastModifiedTime optional,
 		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
 		XSD.ID creator optional,
-		ContentInfo contentInfo optional,
-		XSD.NonNegativeInteger contentSize optional,
-		ContentRef contentRef optional,
+		XSD.AnyURI containerDefinition,
 		XSD.AnyURI ontologyRef optional,
-		XSD.AnyType content optional, 
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_list
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				Subscription subscription
+			} choice_list
 		} choice optional
 	}
 	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
+		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 Container_optional
+
+	type record SvcFwWrapperAnnc
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
 		Timestamp creationTime optional,
 		Timestamp lastModifiedTime optional,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
+		AcpType accessControlPolicyIDs,
 		Timestamp expirationTime optional,
+		XSD.AnyURI link,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		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 containerDefinition,
 		XSD.AnyURI ontologyRef optional,
-		XSD.Boolean disableRetrieval optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ContentInstance contentInstance,
-				Container container,
-				Subscription subscription,
+			record of union {
 				SemanticDescriptor semanticDescriptor,
-				Sg_flexContainerResource_group sg_flexContainerResource
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
+				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";
+		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 FlexContainer_optional
-    {
-    	ResourceName resourceName optional,
-    	ResourceType resourceType optional,
-    	XSD.ID resourceID optional,
-    	NhURI parentID optional,
-    	Timestamp creationTime optional,
-    	Timestamp lastModifiedTime optional,
-    	Labels labels optional,
-    	AcpType accessControlPolicyIDs optional,
-    	Timestamp expirationTime optional,
-    	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-    	ListOfURIs announceTo optional,
-    	ListOfNCNames announcedAttribute optional,
-    	XSD.NonNegativeInteger stateTag optional,
-    	XSD.ID creator optional,
-    	XSD.AnyURI containerDefinition optional,
-    	XSD.AnyURI ontologyRef optional
-    }
-    with {
-      variant "name as uncapitalized";
-      variant (resourceName) "attribute";
-    };    	
-	
-	//added by @Naum
-	type record CSEBase_optional
+
+
+	type record SvcObjWrapper
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
 		Timestamp creationTime optional,
 		Timestamp lastModifiedTime optional,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		CseTypeID cseType optional,
-		XSD.ID cSE_ID optional,
-		record of ResourceType supportedResourceType optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI nodeLink optional,
-		E2eSecInfo e2eSecInfo optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		ListOfNCNames announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag,
+		XSD.ID creator optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				RemoteCSE remoteCSE,
-				RemoteCSEAnnc remoteCSEAnnc,
-				Node node,
-				AE aE,
-				Container container,
-				Group group_,
-				AccessControlPolicy accessControlPolicy,
+			record of union {
+				SemanticDescriptor semanticDescriptor,
 				Subscription subscription,
-				MgmtCmd mgmtCmd,
-				LocationPolicy locationPolicy,
-				StatsConfig statsConfig,
-				StatsCollect statsCollect,
-				Request request,
-				Delivery delivery,
-				Schedule schedule,
-				M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
-				ServiceSubscribedAppRule serviceSubscribedAppRule,
-				Role role,
-				XSD.Token token,
-				Sg_flexContainerResource_group sg_flexContainerResource
+				AllJoynApp allJoynApp
 			} 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'";
+		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 Group_optional
+
+
+	type record SvcObjWrapperAnnc
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
 		Timestamp creationTime optional,
 		Timestamp lastModifiedTime optional,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
+		AcpType accessControlPolicyIDs,
 		Timestamp expirationTime optional,
+		XSD.AnyURI link,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		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,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition,
+		XSD.AnyURI ontologyRef optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
+			record of union {
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc,
 				Subscription subscription,
-				SemanticDescriptor semanticDescriptor
+				AllJoynAppAnnc allJoynAppAnnc
 			} choice_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.choice_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list[-]) "name as 'choice'";
-	  variant (choice.choice_list[-].subscription) "name as 'subscription'";
-	  variant (choice.choice_list[-].semanticDescriptor) "name as 'semanticDescriptor'";
+		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 PollingChannel_optional
+
+
+	type record TimeSeriesInstance
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		Timestamp expirationTime optional
+		Timestamp expirationTime,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		AbsRelTimestamp dataGenerationTime,
+		XSD.AnySimpleType content,
+		XSD.NonNegativeInteger sequenceNr optional
 	}
 	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (announcedAttribute) "list";
 	};
-	
-	type record Schedule_optional
+
+
+	type record TimeSeriesInstanceAnnc
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		ScheduleEntries scheduleElement optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription
-			} choice_list
-		} choice optional
+		Timestamp expirationTime,
+		XSD.AnyURI link,
+		AbsRelTimestamp dataGenerationTime optional,
+		XSD.AnySimpleType content optional,
+		XSD.NonNegativeInteger sequenceNr 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";
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
 	};
-	
-	//Added by @Naum
-	type record ServiceSubscribedAppRule_optional
+
+
+	type record TimeSeries
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
+		Timestamp expirationTime,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfM2MID applicableCredIDs optional,
-		ListOfM2MID allowedApp_IDs optional,
-		ListOfM2MID allowedAEs optional,
+		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.NonNegativeInteger periodicInterval optional,
+		XSD.Boolean missingDataDetect optional,
+		XSD.NonNegativeInteger missingDataMaxNr optional,
+		MissingDataList missingDataList optional,
+		XSD.NonNegativeInteger missingDataCurrentNr optional,
+		XSD.NonNegativeInteger missingDataDetectTimer 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 Subscription subscription_list
+			record length(1 .. infinity) of union {
+				TimeSeriesInstance timeSeriesInstance,
+				Subscription subscription,
+				SemanticDescriptor semanticDescriptor
+			} choice_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'";
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (announcedAttribute) "list";
+		//variant (missingDataDetect) "text 'true' as '1'";
+		//variant (missingDataDetect) "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 Subscription_optional
+
+
+	type record TimeSeriesAnnc
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
-		EventNotificationCriteria eventNotificationCriteria optional,
-		XSD.PositiveInteger expirationCounter optional,
-		ListOfURIs notificationURI optional,
-		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 optional,
-		EventCat notificationEventCat optional,
-		XSD.AnyURI subscriberURI optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.NonNegativeInteger maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances,
+		XSD.NonNegativeInteger currentByteSize,
+		XSD.NonNegativeInteger periodicInterval optional,
+		XSD.Boolean missingDataDetect optional,
+		MissingDataList missingDataList optional,
+		XSD.NonNegativeInteger missingDataCurrentNr optional,
+		XSD.NonNegativeInteger missingDataDetectTimer optional,
+		XSD.AnyURI ontologyRef optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
-				Schedule schedule,
-				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
+				TimeSeriesInstance timeSeriesInstance,
+				TimeSeriesInstanceAnnc timeSeriesInstanceAnnc,
+				Subscription subscription,
+				SemanticDescriptor semanticDescriptor,
+				SemanticDescriptorAnnc semanticDescriptorAnnc
 			} choice_list
 		} 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";
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		//variant (missingDataDetect) "text 'true' as '1'";
+		//variant (missingDataDetect) "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";
 	};
-	
-	//@Martin
-	type record LocationPolicy_optional 
+
+
+	type record Token
 	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
+		Timestamp expirationTime,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		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,
+		TokenID tokenID,
+		DynAuthJWT tokenObject,
+		XSD.String version optional,
+		XSD.ID issuer optional,
+		XSD.ID holder optional,
+		Timestamp notBefore,
+		Timestamp notAfter optional,
+		XSD.String tokenName optional,
+		ListOfM2MID audience optional,
+		record {
+			TokenPermission permission
+		} permissions optional,
+		XSD.String extension_ optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -6971,220 +6292,899 @@ group OptionalResourceTypes {
 		} 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";
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (extension_) "name as 'extension'";
+		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 SemanticDescriptor_optional	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+
+
+	type record TrafficPattern
+	{
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
 		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
+		Timestamp expirationTime,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		DescriptorRepresentation descriptorRepresentation optional,
-		Sparql semanticOpExec optional,
-		XSD.Base64Binary descriptor optional,
-		XSD.AnyURI ontologyRef optional,
-		ListOfURIs relatedSemantics optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute,
+		XSD.Boolean provideToNSE optional,
+		PeriodicIndicator periodicIndicator optional,
+		XSD.UnsignedInt periodicDurationTime optional,
+		XSD.UnsignedInt periodicIntervalTime optional,
+		StationaryIndication stationaryIndication optional,
+		XSD.PositiveInteger dataSizeIndicator optional,
+		Timestamp validityTime optional,
+		ListOfM2MID targetNetwork,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of Subscription subscription_list
+			record length(1 .. infinity) of union {
+				record of Subscription subscription_list,
+				record length(1) of Schedule schedule_list
+			} 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.subscription_list) "untagged";
-	  variant (choice.subscription_list[-]) "name as 'subscription'";
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (announcedAttribute) "list";
+		//variant (provideToNSE) "text 'true' as '1'";
+		//variant (provideToNSE) "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[-].subscription_list) "untagged";
+		variant (choice.choice_list[-].subscription_list[-]) "name as 'subscription'";
+		variant (choice.choice_list[-].schedule_list) "untagged";
+		variant (choice.choice_list[-].schedule_list[-]) "name as 'schedule'";
 	};
-	
-	type record GenericInterworkingOperationInstance_optional
+
+
+	type record TrafficPatternAnnc
 	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
+		ResourceName resourceName,
+		ResourceType resourceType,
+		XSD.ID resourceID,
+		NhURI parentID,
+		Timestamp creationTime,
+		Timestamp lastModifiedTime,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
+		AcpType accessControlPolicyIDs,
+		Timestamp expirationTime,
+		XSD.AnyURI link,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.String operationName optional,
-		XSD.String operationState optional,
-		ListOfDataLinks inputDataPointLinks optional,
-		ListOfDataLinks outputDataPointLinks optional,
-		ListOfDataLinks inputLinks optional,
-		ListOfDataLinks outputLinks optional,
+		XSD.Boolean provideToNSE optional,
+		PeriodicIndicator periodicIndicator optional,
+		XSD.UnsignedInt periodicDurationTime optional,
+		XSD.UnsignedInt periodicIntervalTime optional,
+		StationaryIndication stationaryIndication optional,
+		XSD.PositiveInteger dataSizeIndicator optional,
+		Timestamp validityTime optional,
+		ListOfM2MID targetNetwork optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
-				SemanticDescriptor semanticDescriptor,
-				Subscription subscription
+				record of Subscription subscription_list,
+				record length(1) of ScheduleAnnc scheduleAnnc_list
 			} 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";
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		//variant (provideToNSE) "text 'true' as '1'";
+		//variant (provideToNSE) "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[-].subscription_list) "untagged";
+		variant (choice.choice_list[-].subscription_list[-]) "name as 'subscription'";
+		variant (choice.choice_list[-].scheduleAnnc_list) "untagged";
+		variant (choice.choice_list[-].scheduleAnnc_list[-]) "name as 'scheduleAnnc'";
 	};
+
+/* Additional types */
+
+	group OptionalResourceTypes {
+  
+		//Added by @Naum
+		type record AEAnnc_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.AnyURI link optional,
+			XSD.String appName optional,
+			XSD.String app_ID optional,
+			XSD.ID aE_ID optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean requestReachability optional,
+			Serializations contentSerialization optional,
+			E2eSecInfo e2eSecInfo 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,
+					SemanticDescriptor semanticDescriptor,
+					TimeSeries timeSeries,
+					TimeSeriesAnnc timeSeriesAnnc,
+					TrafficPatternAnnc trafficPatternAnnc,
+					Sg_flexContainerResource_group sg_flexContainerResource,
+					Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
+				} 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 AE_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.String appName optional,
+			XSD.String app_ID optional,
+			XSD.ID aE_ID optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean requestReachability optional,
+			Serializations contentSerialization optional,
+			E2eSecInfo e2eSecInfo 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,
+					SemanticDescriptor semanticDescriptor,
+					TimeSeries timeSeries,
+					TrafficPattern trafficPattern,
+					Sg_flexContainerResource_group sg_flexContainerResource
+				} 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'";
+	  
+			//  long->short conversion XML
+			variant                                             "name as 'ae'";
+			//variant (resourceName)                              "name as 'rn'";
+			variant (resourceType)                              "name as 'ty'";
+			variant (resourceID)                                "name as 'ri'";
+			variant (parentID)                                  "name as 'pi'";
+			variant (creationTime)                              "name as 'ct'";
+			variant (lastModifiedTime)                          "name as 'lt'";
+			variant (labels)                                    "name as 'lbl'";
+			variant (accessControlPolicyIDs)                    "name as 'acpi'";
+			variant (expirationTime)                            "name as 'et'";
+			variant (dynamicAuthorizationConsultationIDs)       "name as 'daci'";
+			variant (announceTo)                                "name as 'at'";
+			variant (announcedAttribute)                        "name as 'aa'";
+			variant (appName)                                   "name as 'apn'";
+			variant (app_ID)                                    "name as 'api'";
+			variant (aE_ID)                                     "name as 'aei'";
+			variant (pointOfAccess)                             "name as 'poa'";
+			variant (ontologyRef)                               "name as 'or'";
+			variant (nodeLink)                                  "name as 'nl'";
+			variant (requestReachability)                       "name as 'rr'";
+			variant (contentSerialization)                      "name as 'csz'";
+			variant (e2eSecInfo)								  "name as 'esi'";
+			variant (choice.childResource_list[-])              "name as 'cr'";
+			variant (choice.choice_list[-].container)           "name as 'cnt'";
+			variant (choice.choice_list[-].group_)              "name as 'grp'";
+			variant (choice.choice_list[-].accessControlPolicy) "name as 'acp'";
+			variant (choice.choice_list[-].subscription)        "name as 'sub'";
+			variant (choice.choice_list[-].pollingChannel)      "name as 'pch'";
+			variant (choice.choice_list[-].schedule)            "name as 'sch'";
+
+			//  long->short conversion JSON
+			//variant (resourceName)                              "JSON:name as rn";
+			variant (resourceType)                              "JSON:name as ty";
+			variant (resourceID)                                "JSON:name as ri";
+			variant (parentID)                                  "JSON:name as pi";
+			variant (creationTime)                              "JSON:name as ct";
+			variant (lastModifiedTime)                          "JSON:name as lt";
+			variant (labels)                                    "JSON:name as lbl";
+			variant (accessControlPolicyIDs)                    "JSON:name as acpi";
+			variant (expirationTime)                            "JSON:name as et";
+			variant (dynamicAuthorizationConsultationIDs)       "JSON:name as daci";
+			variant (announceTo)                                "JSON:name as at";
+			variant (announcedAttribute)                        "JSON:name as aa";
+			variant (appName)                                   "JSON:name as apn";
+			variant (app_ID)                                    "JSON:name as api";
+			variant (aE_ID)                                     "JSON:name as aei";
+			variant (pointOfAccess)                             "JSON:name as poa";
+			variant (ontologyRef)                               "JSON:name as or";
+			variant (nodeLink)                                  "JSON:name as nl";
+			variant (requestReachability)                       "JSON:name as rr";
+			variant (contentSerialization)                      "JSON:name as csz";
+			variant (e2eSecInfo)								  "JSON:name as esi";
+			variant (choice.childResource_list)                 "JSON:name as cr";
+			variant (choice.choice_list[-].container)           "JSON:name as cnt";
+			variant (choice.choice_list[-].group_)              "JSON:name as grp";
+			variant (choice.choice_list[-].accessControlPolicy) "JSON:name as acp";
+			variant (choice.choice_list[-].subscription)        "JSON:name as sub";
+			variant (choice.choice_list[-].pollingChannel)      "JSON:name as pch";
+			variant (choice.choice_list[-].schedule)            "JSON:name as sch";
+		};
+
+		type record AccessControlPolicy_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			SetOfAcrs privileges optional,
+			SetOfAcrs selfPrivileges 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 (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 ContentInstance_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			ContentInfo contentInfo optional,
+			XSD.NonNegativeInteger contentSize optional,
+			ContentRef contentRef optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnyType content optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of SemanticDescriptor semanticDescriptor_list
+			} choice optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+			variant (announcedAttribute) "list";
+		};
+
+		type record Container_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			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,
+			XSD.Boolean disableRetrieval optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					ContentInstance contentInstance,
+					Container container,
+					Subscription subscription,
+					SemanticDescriptor semanticDescriptor,
+					Sg_flexContainerResource_group sg_flexContainerResource
+				} 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 FlexContainer_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant (resourceName) "attribute";
+		};
+	
+		//added by @Naum
+		type record CSEBase_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			CseTypeID cseType optional,
+			XSD.ID cSE_ID optional,
+			record of ResourceType supportedResourceType optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI nodeLink optional,
+			E2eSecInfo e2eSecInfo optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					RemoteCSE remoteCSE,
+					RemoteCSEAnnc remoteCSEAnnc,
+					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,
+					Role role,
+					XSD.Token token,
+					Sg_flexContainerResource_group sg_flexContainerResource
+				} 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 Group_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			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 union {
+					Subscription subscription,
+					SemanticDescriptor semanticDescriptor
+				} choice_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.choice_list) "untagged";
+			variant (choice.childResource_list[-]) "name as 'childResource'";
+			variant (choice.choice_list[-]) "name as 'choice'";
+			variant (choice.choice_list[-].subscription) "name as 'subscription'";
+			variant (choice.choice_list[-].semanticDescriptor) "name as 'semanticDescriptor'";
+		};
+	
+		type record PollingChannel_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional
+		}
+		with {
+			variant "name as uncapitalized";
+			variant "element";
+			variant (resourceName) "attribute";
+		};
+	
+		type record Schedule_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			ScheduleEntries scheduleElement optional,
+			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";
+		};
+	
+		//Added by @Naum
+		type record ServiceSubscribedAppRule_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			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 Subscription_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			XSD.ID creator optional,
+			EventNotificationCriteria eventNotificationCriteria optional,
+			XSD.PositiveInteger expirationCounter optional,
+			ListOfURIs notificationURI optional,
+			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 optional,
+			EventCat notificationEventCat optional,
+			XSD.AnyURI subscriberURI optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Schedule schedule,
+					NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
+				} choice_list
+			} 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";
+		};
+	
+		//@Martin
+		type record LocationPolicy_optional
+		{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			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,
+			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 SemanticDescriptor_optional	{
+			XSD.NCName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+			XSD.ID creator optional,
+			DescriptorRepresentation descriptorRepresentation optional,
+			Sparql semanticOpExec optional,
+			XSD.Base64Binary descriptor optional,
+			XSD.AnyURI ontologyRef optional,
+			ListOfURIs relatedSemantics 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 (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'";
+		};
 	
-}//end group
+		type record GenericInterworkingOperationInstance_optional
+		{
+			ResourceName resourceName optional,
+			ResourceType resourceType optional,
+			XSD.ID resourceID optional,
+			NhURI parentID optional,
+			Timestamp creationTime optional,
+			Timestamp lastModifiedTime optional,
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			ListOfNCNames announcedAttribute optional,
+			XSD.NonNegativeInteger stateTag optional,
+			XSD.ID creator optional,
+			XSD.AnyURI containerDefinition optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.String operationName optional,
+			XSD.String operationState optional,
+			ListOfDataLinks inputDataPointLinks optional,
+			ListOfDataLinks outputDataPointLinks optional,
+			ListOfDataLinks inputLinks optional,
+			ListOfDataLinks outputLinks optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					SemanticDescriptor semanticDescriptor,
+					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";
+		};
 	
+	}//end group
 	
-group InvalidTypes {
+	
+	group InvalidTypes {
 		
-	type record AE_update_invalid {
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp creationTime optional,//Invalid field to be used for BI tests
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record of XSD.Token announcedAttribute optional,
-		XSD.String appName optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean requestReachability optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional
-	};
+		type record AE_update_invalid {
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp creationTime optional,//Invalid field to be used for BI tests
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record of XSD.Token announcedAttribute optional,
+			XSD.String appName optional,
+			PoaList pointOfAccess optional,
+			XSD.AnyURI ontologyRef optional,
+			XSD.AnyURI nodeLink optional,
+			XSD.Boolean requestReachability optional,
+			Serializations contentSerialization optional,
+			E2eSecInfo e2eSecInfo optional
+		};
        
-	type record ACP_update_invalid {
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		Timestamp creationTime optional,//Invalid field to be used for BI tests
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for ACP
-		ListOfURIs announceTo optional,
-		record of XSD.Token announcedAttribute optional,
-		SetOfAcrs privileges optional,
-		SetOfAcrs selfPrivileges optional 
-	}
+		type record ACP_update_invalid {
+			Labels labels optional,
+			Timestamp expirationTime optional,
+			Timestamp creationTime optional,//Invalid field to be used for BI tests
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for ACP
+			ListOfURIs announceTo optional,
+			record of XSD.Token announcedAttribute optional,
+			SetOfAcrs privileges optional,
+			SetOfAcrs selfPrivileges optional
+		}
     
     	
-	type record Container_update_invalid {
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp creationTime optional,//Invalid field to be used for BI tests (RO attributes)
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record of XSD.Token announcedAttribute optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.AnyURI locationID optional,
-		XSD.AnyURI ontologyRef optional
-	}
+		type record Container_update_invalid {
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp creationTime optional,//Invalid field to be used for BI tests (RO attributes)
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record of XSD.Token announcedAttribute optional,
+			XSD.NonNegativeInteger maxNrOfInstances optional,
+			XSD.NonNegativeInteger maxByteSize optional,
+			XSD.NonNegativeInteger maxInstanceAge optional,
+			XSD.AnyURI locationID optional,
+			XSD.AnyURI ontologyRef optional
+		}
 	          
-	type record Group_update_invalid {
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp creationTime optional,//Invalid field to be used for BI tests
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Group
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record of XSD.Token announcedAttribute optional,
-		XSD.NonNegativeInteger maxNrOfMembers optional,
-		ListOfURIs memberIDs optional,
-		ListOfURIs membersAccessControlPolicyIDs optional,
-		XSD.String groupName optional
-	}
+		type record Group_update_invalid {
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp creationTime optional,//Invalid field to be used for BI tests
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Group
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record of XSD.Token announcedAttribute optional,
+			XSD.NonNegativeInteger maxNrOfMembers optional,
+			ListOfURIs memberIDs optional,
+			ListOfURIs membersAccessControlPolicyIDs optional,
+			XSD.String groupName optional
+		}
        
-	type record PollingChannel_update_invalid {
-		Labels labels optional,
-		Timestamp creationTime optional,//Invalid field to be used for BI tests
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for PollingChannel
-		Timestamp expirationTime optional
-	}
+		type record PollingChannel_update_invalid {
+			Labels labels optional,
+			Timestamp creationTime optional,//Invalid field to be used for BI tests
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for PollingChannel
+			Timestamp expirationTime optional
+		}
        
-	type record Schedule_update_invalid {
-		Labels labels optional,
-		Timestamp creationTime optional,//Invalid field to be used for BI tests
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Schedule
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record of XSD.Token announcedAttribute optional,
-		ScheduleEntries scheduleElement optional
-	}
+		type record Schedule_update_invalid {
+			Labels labels optional,
+			Timestamp creationTime optional,//Invalid field to be used for BI tests
+			XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Schedule
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record of XSD.Token announcedAttribute optional,
+			ScheduleEntries scheduleElement optional
+		}
        
-	type record Subscription_update_invalid {
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp creationTime optional,//Invalid field to be used for BI tests
-		XSD.NonNegativeInteger maxNrOfInstances optional,//Invalid field, non existing for Subscription
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		EventNotificationCriteria eventNotificationCriteria optional,
-		XSD.PositiveInteger expirationCounter optional,
-		ListOfURIs notificationURI optional,
-		XSD.AnyURI groupID optional,
-		XSD.AnyURI notificationForwardingURI optional,
-		BatchNotify batchNotify optional,
-		RateLimit rateLimit optional,
-		PendingNotification pendingNotification optional,
-		XSD.PositiveInteger notificationStoragePriority optional,
-		XSD.Boolean latestNotify optional,
-		NotificationContentType notificationContentType optional,
-		EventCat notificationEventCat optional
-	 }
+		type record Subscription_update_invalid {
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp creationTime optional,//Invalid field to be used for BI tests
+			XSD.NonNegativeInteger maxNrOfInstances optional,//Invalid field, non existing for Subscription
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			EventNotificationCriteria eventNotificationCriteria optional,
+			XSD.PositiveInteger expirationCounter optional,
+			ListOfURIs notificationURI optional,
+			XSD.AnyURI groupID optional,
+			XSD.AnyURI notificationForwardingURI optional,
+			BatchNotify batchNotify optional,
+			RateLimit rateLimit optional,
+			PendingNotification pendingNotification optional,
+			XSD.PositiveInteger notificationStoragePriority optional,
+			XSD.Boolean latestNotify optional,
+			NotificationContentType notificationContentType optional,
+			EventCat notificationEventCat optional
+		}
        
-	 //@Martin
-	 type record LocationPolicy_update_invalid {	
-		Timestamp creationTime optional,//invalid field to be used for BI tests
-		Timestamp lastModifiedTime optional,//invalid field to be used for BI tests		
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,		
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record of XSD.Token announcedAttribute optional,
-		LocationSource locationSource optional,//invalid field to be used for BI tests
-		XSD.Duration locationUpdatePeriod optional,
-		NodeID locationTargetID optional,//invalid field to be used for BI tests
-		XSD.AnyURI locationServer optional,//invalid field to be used for BI tests
-		XSD.AnyURI locationContainerID optional,//invalid field to be used for BI tests
-		XSD.String locationContainerName optional,
-		XSD.String locationStatus optional//invalid field to be used for BI tests
-	 }
+		//@Martin
+		type record LocationPolicy_update_invalid {
+			Timestamp creationTime optional,//invalid field to be used for BI tests
+			Timestamp lastModifiedTime optional,//invalid field to be used for BI tests
+			Labels labels optional,
+			AcpType accessControlPolicyIDs optional,
+			Timestamp expirationTime optional,
+			ListOfURIs dynamicAuthorizationConsultationIDs optional,
+			ListOfURIs announceTo optional,
+			record of XSD.Token announcedAttribute optional,
+			LocationSource locationSource optional,//invalid field to be used for BI tests
+			XSD.Duration locationUpdatePeriod optional,
+			NodeID locationTargetID optional,//invalid field to be used for BI tests
+			XSD.AnyURI locationServer optional,//invalid field to be used for BI tests
+			XSD.AnyURI locationContainerID optional,//invalid field to be used for BI tests
+			XSD.String locationContainerName optional,
+			XSD.String locationStatus optional//invalid field to be used for BI tests
+		}
        
-}//end group invalidTypes
+	}//end group invalidTypes
 
 	group OtherTypes {
 		
@@ -7201,15 +7201,15 @@ group InvalidTypes {
 		
 		type enumerated AddressingFormat {
 			e_cseRelative,
-			e_spRelative, 
+			e_spRelative,
 			e_absolute
 		}
 	}
 
 }
 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 Notification, AggregatedNotification, AggregatedResponse, ServiceSubscribedAppRule_optional, charstring, AnyURI, AttributeList, AE, AccessControlPolicy, AccessControlPolicy_optional, ACP_update_invalid, AE_optional, AE_update_invalid,AEAnnc_optional, Container_optional, CSEBase_optional, Container_update_invalid, ContentInstance_optional, Group_optional, Group_update_invalid, Schedule_optional, Schedule_update_invalid, Subscription_optional, Subscription_update_invalid, PollingChannel_optional, PollingChannel_update_invalid, LocationPolicy_optional, LocationPolicy_update_invalid, SemanticDescriptor_optional, FlexContainer_optional, GenericInterworkingOperationInstance_optional"
+	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 Resource, URI, Notification, AggregatedNotification, AggregatedResponse, ServiceSubscribedAppRule_optional, charstring, AnyURI, AttributeList, AE, AccessControlPolicy, AccessControlPolicy_optional, ACP_update_invalid, AE_optional, AE_update_invalid,AEAnnc_optional, Container_optional, CSEBase_optional, Container_update_invalid, ContentInstance_optional, Group_optional, Group_update_invalid, Schedule_optional, Schedule_update_invalid, Subscription_optional, Subscription_update_invalid, PollingChannel_optional, PollingChannel_update_invalid, LocationPolicy_optional, LocationPolicy_update_invalid, SemanticDescriptor_optional, FlexContainer_optional, GenericInterworkingOperationInstance_optional"
 }
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 97e6214942815d23978c3aedbc47a890debde667..b6b4c7bb8b74ca7406214481f9703f2ebd90349d 100644
--- 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 226 2017-03-09 08:58:45Z reinaortega $
+ *              $Id: OneM2M_Testcases.ttcn 229 2017-03-16 08:00:30Z reinaortega $
  *  @desc       Module containing test cases for oneM2M
  *
  */
@@ -1644,7 +1644,7 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.any_1[0].Container_optional.maxNrOfInstances := omit;
+						v_createRequest.primitiveContent.any_1[0].Container_optional.maxNrOfInstances := 0;
 						v_invalidAttribute := {name := "maxNrOfInstances", value_ := "-1"};
 						
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);			
@@ -1656,7 +1656,7 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.any_1[0].Container_optional.maxByteSize := omit;
+						v_createRequest.primitiveContent.any_1[0].Container_optional.maxByteSize := 0;
 						v_invalidAttribute := {name := "maxNrOfInstances", value_ := "-1"};
 						
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);
@@ -1669,14 +1669,14 @@ module OneM2M_Testcases {
 						var ResponsePrimitive v_responsePrimitive;
 						var AttributeAux v_invalidAttribute;
 						
-						v_createRequest.primitiveContent.any_1[0].Container_optional.maxInstanceAge := omit;
+						v_createRequest.primitiveContent.any_1[0].Container_optional.maxInstanceAge := 0;
 						v_invalidAttribute := {name := "maxNrOfInstances", value_ := "-1"};
 						
 						v_responsePrimitive := f_CSE_DMR_CRE_BV_005(int3, v_createRequest, v_invalidAttribute);
 						
 					}
 				
-					function f_CSE_DMR_CRE_BV_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in template AttributeAux p_invalidAttribute) runs on CseTester return ResponsePrimitive {
+					function f_CSE_DMR_CRE_BV_005(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_invalidAttribute) runs on CseTester return ResponsePrimitive {
     				
 							// Local variables
 							var MsgIn v_response;
@@ -1725,7 +1725,827 @@ module OneM2M_Testcases {
 						
 				}// end group g_CSE_DMR_CRE_BV_005
 				
-			
+				group g_CSE_DMR_CRE_BV_006 {
+					
+					testcase TC_CSE_DMR_CRE_BV_006_01() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);		
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.any_1[0].Container_optional.maxNrOfInstances)){
+								setverdict(fail, testcasename(), ": Error, maxNrOfInstances attribute not provided");
+							} 
+						}	
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_006_02() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.any_1[0].Container_optional.maxByteSize)){
+								setverdict(fail, testcasename(), ": Error, maxByteSize attribute not provided");
+							} 
+						}	
+						  
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_006_03() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_006(int3, v_createRequest);
+						
+						if(getverdict == pass){
+							if(not ispresent(v_responsePrimitive.primitiveContent.any_1[0].Container_optional.maxInstanceAge)){
+								setverdict(fail, testcasename(), ": Error, maxInstanceAge attribute not provided");
+							} 
+						}	
+					}
+				
+					function f_CSE_DMR_CRE_BV_006(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester return ResponsePrimitive {
+    				
+							// Local variables
+							var MsgIn v_response;
+							var RequestPrimitive v_request;
+							var integer v_aeIndex := -1;
+											   
+							// Test control
+    				
+							// Test component configuration
+							f_cf01Up();
+    				
+							// Test adapter configuration
+    				
+							// Preamble
+							v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+						
+							// Test Body
+							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+    					
+							mcaPort.send(m_request(v_request));
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+									tc_ac.stop;
+									setverdict(pass, testcasename() & ": Accepted creation rejected for resource type " & int2str(enum2int(p_resourceType)));
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Creation rejected of resource type " & int2str(enum2int(p_resourceType)));
+								}
+								[] tc_ac.timeout {
+									setverdict(inconc, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+								}
+							}	
+    								
+							// Postamble
+							f_cse_postamble_deleteResources();
+							
+							// Tear down
+							f_cf01Down();
+						
+							return v_response.primitive.responsePrimitive;
+    					    				
+						}//end f_CSE_DMR_CRE_BV_006
+						
+				}// end group g_CSE_DMR_CRE_BV_006
+				
+				group g_CSE_DMR_CRE_BV_007 {
+					
+					testcase TC_CSE_DMR_CRE_BV_007() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						const integer c_maxNumberOfInstances := 0;				   
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.maxNrOfInstances := c_maxNumberOfInstances;
+												
+						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstance(f_getResourceAddress(v_containerIndex), "MyValue"), v_aeIndex);
+					
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Maximun number of instances exceeded");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum number of instances");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_BV_007
+						
+				}// end group g_CSE_DMR_CRE_BV_007		
+				
+				group g_CSE_DMR_CRE_BV_008 {
+					
+					testcase TC_CSE_DMR_CRE_BV_008() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						const integer c_maxByteSize := 0;				   
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.maxByteSize := c_maxByteSize;
+												
+						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(int4, m_createContentInstance(f_getResourceAddress(v_containerIndex), "MyValue"), v_aeIndex);
+					
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int5207))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Maximun byte size exceeded");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum byte size");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_BV_008
+						
+				}// end group g_CSE_DMR_CRE_BV_008			
+
+				group g_CSE_DMR_CRE_BV_009 {
+					
+					testcase TC_CSE_DMR_CRE_BV_009() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						var integer v_contentInstanceIndex := -1;
+						var template PrimitiveContent v_contentResponse;
+					
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_containerIndex := f_cse_createResource(int3, v_createRequest, v_aeIndex);
+						
+						v_contentInstanceIndex := f_cse_createResource(int4, m_createContentInstance(f_getResourceAddress(v_containerIndex), "MyValue"), v_containerIndex);
+					
+						// Test Body
+						mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex))));
+						
+						v_contentResponse.any_1[0].Container_optional := mw_contentContainerBase;
+						
+                        tc_ac.start;
+                        alt {
+                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(v_contentResponse))) -> value v_response {
+                        		tc_ac.stop;
+                        		setverdict(pass, testcasename() & ": Response OK for retrieving");
+                        		if(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].Container_optional.stateTag == vc_resourcesList[v_containerIndex].resource.any_1[0].Container_optional.stateTag + 1) {
+									setverdict(pass, testcasename() & ": stateTag attribute increased after creation of contentInstance resource");
+                        		} else {
+									setverdict(fail, testcasename() & ": stateTag attribute not increased after creation of contentInstance resource");
+                        		}
+                        	}
+                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+                        		tc_ac.stop;
+                        		setverdict(fail, testcasename() & ": Error, resource elements provided not matching expected resource elements");
+                        	}
+                        	[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+                        		tc_ac.stop;
+                        		setverdict(fail, testcasename() & ": Error while retrieving resource");
+                        	}
+                        	[] tc_ac.timeout {
+                        		setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+                        	}
+                        }	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_BV_009
+						
+				}// end group g_CSE_DMR_CRE_BV_009		
+				
+				group g_CSE_DMR_CRE_BI_010 {
+					
+					testcase TC_CSE_DMR_CRE_BI_010() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						const XSD.NCName c_contentInstanceName := "la";
+						
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
+					
+						// Test Body
+						v_createRequest.primitiveContent.any_1[0].ContentInstance_optional.resourceName := c_contentInstanceName;
+						
+						v_request := f_getCreateRequestPrimitive(int4, v_createRequest, v_containerIndex);
+					
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Not allowed to create a contentInstance resource named 'la'");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Accepted creation of contentInstance named 'la'");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_BI_010
+						
+				}// end group g_CSE_DMR_CRE_BI_010	
+				
+				group g_CSE_DMR_CRE_BI_011 {
+					
+					testcase TC_CSE_DMR_CRE_BI_011() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContentInstanceBase;
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+						var integer v_containerIndex := -1;
+						const XSD.NCName c_contentInstanceName := "ol";
+						
+						// Test control
+				
+						// Test component configuration
+						f_cf01Up();
+				
+						// Test adapter configuration
+				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
+					
+						// Test Body
+						v_createRequest.primitiveContent.any_1[0].ContentInstance_optional.resourceName := c_contentInstanceName;
+						
+						v_request := f_getCreateRequestPrimitive(int4, v_createRequest, v_containerIndex);
+					
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitive(int4005))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": Not allowed to create a contentInstance resource named 'ol'");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Accepted creation of contentInstance named 'ol'");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource type 4");
+							}
+						}	
+								
+						// Postamble
+						f_cse_postamble_deleteResources();
+						
+						// Tear down
+						f_cf01Down();
+					    				
+					}//end TC_CSE_DMR_CRE_BI_011
+						
+				}// end group g_CSE_DMR_CRE_BI_011
+				
+				group g_CSE_DMR_CRE_BV_012 {
+					
+					testcase TC_CSE_DMR_CRE_BV_012_01() runs on CseTester system CseSystem {
+						// Local variables
+						                        
+						f_CSE_DMR_CRE_BV_012(int3, m_createContainerBase);//Container
+					}
+
+					testcase TC_CSE_DMR_CRE_BV_012_02() runs on CseTester system CseSystem {
+						// Local variables
+						
+						f_CSE_DMR_CRE_BV_012(int9, m_createGroupBase);//Group
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_012_03() runs on CseTester system CseSystem {
+						// Local variables
+							
+						f_CSE_DMR_CRE_BV_012(int1, m_createAcpBase);//AccessControlPolicy
+					}
+				
+					testcase TC_CSE_DMR_CRE_BV_012_04() runs on CseTester system CseSystem {
+						// Local variables
+							
+						f_CSE_DMR_CRE_BV_012(int18, m_createScheduleBase);//Schedule
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_012_05() runs on CseTester system CseSystem {
+						// Local variables
+							
+						f_CSE_DMR_CRE_BV_012(int15, m_createPollingChannelBase);//PollingChannel
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_012_06() runs on CseTester system CseSystem {
+						// Local variables
+						
+						f_CSE_DMR_CRE_BV_012(int23, m_createSubscriptionBase);//Subscription
+					}
+				
+					function f_CSE_DMR_CRE_BV_012(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive) runs on CseTester {
+    				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+											   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up();
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						v_request.resultContent := int0;//Attributes
+						
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while creating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource");
+							}
+						}	
+    								
+						// Postamble
+						f_cse_postamble_deleteResources();
+					
+						// Tear down
+						f_cf01Down();
+    				
+					}//end f_CSE_DMR_CRE_BV_012
+    				
+				} // end g_CSE_DMR_CRE_BV_012							
+
+				group g_CSE_DMR_CRE_BV_013 {
+					
+					testcase TC_CSE_DMR_CRE_BV_013_01() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].URI := mw_contentContainer_rc2;
+					                        
+						f_CSE_DMR_CRE_BV_013(int3, m_createContainerBase, v_contentResponse);//Container
+					}
+
+					testcase TC_CSE_DMR_CRE_BV_013_02() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].URI := mw_contentGroup_rc2;
+					
+						f_CSE_DMR_CRE_BV_013(int9, m_createGroupBase, v_contentResponse);//Group
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_013_03() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].URI := mw_contentAcp_rc2;
+						
+						f_CSE_DMR_CRE_BV_013(int1, m_createAcpBase,v_contentResponse);//AccessControlPolicy
+					}
+				
+					testcase TC_CSE_DMR_CRE_BV_013_04() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].URI := mw_contentSchedule_rc2;
+						
+						f_CSE_DMR_CRE_BV_013(int18, m_createScheduleBase, v_contentResponse);//Schedule
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_013_05() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].URI := mw_contentPollingChannel_rc2;
+						
+						f_CSE_DMR_CRE_BV_013(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_013_06() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].URI := mw_contentSubscription_rc2;
+
+						f_CSE_DMR_CRE_BV_013(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+					}
+				
+					function f_CSE_DMR_CRE_BV_013(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
+    				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+											   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up();
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						v_request.resultContent := int2;//Attributes
+						
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while creating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource");
+							}
+						}	
+    								
+						// Postamble
+						f_cse_postamble_deleteResources();
+					
+						// Tear down
+						f_cf01Down();
+    				
+					}//end f_CSE_DMR_CRE_BV_013
+    				
+				} // end g_CSE_DMR_CRE_BV_013	
+							
+				group g_CSE_DMR_CRE_BV_014 {
+					
+					testcase TC_CSE_DMR_CRE_BV_014_01() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].Resource := mw_contentContainer_rc3;
+					                        
+						f_CSE_DMR_CRE_BV_013(int3, m_createContainerBase, v_contentResponse);//Container
+					}
+
+					testcase TC_CSE_DMR_CRE_BV_014_02() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].Resource := mw_contentGroup_rc3;
+					
+						f_CSE_DMR_CRE_BV_014(int9, m_createGroupBase, v_contentResponse);//Group
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_014_03() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].Resource := mw_contentAcp_rc3;
+						
+						f_CSE_DMR_CRE_BV_014(int1, m_createAcpBase,v_contentResponse);//AccessControlPolicy
+					}
+				
+					testcase TC_CSE_DMR_CRE_BV_014_04() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].Resource := mw_contentSchedule_rc3;
+						
+						f_CSE_DMR_CRE_BV_014(int18, m_createScheduleBase, v_contentResponse);//Schedule
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_014_05() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].Resource := mw_contentPollingChannel_rc3;
+						
+						f_CSE_DMR_CRE_BV_014(int15, m_createPollingChannelBase, v_contentResponse);//PollingChannel
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_014_06() runs on CseTester system CseSystem {
+						// Local variables
+						var template PrimitiveContent v_contentResponse;
+					
+						v_contentResponse.any_1[0].Resource := mw_contentSubscription_rc3;
+
+						f_CSE_DMR_CRE_BV_014(int23, m_createSubscriptionBase, v_contentResponse);//Subscription
+					}
+				
+					function f_CSE_DMR_CRE_BV_014(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse) runs on CseTester {
+    				
+						// Local variables
+						var MsgIn v_response;
+						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
+											   
+						// Test control
+    				
+						// Test component configuration
+						f_cf01Up();
+    				
+						// Test adapter configuration
+    				
+						// Preamble
+						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+					
+						// Test Body
+						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+						v_request.resultContent := int3;//Attributes + Hierarchichal Address
+						
+						mcaPort.send(m_request(v_request));
+						tc_ac.start;
+						alt {
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
+								tc_ac.stop;
+								setverdict(pass, testcasename() & ": No content provided with RC set to 0");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Content provided with RC set to 0");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Error while creating resource");
+							}
+							[] tc_ac.timeout {
+								setverdict(inconc, testcasename() & ": No answer while creating resource");
+							}
+						}	
+    								
+						// Postamble
+						f_cse_postamble_deleteResources();
+					
+						// Tear down
+						f_cf01Down();
+    				
+					}//end f_CSE_DMR_CRE_BV_014
+    				
+				} // end g_CSE_DMR_CRE_BV_014
+				
+				group g_CSE_DMR_CRE_BV_015 {
+					
+					testcase TC_CSE_DMR_CRE_BV_015_01() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						const AttributeAux c_optionalAttribute := {"accessControlPolicyIDs", omit};
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.accessControlPolicyIDs := {"NotInitialized"};
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);			
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_015_02() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						const AttributeAux c_optionalAttribute := {"expirationTime", omit};
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.expirationTime := "20301231T012345";
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
+						  
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_015_03() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						const AttributeAux c_optionalAttribute := {"labels", omit};
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.labels := {"MyLabel"};
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_015_04() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						const AttributeAux c_optionalAttribute := {"maxNrOfInstances", omit};
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.maxNrOfInstances := 0;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_015_05() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						const AttributeAux c_optionalAttribute := {"maxByteSize", omit};
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.maxByteSize := 0;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_015_06() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						const AttributeAux c_optionalAttribute := {"maxInstanceAge", omit};
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.maxInstanceAge := 0;
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
+						
+					}
+					
+					testcase TC_CSE_DMR_CRE_BV_015_07() runs on CseTester system CseSystem {
+						// Local variables
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
+						var ResponsePrimitive v_responsePrimitive;
+						const AttributeAux c_optionalAttribute := {"ontologyRef", omit};
+						
+						v_createRequest.primitiveContent.any_1[0].Container_optional.ontologyRef := "MyOntologyRef";
+						
+						v_responsePrimitive := f_CSE_DMR_CRE_BV_015(int3, v_createRequest, c_optionalAttribute);
+						
+					}					
+				
+					function f_CSE_DMR_CRE_BV_015(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, in AttributeAux p_optionalAttribute) runs on CseTester return ResponsePrimitive {
+    				
+							// Local variables
+							var MsgIn v_response;
+							var RequestPrimitive v_request;
+							var integer v_aeIndex := -1;
+							var integer v_acpAuxIndex := -1;
+							const XSD.NCName c_accessControlPolicyIDs := "accessControlPolicyIDs";
+											   
+							// Test control
+							if(match(c_accessControlPolicyIDs,p_optionalAttribute.name)) {
+								if(not(PICS_ACP_SUPPORT)) {
+									setverdict(inconc, testcasename() & ": AccessControlPolicy support is required to run this test case");
+									stop;
+								}
+							}
+
+							// Test component configuration
+							f_cf01Up(); 
+
+							// Test adapter configuration
+
+							// Preamble
+							if (match(c_accessControlPolicyIDs, p_optionalAttribute.name)) {
+								v_acpAuxIndex := f_cse_preamble_createAcpAux();//c_CRUDNDi)
+							}     				
+							
+							v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); 
+						
+							// Test Body
+							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
+    					
+							mcaPort.send(m_request(v_request));
+							tc_ac.start;
+							alt {
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(f_getTemplateFromPrimitiveContent(v_request.primitiveContent)))) -> value v_response {
+									tc_ac.stop;
+									setverdict(pass, testcasename() & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " containing attribute " & p_optionalAttribute.name);
+								}
+								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+									tc_ac.stop;
+									setverdict(fail, testcasename() & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)) & " containing attribute" & p_optionalAttribute.name);
+								}
+								[] tc_ac.timeout {
+									setverdict(inconc, testcasename() & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
+								}
+							}	
+    								
+							// Postamble
+							f_cse_postamble_deleteResources();
+							
+							// Tear down
+							f_cf01Down();
+						
+    					
+							return v_response.primitive.responsePrimitive;
+    					    				
+						}//end f_CSE_DMR_CRE_BV_015
+						
+				}// end group g_CSE_DMR_CRE_BV_015					
+				
 			}//end group Create
 			
 			group Retrieve {
@@ -8727,7 +9547,7 @@ module OneM2M_Testcases {
 						v_createRequest.primitiveContent.any_1[0].AccessControlPolicy_optional.privileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
 
 						v_contentResponse.any_1[0].AccessControlPolicy_optional := mw_contentAcp_rc1;
-						v_contentResponse.any_1[0].AccessControlPolicy_optional.privileges.accessControlRule_list := superset(v_accessControlRule_1,v_accessControlRule_2);
+						v_contentResponse.any_1[0].AccessControlPolicy_optional.privileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};// TODO To handle reverse order of acrs
 						v_contentResponse.any_1[0].AccessControlPolicy_optional.privileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
 
 						// Test Body
@@ -8789,7 +9609,7 @@ module OneM2M_Testcases {
 						v_createRequest.primitiveContent.any_1[0].AccessControlPolicy_optional.selfPrivileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
 
 						v_contentResponse.any_1[0].AccessControlPolicy_optional := mw_contentAcp_rc1;
-						v_contentResponse.any_1[0].AccessControlPolicy_optional.selfPrivileges.accessControlRule_list := superset(v_accessControlRule_1,v_accessControlRule_2);
+						v_contentResponse.any_1[0].AccessControlPolicy_optional.selfPrivileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};//TODO To handle reverse order of acrs
 						v_contentResponse.any_1[0].AccessControlPolicy_optional.selfPrivileges.accessControlRule_list[1].accessControlOriginators := {f_getOriginator(v_aeIndex)};
 
 						// Test Body