diff --git a/LibCommon/LibCommon_Sync.ttcn b/LibCommon/LibCommon_Sync.ttcn
index 6ed09dd2ce998b2b6e5e64bd261309220b9b571a..cdd786d20c41d13bca7d456ceed795ad1a613706 100644
--- a/LibCommon/LibCommon_Sync.ttcn
+++ b/LibCommon/LibCommon_Sync.ttcn
@@ -1,7 +1,7 @@
 /**
  *  @author   ETSI
  *  @version  $URL: https://forge.etsi.org/svn/LibCommon/tags/v1.4.0/ttcn/LibCommon_Sync.ttcn $
- *            $Id: LibCommon_Sync.ttcn 64 2016-12-14 15:09:43Z berge $
+ *            $Id: LibCommon_Sync.ttcn 66 2017-03-06 09:59:41Z filatov $
  *  @desc     This module implements _one_ generic synchronization mechanism
  *            for TTCN-3 test cases with one or more test components.
  *            Key concept is here that one test component acts as a
@@ -148,7 +148,11 @@ module LibCommon_Sync {
          * @see   LibCommon_Sync.ServerSyncComp
          * @see   LibCommon_Sync.ClientSyncComp
          */
-        type port SyncPort message { inout SyncCmd }
+        type port SyncPort message { 
+          inout SyncCmd 
+        } with {
+          extension "internal"
+        }
 
 
         /**
diff --git a/LibOneM2M/OneM2M_Ports.ttcn b/LibOneM2M/OneM2M_Ports.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..9eb619a21d132d98a6da154fe53ba424c64a3639
--- /dev/null
+++ b/LibOneM2M/OneM2M_Ports.ttcn
@@ -0,0 +1,45 @@
+/**
+ *  Copyright Notification
+ *  No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
+ *  The copyright and the foregoing restriction extend to reproduction in all media.
+ *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
+ *  All rights reserved.
+ *  
+ *  @author     KETI & EGM
+ *  @version    
+ *  @desc       Port modules for oneM2M Test System       
+ *
+ */
+
+module OneM2M_Ports {
+	
+	import from OneM2M_Types all;
+	/* ***************************************
+ 	 * 		oneM2M Ports 
+  	 * ***************************************
+	 */
+	/**
+	 * @desc Port to transport oneM2M primitives
+	 * @desc Output MsgOut   
+	 * @desc Input MsgIn 
+	 * @desc this port is allowed to extend for futher usage  
+     * @desc e.g. extend OneM2MPort to dual-faced port
+	 */
+	type port OneM2MPort message {
+		in 
+			MsgIn;
+		out 
+			MsgOut;
+	};
+	
+	/**
+	 * @desc Port to transport Adaptor Control primitives
+	 */
+	type port AdapterControlPort message {
+		in
+			AcResponsePrimitive;
+		out
+			AcRequestPrimitive;
+	}
+
+}//end module
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index ccb873806ad1b5e8a2777cca245001196fabc777..b2419b63bf7e903dbe7b946ad7756ef38e0bf20e 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -16,29 +16,12 @@ module OneM2M_TestSystem {
 	import from OneM2M_Types all;
 	import from OneM2M_TypesAndValues all;
 	import from LibCommon_Time {modulepar all};
-	
-	/* Ports */
-	/**
-	 * @desc Port to transport oneM2M primitives
-	 */
-	type port OneM2MPort message {
-		in
-			MsgIn;
-		out
-			MsgOut;
-	}
-	
-	/**
-	 * @desc Port to transport Adaptor Control primitives
-	 */
-	type port AdapterControlPort message {
-		in
-			AcResponsePrimitive;
-		out
-			AcRequestPrimitive;
-	}
+	import from OneM2M_Ports all;
 
-	/* Components */	
+/* ***************************************
+ * 		Test System Components 
+ * ***************************************
+ */	
 	type component Tester {
 		port AdapterControlPort acPort;
 		//timers
@@ -80,56 +63,7 @@ module OneM2M_TestSystem {
 	
 			
 	
-	/* Primitives */
-	/**
-	 * @desc Type for the oneM2M primitives exchange
-	 * @member primitive oneM2M primitive
-	 * @member host IP Address of the destination
-	 * @member xmlNamespace XML Namespace to be used
-	 * @member protocolBinding Protocol binding to be used
-	 * @member serialization Serialization to be used
-	 * @member forcedFields Attributes that need to be processed differently by the test adapter:
-	 * 			- empty fields (for instance, for attribute deletion), i.e. <labels></labels> -> value_ to be omitted
-	 * 			- invalid values, i.e. <maxNrOfInstances>-1</maxNrOfInstances>
-	 */
-	type record MsgOut {
-		union {
-			RequestPrimitive requestPrimitive,
-			ResponsePrimitive responsePrimitive
-		} primitive, 
-		charstring host optional,
-		charstring xmlNamespace optional, 
-		charstring protocolBinding optional,
-		charstring serialization optional,
-		AttributeAux_list forcedFields optional
-	}
-	
-	/**
-	 * @desc Type for the oneM2M primitives exchange
-	 * @member primitive oneM2M primitive
-	 */
-	type record MsgIn {
-		union {
-			RequestPrimitive requestPrimitive,
-			ResponsePrimitive responsePrimitive
-		} primitive
-	}
-	
-	type record AcRequestPrimitive {
-		charstring event,
-		anytype data
-	}
-	with {
-		encode "adapter";
-	}
 	
-	type record AcResponsePrimitive {
-		charstring event,
-		anytype data
-	}
-	with {
-		encode "adapter";
-	}
 
 }// end of module
 with {
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index e14232a069b874656bc3b7f2b80295df4c1a89d6..0e95e27abcd7743b9ee59c8afc4e4dce535a5431 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -5,6285 +5,7028 @@
  *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
  *  All rights reserved.
  *  
- *  @author     ETSI
+ *  @author     ETSI, KETI, EGM
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
  *              $Id: OneM2M_Types.ttcn 229 2017-03-16 08:00:30Z reinaortega $
- *  @desc       Test System module for oneM2M
+ *  @desc       OneM2M data types module 
  *
  */
 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'";
-	};
-
-
-
-
-
-
-
-
-	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 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 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 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 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 DataLink
-	{
-		XSD.AnyURI name,
-		XSD.ID dataContainerID,
-		XSD.NCName attributeName optional
-	}
-	with {
-		variant "name as uncapitalized";
-	};
-
-
-
-
-	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
+import from XSD all;
+/* ******************************************
+ * 		oneM2M Abstract Service Primitives 
+ * ******************************************
+*/
+	/**
+	 * @desc Type for the oneM2M primitives exchange
+	 * @member primitive oneM2M primitive
+	 * @member host IP Address of the destination
+	 * @member xmlNamespace XML Namespace to be used
+	 * @member protocolBinding Protocol binding to be used
+	 * @member serialization Serialization to be used
+	 * @member forcedFields Attributes that need to be processed differently by the test adapter:
+	 * 			- empty fields (for instance, for attribute deletion), i.e. <labels></labels> -> value_ to be omitted
+	 * 			- invalid values, i.e. <maxNrOfInstances>-1</maxNrOfInstances>
+	 */
+	type record MsgOut {
+		union {
+			RequestPrimitive requestPrimitive,
+			ResponsePrimitive responsePrimitive
+		} primitive, 
+		charstring host optional,
+		charstring xmlNamespace optional, 
+		charstring protocolBinding optional,
+		charstring serialization optional,
+		AttributeAux_list forcedFields optional
 	}
-	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
+	
+	/**
+	 * @desc Type for the oneM2M primitives exchange
+	 * @member primitive oneM2M primitive
+	 */
+	type record MsgIn {
+		union {
+			RequestPrimitive requestPrimitive,
+			ResponsePrimitive responsePrimitive
+		} primitive
 	}
-	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
+	
+	type record AcRequestPrimitive {
+		charstring event,
+		anytype data
 	}
 	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
+		encode "adapter";
 	}
-	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
+	
+	type record AcResponsePrimitive {
+		charstring event,
+		anytype data
 	}
 	with {
-		variant "name as uncapitalized";
-		variant (resourceName) "attribute";
-	};
-
-
-
-
-	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
+		encode "adapter";
 	}
-	with {
-		variant "name as uncapitalized";
-		variant (resourceName) "attribute";
+	
+	type record AttributeAux {
+		XSD.NCName name,
+		charstring value_ optional
 	};
+	
+	type record of AttributeAux AttributeAux_list;
+
+/* **********************************
+* 		oneM2M Resource primitives
+* ***********************************	
+*/
+
+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 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 XSD.AnyURI ID;
 
 
-	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 XSD.Token NodeID
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 XSD.Token DeviceID (pattern "urn:meid:[\dABCDEFabcdef]#(14)")
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 XSD.Token ExternalID
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 XSD.Token RequestID
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 XSD.String RoleID (pattern "([a-zA-Z0-9.\-,_]*)@([A-Za-z0-9\-_]*)(.([A-Za-z0-9\-_])*)*")
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 XSD.String TokenID (pattern "([a-zA-Z0-9.\-,_]*)@([A-Za-z0-9\-_]*)(.([A-Za-z0-9\-_])*)*")
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 XSD.AnyURI NhURI
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 length(1 .. infinity) of XSD.ID AcpType
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	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 length(1 .. infinity) of XSD.Token Labels
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	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 XSD.UnsignedInt TriggerRecipientID (0 .. 65535)
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 length(1 .. infinity) of XSD.ID ListOfM2MID
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	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 XSD.Long LongMin_1 (-1 .. infinity)
+with {
+  variant "name as 'longMin-1'";
+};
 
 
-	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(2) of LongMin_1 ListOfMinMax
+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 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.Token Ipv4 (pattern "[0-9A-Fa-f]#(8)(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1)")
+with {
+  variant "name as uncapitalized";
+};
 
 
-	type record 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 XSD.Token Ipv6 (pattern "::(/0)#(0,1)")
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 length(1 .. infinity) of XSD.String PoaList
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	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 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 enumerated StdEventCats
-	{
-		int2(2),
-		int3(3),
-		int4(4)
-	}
-	with {
-		variant "useNumber";
-		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 enumerated Operation
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4),
-		int5(5)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
+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 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 length(1 .. infinity) of Timestamp ListOfTimeStamp
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	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";
-	};
+type record length(1 .. infinity) of XSD.Long ListOfRelTimeStamp
+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 XSD.String TypeOfContent (pattern "[\w/!#$\^_.+\q{0, 0, 0, 38}&\-]+")
+with {
+  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 enumerated ConsistencyStrategy
-	{
-		int1(1),
-		int2(2),
-		int3(3)
-	}
-	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 CmdType
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4),
-		int5(5),
-		int6(6),
-		int7(7)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
 
 
-	type enumerated ExecModeType
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
+type record length(1 .. infinity) of PermittedMediaTypes Serializations
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	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 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 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 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 PendingNotification
-	{
-		int1(1),
-		int2(2)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
+type record length(1 .. infinity) of EventCat ListOfEventCat
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	type enumerated NotificationContentType
-	{
-		int1(1),
-		int2(2),
-		int3(3)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
+type record length(1 .. infinity) of EventCatWithDef ListOfEventCatWithDef
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	type enumerated NotificationEventType
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4),
-		int5(5)
-	}
-	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 Status
-	{
-		int1(1),
-		int2(2),
-		int3(3)
-	}
-	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 BatteryStatus
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4),
-		int5(5),
-		int6(6),
-		int7(7)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
+type record of XSD.Duration ListOfDuration
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	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 of XSD.NCName AttributeList_1
+with {
+  variant "name as 'attributeList'";
+  variant "list";
+};
 
 
-	type enumerated LogTypeId
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4),
-		int5(5)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
+type record length(1 .. infinity) of ResourceType ResourceTypeList
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
-	type enumerated LogStatus
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4),
-		int5(5)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
+type XSD.String Sparql
+with {
+  variant "name as uncapitalized";
+};
 
 
-	type enumerated EventType
-	{
-		int1(1),
-		int2(2),
-		int3(3)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
+type XSD.String DescriptorRepresentation (pattern "application/rdf+xml:1")
+with {
+  variant "name as uncapitalized";
+};
 
 
-	type enumerated StatsRuleStatusType
-	{
-		int1(1),
-		int2(2)
-	}
-	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 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 enumerated StatModelType
-	{
-		int1(1)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
 
 
-	type enumerated EncodingType
-	{
-		int0(0),
-		int1(1),
-		int2(2)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
 
 
 
+type 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 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 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 FilterUsage
-	{
-		int1(1),
-		int2(2),
-		int3(3)
-	}
-	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 NotificationTargetPolicyAction
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
 
 
-	type enumerated LogicalOperator
-	{
-		int1(1),
-		int2(2)
-	}
-	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 AllJoynDirection
-	{
-		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 enumerated ContentFilterSyntax
-	{
-		int1(1)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
 
+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 ContentSecurity
-	{
-		int0(0),
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4),
-		int5(5)
-	}
-	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 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 enumerated EsprimKeyGenAlgID
-	{
-		int1(1)
-	}
-	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 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 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 StationaryIndication
-	{
-		int1(1),
-		int2(2)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
 
 
-	type enumerated ContentStatus
-	{
-		int1(1),
-		int2(2)
-	}
-	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 NetworkAction
-	{
-		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 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 XSD.String CountryCode (pattern "[A-Z]#(2)")
+with {
+  variant "name as uncapitalized";
+};
 
-	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 MissingData
+{
+	XSD.NonNegativeInteger number,
+	XSD.Duration duration
+}
+with {
+  variant "name as uncapitalized";
+};
 
-	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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 DataLink
+{
+	XSD.AnyURI name,
+	XSD.ID dataContainerID,
+	XSD.NCName attributeName optional
+}
+with {
+  variant "name as uncapitalized";
+};
 
 
-	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 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 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 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 Notification_1 Notification
-	with {
-		variant "name as uncapitalized";
-		variant "element";
-	};
 
 
-	type AggregatedNotification_1 AggregatedNotification
-	with {
-		variant "name as uncapitalized";
-		variant "element";
-	};
+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 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 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 enumerated CseTypeID
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	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 LocationSource
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	type SecurityInfo_1 SecurityInfo
-	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 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 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 enumerated SecurityInfoType
-	{
-		int1(1),
-		int2(2),
-		int3(3),
-		int4(4),
-		int5(5),
-		int6(6)
-	}
-	with {
-		variant "useNumber";
-		variant "name as uncapitalized";
-	};
 
+type enumerated DiscResType
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated ResponseStatusCode
+{
+	int1000(1000),
+	int2000(2000),
+	int2001(2001),
+	int2002(2002),
+	int2004(2004),
+	int4000(4000),
+	int4004(4004),
+	int4005(4005),
+	int4008(4008),
+	int4101(4101),
+	int4102(4102),
+	int4103(4103),
+	int4104(4104),
+	int4105(4105),
+	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 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 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 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 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 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 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 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 PendingNotification
+{
+	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 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 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 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 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 EventType
+{
+	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 StatsRuleStatusType
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	type AttributeList_1 AttributeList
-	with {
-		variant "name as uncapitalized";
-		variant "element";
-	};
 
+type enumerated StatModelType
+{
+	int1(1)
+}
+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 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 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 FilterUsage
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	type ResourceWrapper Resource
-	with {
-		variant "name as uncapitalized";
-		variant "element";
-	};
 
+type enumerated NotificationTargetPolicyAction
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	type ListOfURIs URIList
-	with {
-		variant "element";
-	};
 
+type enumerated LogicalOperator
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	type XSD.AnyURI URI
-	with {
-		variant "element";
-	};
 
 
-	type AggregatedResponse_1 AggregatedResponse
-	with {
-		variant "name as uncapitalized";
-		variant "element";
-	};
 
+type enumerated AllJoynDirection
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	type ListOfChildResourceRef ResourceRefList
-	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 XSD.String DebugInfo
-	with {
-		variant "name as uncapitalized";
-		variant "element";
-	};
 
+type enumerated EsprimKeyGenAlgID
+{
+	int1(1)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	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 enumerated EsprimProtocolAndAlgID
+{
+	int10(10),
+	int11(11),
+	int12(12)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	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 enumerated PeriodicIndicator
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	type record ListOfChildResourceRef
-	{
-		record of ChildResourceRef childResource_list
-	}
-	with {
-		variant "name as uncapitalized";
-		variant (childResource_list) "untagged";
-		variant (childResource_list[-]) "name as 'childResource'";
-	};
 
+type enumerated StationaryIndication
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
 
-	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 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 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 AggregatedNotification_1 AggregatedNotification
+with {
+  variant "name as uncapitalized";
+  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 record AggregatedNotification_1
+{
+	record of Notification notification_list
+}
+with {
+  variant "name as 'aggregatedNotification'";
+  variant (notification_list) "untagged";
+  variant (notification_list[-]) "name as 'notification'";
+};
 
-	type record 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'";
-	};
+//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 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 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 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 ResourceWrapper Resource
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
 
 
-	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 ListOfURIs URIList
+with {
+  variant "element";
+};
 
 
-	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 XSD.AnyURI URI
+with {
+  variant "element";
+};
+
+
+type AggregatedResponse_1 AggregatedResponse
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type ListOfChildResourceRef ResourceRefList
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
 
 
-	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 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 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 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 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 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'";
+};
 
+/* Additional types */
 
-	type record StatsConfig
+group OptionalResourceTypes {
+  
+	//Added by @Naum
+	type record AEAnnc_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+		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,
+		Timestamp expirationTime optional,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator 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 {
-				EventConfig eventConfig,
-				Subscription subscription
+				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 "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 "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 Subscription
+	type record AE_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+		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,
+		Timestamp expirationTime optional,
 		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,
+		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,
-				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
+				SemanticDescriptor semanticDescriptor,
+				TimeSeries timeSeries,
+				TrafficPattern trafficPattern,
+				Sg_flexContainerResource_group sg_flexContainerResource
 			} 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 RateLimit
-	{
-		XSD.NonNegativeInteger maxNrOfNotify optional,
-		XSD.Duration timeWindow optional
+	  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 "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 SvcFwWrapper
+	type record ContentInstance_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
+		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,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag optional,
 		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition,
+		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 of union {
-				SemanticDescriptor semanticDescriptor,
-				Subscription subscription
-			} choice_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.choice_list) "untagged";
-		variant (choice.choice_list[-]) "untagged";
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
 	};
 
-
-	type record SvcFwWrapperAnnc
+	type record Container_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
+		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,
+		AcpType accessControlPolicyIDs optional,
 		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.AnyURI containerDefinition,
+		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 of union {
+			record length(1 .. infinity) of union {
+				ContentInstance contentInstance,
+				Container container,
+				Subscription subscription,
 				SemanticDescriptor semanticDescriptor,
-				SemanticDescriptorAnnc semanticDescriptorAnnc,
-				Subscription subscription
+				Sg_flexContainerResource_group sg_flexContainerResource
 			} 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 (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 SvcObjWrapper
+	
+	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
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
+		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,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition,
-		XSD.AnyURI ontologyRef 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 of union {
-				SemanticDescriptor semanticDescriptor,
+			record length(1 .. infinity) of union {
+				RemoteCSE remoteCSE,
+				RemoteCSEAnnc remoteCSEAnnc,
+				Node node,
+				AE aE,
+				Container container,
+				Group group_,
+				AccessControlPolicy accessControlPolicy,
 				Subscription subscription,
-				AllJoynApp allJoynApp
+				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 "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 "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 SvcObjWrapperAnnc
+	
+	
+	type record Group_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
+		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,
+		AcpType accessControlPolicyIDs optional,
 		Timestamp expirationTime optional,
-		XSD.AnyURI link,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.AnyURI containerDefinition,
-		XSD.AnyURI ontologyRef 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 of union {
-				SemanticDescriptor semanticDescriptor,
-				SemanticDescriptorAnnc semanticDescriptorAnnc,
+			record length(1 .. infinity) of union {
 				Subscription subscription,
-				AllJoynAppAnnc allJoynAppAnnc
+				SemanticDescriptor semanticDescriptor
 			} 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 (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 TimeSeriesInstance
+	
+	type record PollingChannel_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+		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,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute,
-		AbsRelTimestamp dataGenerationTime,
-		XSD.AnySimpleType content,
-		XSD.NonNegativeInteger sequenceNr optional
+		Timestamp expirationTime optional
 	}
 	with {
-		variant "name as uncapitalized";
-		variant "element";
-		variant (resourceName) "attribute";
-		variant (announcedAttribute) "list";
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
 	};
-
-
-	type record TimeSeriesInstanceAnnc
+	
+	type record Schedule_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+		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,
-		XSD.AnyURI link,
-		AbsRelTimestamp dataGenerationTime optional,
-		XSD.AnySimpleType content optional,
-		XSD.NonNegativeInteger sequenceNr 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 "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 TimeSeries
+	
+	//Added by @Naum
+	type record ServiceSubscribedAppRule_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+		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,
+		Timestamp expirationTime optional,
 		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,
+		ListOfM2MID applicableCredIDs optional,
+		ListOfM2MID allowedApp_IDs optional,
+		ListOfM2MID allowedAEs optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				TimeSeriesInstance timeSeriesInstance,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor
-			} choice_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 (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";
+	  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 TimeSeriesAnnc
+	
+	type record Subscription_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+		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,
-		Timestamp expirationTime,
-		XSD.AnyURI link,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
 		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,
+		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 {
-				TimeSeriesInstance timeSeriesInstance,
-				TimeSeriesInstanceAnnc timeSeriesInstanceAnnc,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				SemanticDescriptorAnnc semanticDescriptorAnnc
+				Schedule schedule,
+				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
 			} 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";
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (latestNotify) "text 'true' as '1'";
+	  //variant (latestNotify) "text 'false' as '0'";
+	  variant (choice) "untagged";
 	};
-
-
-	type record Token
+	
+	//@Martin
+	type record LocationPolicy_optional 
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+		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,
+		Timestamp expirationTime optional,
 		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,
+		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 {
@@ -6292,899 +7035,220 @@ module OneM2M_Types {
 		} 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";
+	  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 TrafficPattern
-	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+	
+	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,
+		Timestamp expirationTime optional,
 		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,
+		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 union {
-				record of Subscription subscription_list,
-				record length(1) of Schedule schedule_list
-			} choice_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 (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'";
+	  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 TrafficPatternAnnc
+	
+	type record GenericInterworkingOperationInstance_optional
 	{
-		ResourceName resourceName,
-		ResourceType resourceType,
-		XSD.ID resourceID,
-		NhURI parentID,
-		Timestamp creationTime,
-		Timestamp lastModifiedTime,
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
 		Labels labels optional,
-		AcpType accessControlPolicyIDs,
-		Timestamp expirationTime,
-		XSD.AnyURI link,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
 		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,
+		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 {
-				record of Subscription subscription_list,
-				record length(1) of ScheduleAnnc scheduleAnnc_list
+				SemanticDescriptor semanticDescriptor,
+				Subscription subscription
 			} 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'";
+	  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";
 	};
-
-/* 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'";
-		};
 	
-		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
 	
-	}//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 +7265,15 @@ module OneM2M_Types {
 		
 		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'";
+  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/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index de1146687571cdf4bb837863cf5ca3a2f9e84899..5ddeccfa3ea48ec3aa6c0a8add873ea703be7382 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -99,11 +99,6 @@ module OneM2M_TypesAndValues {
 		e_cf03	
 	};
 	
-	type record AttributeAux {
-		XSD.NCName name,
-		charstring value_ optional
-	};
 	
-	type record of AttributeAux AttributeAux_list;
 } 
 // end of module