From dde699807f4ccae29553e5018a36e1fd37b6313c Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Fri, 11 Jan 2019 10:55:24 +0100
Subject: [PATCH] Moved to XSD v2_19_0

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Templates.ttcn |    31 +-
 LibOneM2M/OneM2M_Types.ttcn     | 17410 +++++++++++++++---------------
 2 files changed, 8766 insertions(+), 8675 deletions(-)

diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 169facf..d471a7b 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -1945,6 +1945,7 @@ module OneM2M_Templates {
 			consistencyStrategy := p_consistencyStrategy,//O
 			groupName := omit,//O
 			semanticSupportIndicator := omit,//O
+			notifyAggregation := omit,//O
 			choice := omit//NP
     	};  
     	
@@ -1982,6 +1983,7 @@ module OneM2M_Templates {
 			consistencyStrategy := p_consistencyStrategy,//O
 			groupName := omit,//O
 			semanticSupportIndicator := omit,//O
+			notifyAggregation := omit,//O
 			choice := omit//NP
 		};  
     	
@@ -2009,6 +2011,7 @@ module OneM2M_Templates {
 			  consistencyStrategy := *, //OA
 			  groupName := *, //OA
 			  semanticSupportIndicator := *,//OA
+			  notifyAggregation := omit,//OA
 			  choice := omit //NA
 		  };
     	
@@ -2699,12 +2702,15 @@ module OneM2M_Templates {
     	  	announceTo 				:= omit, 				   //O
     	  	announcedAttribute		:= omit, 			      //O
     		locationSource 			:= p_locationSource, //M
+    		locationInformationType := omit,//O
     		locationUpdatePeriod 		:= {p_locationUpdatePeriod}, //O
     		locationTargetID 			:= p_locationTargetID, 	//O
     		locationServer 			:= p_locationServerAddress,//O
     		locationContainerID		:= omit,    		   //NP
     		locationContainerName 	:= PX_LOCATION_CONTAINER_NAME,//O    		
     	  	locationStatus				:= omit,              //NP
+    	  	geographicalTargetArea  := omit,//O
+    	  	geofenceEventCriteria   := omit,//O
     	    choice 					:= omit  	         //NP
     	   	  	
     	};
@@ -2723,12 +2729,15 @@ module OneM2M_Templates {
 				announceTo 				:= omit, 				   //O
 				announcedAttribute		:= omit, 			      //O
 				locationSource 			:= int1, //M
+				locationInformationType := omit,//O
 				locationUpdatePeriod 		:= omit, //O
 				locationTargetID 			:= omit, 	//O
 				locationServer 			:= omit,//O
 				locationContainerID		:= omit,    		   //NP
 				locationContainerName 	:= PX_LOCATION_CONTAINER_NAME,//O    		
 				locationStatus				:= omit,              //NP
+	    	  	geographicalTargetArea  := omit,//O
+    		  	geofenceEventCriteria   := omit,//O
 				choice 					:= omit  	         //NP
 			};
     	
@@ -2748,12 +2757,16 @@ module OneM2M_Templates {
 		  link := ?,
 		  dynamicAuthorizationConsultationIDs := *, //OA
 		  locationSource := *, //OA
+		  locationInformationType := *,//OA
 		  locationUpdatePeriod := *, //OA
 		  locationTargetID := *, //OA
 		  locationServer := *, //OA
 		  locationContainerID := *, //OA
 		  locationContainerName := *, //OA
-		  locationStatus := *	//OA
+		  locationStatus := *,	//OA
+		  geographicalTargetArea  := *,//OA
+    	  geofenceEventCriteria   := *//OA
+		  
 	  };
     	
     	template (value) Notification m_contentCreateNotification (in template (value) Representation p_resourcePresentation, 
@@ -3006,7 +3019,7 @@ module OneM2M_Templates {
 			currentNrOfInstances := omit,//NP
 			currentByteSize := omit,//NP
 			periodicInterval := omit,//O
-			missingDataDetect := omit,//O
+			missingDataMaxNr := omit,//O
 			missingDataList := omit,//NP
 			missingDataCurrentNr := omit,//NP
 			missingDataDetectTimer := omit,//O
@@ -3037,7 +3050,7 @@ module OneM2M_Templates {
 			currentNrOfInstances := *,//M OA
 			currentByteSize := *,//M OA
 			periodicInterval := *,//O OA
-			missingDataDetect := omit,//O NA
+			missingDataMaxNr := *,//O OA
 			missingDataList := *,//O OA
 			missingDataCurrentNr := *,//O OA
 			missingDataDetectTimer := *,//O OA
@@ -3246,6 +3259,7 @@ module OneM2M_Templates {
 			consistencyStrategy := omit,//NP
 			groupName := omit,//O
 			semanticSupportIndicator := omit,//O
+			notifyAggregation := omit,//O
 			choice := omit//NP
 
 		};
@@ -3405,12 +3419,15 @@ module OneM2M_Templates {
     	  	announceTo 				:= omit,//O
     	  	announcedAttribute		:= omit,//O
     		locationSource 			:= omit,//NP
+			locationInformationType := omit,//O
 			locationUpdatePeriod 	:= {p_locationUpdatePeriod}, //O
     		locationTargetID 		:= omit, //NP
     		locationServer 			:= omit, //NP
     		locationContainerID		:= omit, //NP  
     		locationContainerName 	:= PX_LOCATION_CONTAINER_NAME, //O    		 		
     	  	locationStatus			:= omit, //NP
+    	    geographicalTargetArea  := omit,//O
+    	  	geofenceEventCriteria   := omit,//O
     	    choice 					:= omit  //NP	   	  	
     	};
     	
@@ -3530,6 +3547,7 @@ module OneM2M_Templates {
 		  	consistencyStrategy := omit, 
 		  	groupName := omit, 
 		  	semanticSupportIndicator := omit,
+		  	notifyAggregation := omit,
 		  	choice := omit
 		};	
 		
@@ -3797,12 +3815,15 @@ module OneM2M_Templates {
 			announceTo := omit,//O
 			announcedAttribute := omit,//O
 			locationSource := omit,//M
+			locationInformationType := omit,//o
 			locationUpdatePeriod := omit,//O
 			locationTargetID := omit,//O
 			locationServer := omit,//O
 			locationContainerID := omit,//O
 			locationContainerName := omit,//O
 			locationStatus := omit,//M
+			geographicalTargetArea  := omit,//O
+    	  	geofenceEventCriteria   := omit,//O
 			choice := omit//O
 		}
 		
@@ -3873,6 +3894,7 @@ module OneM2M_Templates {
 			consistencyStrategy := *,//O
 			groupName := *,//O
 			semanticSupportIndicator := *,//O
+			notifyAggregation := *,//O
 			choice := *//O
 		};
 		
@@ -3899,6 +3921,7 @@ module OneM2M_Templates {
 			consistencyStrategy := *,//O
 			groupName := *,//O
 			semanticSupportIndicator := *,//O
+			notifyAggregation := *,//O
 			choice := *//O
 		}
 		
@@ -3925,6 +3948,7 @@ module OneM2M_Templates {
 			consistencyStrategy := omit,//O
 			groupName := omit,//O
 			semanticSupportIndicator := omit,//O
+			notifyAggregation := omit,//O
 			choice := omit//O
 		}
 		
@@ -3970,6 +3994,7 @@ module OneM2M_Templates {
 			consistencyStrategy := omit,//O
 			groupName := omit,//O
 			semanticSupportIndicator := omit,//O
+			notifyAggregation := omit,//O
 			choice := {childResource_list := ?}//O
 		}
 		
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index fafdae9..21004e4 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -1,8672 +1,8738 @@
-/**
- *  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     oneM2M
- *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
- *              $Id: OneM2M_Types.ttcn 356 2017-08-21 12:25:14Z reinaortega $
- *  @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 optional,
-	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 optional,
-	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 optional,
-	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,
-	SupportedReleaseVersions supportedReleaseVersions,
-	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,
-	SupportedReleaseVersions supportedReleaseVersions,
-	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 optional,
-	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 optional,
-	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 optional,
-	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 optional,
-	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 optional,
-	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 optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.PositiveInteger order,
-	EventCat defEcValue,
-	ListOfM2MID requestOrigin,
-	XSD.AnySimpleType requestContext optional,//FIXME Use AnySimpleType instead
-	XSD.Boolean requestContextNotification optional,
-	XSD.AnySimpleType requestCharacteristics optional//FIXME Use AnySimpleType instead
-}
-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 optional,
-	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 optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	XSD.PositiveInteger order,
-	ListOfM2MID requestOrigin,
-	XSD.AnySimpleType requestContext,//FIXME Use AnySimpleType instead
-	XSD.Boolean requestContextNotification optional,
-	XSD.AnySimpleType requestCharacteristics,//FIXME Use AnySimpleType instead
-	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 optional,
-	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 optional,
-	MgmtDefinition mgmtDefinition,
-	ListOfURIs objectIDs optional,
-	ListOfURIs objectPaths optional,
-	XSD.String description optional,
-	ListOfM2MID targetNetwork,
-	XSD.NonNegativeInteger minReqVolume,
-	XSD.NonNegativeInteger spreadingWaitTime,
-	BackOffParameters backOffParameters,
-	XSD.AnySimpleType otherConditions,//FIXME Use AnySimpleType instead
-	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 optional,
-	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:dev:ops:[\dABCDEFabcdef]#6-[\w_%]#(1,)-[\w_%]#(1,))" & "|" &
-									"(urn:dev:os:[\dABCDEFabcdef]#6-[\w_%]#(1,))" & "|" &
-									"(urn:imei:\d#15)" & "|" &
-									"(urn:esn:[\dABCDEFabcdef]#8)" & "|" &
-									"(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))" & "|" & 
-							"((25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1))")
-with {
-  variant "name as uncapitalized";
-};
-
-
-type XSD.Token Ipv6 (pattern "([0-9A-Fa-f]#(1,4)(:[0-9A-Fa-f]#(1,4))#7(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
-"(:(:[0-9A-Fa-f]#(1,4))#(1,7))" & "|" & //Double colon start
-"(([0-9A-Fa-f]#(1,4):)#(1,6)(:[0-9A-Fa-f]#(1,4))#1(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon middle
-"(([0-9A-Fa-f]#(1,4):)#(1,5)(:[0-9A-Fa-f]#(1,4))#(1,2)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
-"(([0-9A-Fa-f]#(1,4):)#(1,4)(:[0-9A-Fa-f]#(1,4))#(1,3)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
-"(([0-9A-Fa-f]#(1,4):)#(1,3)(:[0-9A-Fa-f]#(1,4))#(1,4)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
-"(([0-9A-Fa-f]#(1,4):)#(1,2)(:[0-9A-Fa-f]#(1,4))#(1,5)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
-"(([0-9A-Fa-f]#(1,4):)#1(:[0-9A-Fa-f]#(1,4))#(1,6)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
-"(([0-9A-Fa-f]#(1,4):)#(1,7):(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon end
-"(((:(:0#(1,4))#(0,3)(:(0#(1,4)|[fF]#4))#(0,1))|(0#(1,4):(:0#(1,4))#(0,2)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#2(:0#(1,4))#(0,1)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#3(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#4(0#(1,4)|[fF]#4)#(0,1))):(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9]))" & "|" & //Embedded IPv4 addresses without CIDR suffix. Should IPv4 CIDR suffix be added
-"(::(/0)#(0,1))") //The unspecified address
-	
-with {
-  variant "name as uncapitalized";
-};
-
-
-type XSD.AnyURI PointOfAccess //TODO fixme (pattern "(http|HTTP|coap|COAP|mqtt|MQTT|ws|WS)(s|S)#(0,1)://[\w/!#$\^_.+\q{0, 0, 0, 38}&\-:;=]+")
-with {
-  variant "name as uncapitalized";
-};
-
-
-type record length(1 .. infinity) of PointOfAccess 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 //TODO To be fixed (pattern "([\w/!#$^_.#(1,)&\-]#(1,)(:[0-2])#(0,1))" & "|" &
-							//							"([\w/!#$^_.#(1,)&\-]#(1,)((:[0-2])#(0,1))#(1,)((:[0-5])#(0,1)))")
-	
-with {
-  variant "name as uncapitalized";
-};
-
-
-type union EventCat
-{
-	StdEventCats alt_,
-	XSD.Integer alt_1 (100 .. 999)
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-};
-
-
-type union EventCatWithDef
-{
-	enumerated {
-		int0(0)
-	} alt_,
-	StdEventCats alt_1,
-	XSD.Integer alt_2 (100 .. 999)
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_) "useNumber";
-  variant (alt_1) "name as ''";
-  variant (alt_2) "name as 'alt_1'";
-  variant (alt_2) "name as ''";
-};
-
-
-type record length(1 .. infinity) of EventCat ListOfEventCat
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-
-type record length(1 .. infinity) of EventCatWithDef ListOfEventCatWithDef
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-
-type XSD.String ScheduleEntry (pattern "(((([*]|(([1-5]#(0,1)\d)\-([1-5]#(0,1)\d)))(\/([1-5]#(0,1)\d))#(0,1)|([1-5]#(0,1)\d))\,)#(0,)((([*]|(([1-5]#(0,1)\d)\-([1-5]#(0,1)\d)))(\/([1-5]#(0,1)\d))#(0,1))|([1-5]#(0,1)\d))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,))#2((([*]|((1#(0,1)\d|2[0-3])\-(1#(0,1)\d|2[0-3])))(\/1#(0,1)\d|2[0-3])#(0,1)|(1#(0,1)\d|2[0-3]))\,)#(0,)((([*]|((1#(0,1)\d|2[0-3])\-(1#(0,1)\d|2[0-3])))(\/1#(0,1)\d|2[0-3])#(0,1))|(1#(0,1)\d|2[0-3]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([1-9]|1\d|2\d|3[01])\-([1-9]|1\d|2\d|3[01])))(\/[1-9]|1\d|2\d|3[01])#(0,1)|([1-9]|1\d|2\d|3[01]))\,)#(0,)((([*]|(([1-9]|1\d|2\d|3[01])\-([1-9]|1\d|2\d|3[01])))(\/[1-9]|1\d|2\d|3[01])#(0,1))|([1-9]|1\d|2\d|3[01]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([1-9]|1[0-2])\-([1-9]|1[0-2])))(\/[1-9]|1[0-2])#(0,1)|([1-9]|1[0-2]))\,)#(0,)((([*]|(([1-9]|1[0-2])\-([1-9]|1[0-2])))(\/[1-9]|1[0-2])#(0,1))|([1-9]|1[0-2]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([0-6])\-([0-6])))(\/[0-6])#(0,1)|([0-6]))\,)#(0,)((([*]|(([0-6])\-([0-6])))(\/[0-6])#(0,1))|([0-6]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([2-9]\d\d\d)\-([2-9]\d\d\d)))(\/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1)|([2-9]\d\d\d))\,)#(0,)((([*]|(([2-9]\d\d\d)\-([2-9]\d\d\d)))(\/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1))|([2-9]\d\d\d))")
-
-//"(([*]|[1-5]#(0,1)\d([,\-\/][1-5]#(0,1)\d)#(0,))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,))#2([*]|((1#(0,1)\d|2[0-3])([,\-\/](1#(0,1)\d|2[0-3]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|(([1-9]|1\d|2\d|3[01])([,\-\/]([1-9]|1\d|2\d|3[01]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|(([1-9]|1[0-2])([,\-\/]([1-9]|1[0-2]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|([0-6]([,\-\/][0-6])#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*](/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1))|(([2-9]\d\d\d)([,\-][2-9]\d\d\d[,]#(0,1))#(0,1)([/]\d#(0,1)\d#(0,1)\d#(0,1)\d[,]#(0,1))#(0,1))#(0,)")
-with {
-  variant "name as uncapitalized";
-};
-
-
-type record length(1 .. infinity) of XSD.AnyURI ListOfURIs
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-
-type record length(1 .. infinity) of XSD.Duration ListOfDuration
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-
-type record length(1 .. infinity) 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\-_=]#(0,)).([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.\-,_]#(0,))")
-with {
-  variant "name as uncapitalized";
-};
-
-
-type union LocationTargetID
-{
-	NodeID alt_,
-	ExternalID alt_1,
-	XSD.String alt_2 (pattern "([0-9]*)")
-}
-with {
-  variant "name as uncapitalized";
-  variant "useUnion";
-  variant (alt_) "name as ''";
-  variant (alt_1) "name as ''";
-  variant (alt_2) "name as ''";
-};
-
-
-type XSD.String ReleaseVersion (pattern "2a")
-with {
-  variant "name as uncapitalized";
-};
-
-
-type XSD.String ApplicableReleaseVersion (pattern "2a")
-with {
-  variant "name as uncapitalized";
-};
-
-
-type record length(1 .. infinity) of ApplicableReleaseVersion SupportedReleaseVersions
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-
-type record DeliveryMetaData
-{
-	XSD.Boolean tracingOption,
-	ListOfM2MID tracingInfo optional
-}
-with {
-  variant "name as uncapitalized";
-  //variant (tracingOption) "text 'true' as '1'";
-  //variant (tracingOption) "text 'false' as '0'";
-};
-
-
-type record AggregatedRequest
-{
-	record length(1 .. infinity) of record {
-		Operation operation,
-		XSD.AnyURI to_,
-		XSD.ID from_,
-		RequestID requestIdentifier,
-		PrimitiveContent primitiveContent optional,
-		MetaInformation metaInformation optional
-	} request_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (request_list) "untagged";
-  variant (request_list[-]) "name as 'request'";
-  variant (request_list[-].to_) "name as 'to'";
-  variant (request_list[-].from_) "name as 'from'";
-};
-
-
-type record MetaInformation
-{
-	ResourceType resourceType optional,
-	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 optional,
-	XSD.Boolean tokenRequestIndicator optional,
-	record length(1 .. infinity) of DynAuthJWT tokens optional,
-	record length(1 .. infinity) of TokenID tokenIDs optional,
-	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,
-	ReleaseVersion releaseVersionIndicator,
-	XSD.String vendorInformation optional
-}
-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";
-};
-
-
-
-
-//FIXME Use this type instead type record PrimitiveContent
-type union PrimitiveContent {
-	//TS-0004 - 7.5.2-1 & 7.5.2-2 Common elements to request/response content
-	//ResourceTypes
-	AEAnnc_optional aEAnnc,
-	AE_optional aE,
-	AccessControlPolicy_optional accessControlPolicy,
-	AccessControlPolicyAnnc_optional accessControlPolicyAnnc,
-	ContentInstance_optional contentInstance,
-	ContentInstanceAnnc_optional contentInstanceAnnc,
-	Container_optional container,
-	ContainerAnnc_optional containerAnnc,
-	Delivery_optional delivery,
-	FlexContainerResource_optional flexContainer,
-	CSEBase_optional cSEBase,
-	Group_optional group_,
-	GroupAnnc_optional groupAnnc,
-	LocationPolicy_optional locationPolicy,
-	LocationPolicyAnnc_optional locationPolicyAnnc,
-	MgmtResource_optional mgmtResource,//MgmtResource
-	MgmtCmd_optional mgmtCmd,
-	AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
-	Node_optional node,
-	NodeAnnc_optional nodeAnnc,
-	PollingChannel_optional pollingChannel,
-	Request_optional request, 
-	RemoteCSE_optional remoteCSE,
-	RemoteCSEAnnc_optional remoteCSEAnnc,
-	Schedule_optional schedule,
-	ScheduleAnnc_optional scheduleAnnc,
-	StatsConfig_optional statsConfig,
-	StatsCollect_optional statsCollect,
-	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
-	ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
-	Subscription_optional subscription,
-	SemanticDescriptor_optional semanticDescriptor,
-	TimeSeries_optional timeSeries,
-	TimeSeriesInstance_optional timeSeriesInstance,
-	TimeSeriesAnnc_optional timeSeriesAnnc,
-	TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
-	GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance,
-	//SecurityInfo
-	SecurityInfo securityInfo,
-	//TS-0004 - 7.5.2-1 Elements used for request content
-	Notification notification,
-	AggregatedNotification aggregatedNotification,
-	AttributeList attributeList,
-	ResponsePrimitive responsePrimitive,
-	//TS-0004 - 7.5.2-2 Elements used for response content
-	Resource resource,
-	URIList uRIList,
-	ResourceRefList resourceRefList,
-	AggregatedResponse aggregatedResponse,
-	URI uRI,
-	RequestPrimitive requestPrimitive,
-	DebugInfo debugInfo,
-	//Invalid types
-	AE_update_invalid aE_update_invalid,
-	ACP_update_invalid aCP_update_invalid,
-	Container_update_invalid container_update_invalid,
-	Group_update_invalid group_update_invalid,
-	PollingChannel_update_invalid pollingChannel_update_invalid,
-	Schedule_update_invalid schedule_update_invalid,
-	Subscription_update_invalid subscription_update_invalid,
-	LocationPolicy_update_invalid locationPolicy_update_invalid,
-	TimeSeries_update_invalid timeSeries_update_invalid
-}
-
-
-
-
-
-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.AnySimpleType value_//FIXME Use AnySimpleType instead
-}
-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.AnySimpleType value_//FIXME Use AnySimpleType instead
-}
-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,
-			record length(1 .. infinity) of Ipv6 ipv6Addresses 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 optional
-}
-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 optional,
-	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 optional
-}
-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 optional,
-	AbsRelTimestamp requestTimestamp optional,
-	XSD.AnyURI targetedResourceID optional,
-	AbsRelTimestamp proposedPrivilegesLifetime optional,
-	record length(1 .. infinity) of RoleID roleIDsFromACPs optional,
-	record length(1 .. infinity) of TokenID tokenIDs optional
-}
-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 optional
-}
-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 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
-}
-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 optional,
-	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 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 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 optional,
-	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 optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	ContentInfo contentInfo optional,
-	XSD.NonNegativeInteger contentSize,
-	ContentRef contentRef optional,
-	XSD.AnyURI ontologyRef optional,
-	XSD.AnySimpleType content,//FIXME Use AnySimpleType instead
-	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.AnySimpleType content optional,//FIXME Use AnySimpleType instead
-	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,
-	ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type
-	PoaList pointOfAccess,
-	XSD.AnyURI nodeLink optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	E2eSecInfo e2eSecInfo optional,
-	SupportedReleaseVersions supportedReleaseVersions,
-	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,
-			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 optional,
-	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 optional,
-	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 enumerated CseTypeID
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated LocationSource
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated StdEventCats
-{
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated Operation
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ResponseType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	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),
-	int9(9)
-}
-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),
-	int1001(1001),
-	int1002(1002),
-	int2000(2000),
-	int2001(2001),
-	int2002(2002),
-	int2004(2004),
-	int4000(4000),
-	int4001(4001),
-	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),
-	int4116(4116),
-	int4117(4117),
-	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),
-	int6020(6020),
-	int6021(6021),
-	int6022(6022),
-	int6023(6023),
-	int6024(6024),
-	int6025(6025),
-	int6026(6026),
-	int6028(6028),
-	int6029(6029)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated RequestStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated MemberType
-{
-	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 CmdType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ExecModeType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ExecStatusType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ExecResultType
-{
-	int0(0),
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30),
-	int31(31)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated PendingNotification
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated NotificationContentType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated NotificationEventType
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated Status
-{
-	int0(0),
-	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),
-	int1020(1020),
-	int1021(1021),
-	int1022(1022),
-	int1023(1023),
-	int1024(1024),
-	int1025(1025),
-	int1026(1026)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated LogTypeId
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated LogStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EventType
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated StatsRuleStatusType
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated StatModelType
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EncodingType
-{
-	int0(0),
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-
-
-type enumerated AccessControlOperations
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11),
-	int12(12),
-	int13(13),
-	int14(14),
-	int15(15),
-	int16(16),
-	int17(17),
-	int18(18),
-	int19(19),
-	int20(20),
-	int21(21),
-	int22(22),
-	int23(23),
-	int24(24),
-	int25(25),
-	int26(26),
-	int27(27),
-	int28(28),
-	int29(29),
-	int30(30),
-	int31(31),
-	int32(32),
-	int33(33),
-	int34(34),
-	int35(35),
-	int36(36),
-	int37(37),
-	int38(38),
-	int39(39),
-	int40(40),
-	int41(41),
-	int42(42),
-	int43(43),
-	int44(44),
-	int45(45),
-	int46(46),
-	int47(47),
-	int48(48),
-	int49(49),
-	int50(50),
-	int51(51),
-	int52(52),
-	int53(53),
-	int54(54),
-	int55(55),
-	int56(56),
-	int57(57),
-	int58(58),
-	int59(59),
-	int60(60),
-	int61(61),
-	int62(62),
-	int63(63)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated FilterUsage
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated NotificationTargetPolicyAction
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated LogicalOperator
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-
-
-type enumerated AllJoynDirection
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated ContentFilterSyntax
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type 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 enumerated EsprimKeyGenAlgID
-{
-	int1(1)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EsprimProtocolAndAlgID
-{
-	int10(10),
-	int11(11),
-	int12(12)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated PeriodicIndicator
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated StationaryIndication
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type 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 optional,
-	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 optional,
-	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 optional,
-	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 optional,
-	XSD.ID creator optional,
-	MemberType memberType,
-	XSD.NonNegativeInteger currentNrOfMembers,
-	XSD.PositiveInteger maxNrOfMembers,
-	record of XSD.AnyURI memberIDs,
-	ListOfURIs membersAccessControlPolicyIDs optional,
-	XSD.Boolean memberTypeValidated optional,
-	ConsistencyStrategy consistencyStrategy optional,
-	XSD.String groupName optional,
-	XSD.Boolean semanticSupportIndicator 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 (memberIDs) "list";
-  //variant (memberTypeValidated) "text 'true' as '1'";
-  //variant (memberTypeValidated) "text 'false' as '0'";
-  //variant (semanticSupportIndicator) "text 'true' as '1'";
-  //variant (semanticSupportIndicator) "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 optional,
-	ListOfURIs membersAccessControlPolicyIDs optional,
-	XSD.Boolean memberTypeValidated optional,
-	ConsistencyStrategy consistencyStrategy optional,
-	XSD.String groupName optional,
-	XSD.Boolean semanticSupportIndicator 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 (semanticSupportIndicator) "text 'true' as '1'";
-  //variant (semanticSupportIndicator) "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 optional,
-	LocationSource locationSource,
-	ListOfDuration locationUpdatePeriod optional,
-	LocationTargetID 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,
-	LocationTargetID 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 optional,
-	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 optional,
-	NodeID nodeID,
-	XSD.ID hostedCSELink optional,
-	XSD.String mgmtClientAddress 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,
-	XSD.String mgmtClientAddress 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 AggregatedNotification_1 AggregatedNotification
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AggregatedNotification_1
-{
-	record of Notification notification_list
-}
-with {
-  variant "name as 'aggregatedNotification'";
-  variant (notification_list) "untagged";
-  variant (notification_list[-]) "name as 'notification'";
-};
-
-type record Notification_1
-{
-	record {
-		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,
-	XSD.ID notificationTarget optional,
-	XSD.Boolean targetRemovalRequest optional,
-	XSD.Boolean targetRemovalAllowance 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 (targetRemovalRequest) "text 'true' as '1'";
-  //variant (targetRemovalRequest) "text 'false' as '0'";
-  //variant (targetRemovalAllowance) "text 'true' as '1'";
-  //variant (targetRemovalAllowance) "text 'false' as '0'";
-  variant (iPEDiscoveryRequest) "name as capitalized";
-};
-
-
-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 optional
-}
-with {
-  variant "name as uncapitalized";
-  variant (tokens) "list";
-};
-
-
-//FIXME To replace Representation type by this
-type union Representation {
-	Resource_2 resource, 
-	XSD.AnyURI uRI
-}
-with {
-	variant "name as 'representation'";
-	variant (uRI) "name as capitalized";
- };
-  
-//type record Representation
-//{
-//	union {
-//		XSD.String elem,
-//		XSD.String elem_1
-//	} choice optional
-//}
-//with {
-//  variant "name as uncapitalized";
-//  variant (choice) "untagged";
-//  variant (choice.elem) "anyElement from 'http://www.onem2m.org/xml/protocols'";
-//  variant (choice.elem_1) "name as 'elem'";
-//  variant (choice.elem_1) "anyElement except unqualified, 'http://www.onem2m.org/xml/protocols'";
-//};
-
-
-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 SubordinateResource PollingChannel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-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 optional,
-	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 optional,
-	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,
-	XSD.UnsignedInt triggerReferenceNumber optional,
-	E2eSecInfo e2eSecInfo optional,
-	SupportedReleaseVersions supportedReleaseVersions,
-	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,
-	SupportedReleaseVersions supportedReleaseVersions,
-	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,
-	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,
-	record length(1 .. infinity) of TokenID tokenIDs optional,
-	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,
-	XSD.Boolean tokenRequestIndicator optional,
-	ReleaseVersion releaseVersionIndicator,
-	XSD.String vendorInformation 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 optional,
-	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,
-	ReleaseVersion releaseVersionIndicator,
-	XSD.String vendorInformation optional
-}
-with {
-  variant "name as uncapitalized";
-  variant "element";
-  variant (to_) "name as 'to'";
-  variant (from_) "name as 'from'";
-};
-
-
-type ResourceWrapper Resource
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record length(0 .. infinity) of XSD.AnyURI URIList //TODO Allow URIList to be empty as defined in PRO
-with {
-  variant "name as uncapitalized";
-  variant "list";
-};
-
-
-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 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
-//	} 
-	Resource_2 choice,//TODO Use Resource_2 type instead 
-	XSD.AnyURI uRI
-}
-with {
-  variant "name as uncapitalized";
-  variant (choice) "untagged";
-  variant (uRI) "name as capitalized";
-};
-
-
-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 length(1 .. infinity) of ChildResourceRef resourceRef_list
-}
-with {
-  variant "name as uncapitalized";
-  variant (resourceRef_list) "untagged";
-  variant (resourceRef_list[-]) "name as 'resourceRef'";
-};
-
-
-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 optional,
-	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 optional,
-	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 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 (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 optional,
-	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 optional,
-	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 optional,
-	XSD.Duration duration optional
-}
-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 optional,
-	AbsRelTimestamp dataGenerationTime,
-	XSD.AnySimpleType content,
-	XSD.NonNegativeInteger sequenceNr optional,
-	XSD.NonNegativeInteger contentSize
-}
-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,
-	XSD.NonNegativeInteger contentSize 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 optional,
-	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,
-	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,
-	TokenPermissions 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 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,
-	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'";
-};
-
-
-/* ******************************************
- * 		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 {
-		encode ""
-	}
-	
-	/**
-	 * @desc Type for the oneM2M primitives exchange
-	 * @member primitive oneM2M primitive
-	 */
-	type record MsgIn {
-		union {
-			RequestPrimitive requestPrimitive,
-			ResponsePrimitive responsePrimitive
-		} primitive, 
-		AttributeList_1 nullFields optional
-	}
-	with {
-		encode ""
-	}
-	
-	type record AcRequestPrimitive {
-		charstring event,
-		anytype data
-	}
-	with {
-		encode "adapter";
-	}
-	
-	type record AcResponsePrimitive {
-		charstring event,
-		anytype data
-	}
-	with {
-		encode "adapter";
-	}
-	
-	type record UtTriggerPrimitive {
-		RequestPrimitive requestPrimitive, 
-		AttributeAux_list forcedFields optional
-	}
-	with {
-		encode "UpperTester"
-	}
-		
-	type ResponsePrimitive UtTriggerAckPrimitive
-	with {			
-		encode "UpperTester"
-	}
-	
-	type record AttributeAux {
-		XSD.NCName name,
-		charstring value_ optional
-	};
-	
-	type record of AttributeAux AttributeAux_list;
-
-/* **********************************
-* 		oneM2M Resource primitives
-* ***********************************	
-*/
-
-
-
-/* Additional types */
-
-group OptionalResourceTypes {
-	
-	type record AccessControlPolicy_optional
-	{
-		ResourceName 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 AccessControlPolicyAnnc_optional
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link 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 (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 AE_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,
-		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,
-		SupportedReleaseVersions supportedReleaseVersions 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_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,
-		XSD.AnyURI link optional,
-		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,
-		SupportedReleaseVersions supportedReleaseVersions 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 MgmtCmd_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,
-		XSD.String description optional,
-		CmdType cmdType optional,
-		ExecReqArgsListType execReqArgs optional,
-		XSD.Boolean execEnable optional,
-		NodeID execTarget optional,
-		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 optional
-	}
-	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 MgmtResource_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,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		MgmtDefinition mgmtDefinition optional,
-		ListOfURIs objectIDs optional,
-		ListOfURIs objectPaths optional,
-		XSD.String description optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	};
-
-	type record AnnouncedMgmtResource_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,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		MgmtDefinition mgmtDefinition optional,
-		ListOfURIs objectIDs optional,
-		ListOfURIs objectPaths optional,
-		XSD.String description optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
-	};
-
-	type record FlexContainerResource_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";
-	};
-
-	type record AnnouncedFlexContainerResource_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,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant (resourceName) "attribute";
-	};
-
-	type record Container_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,
-		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 (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_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,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag 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,
-				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_optional
-	{
-		ResourceName 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.AnySimpleType 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";
-	  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_optional
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		XSD.NonNegativeInteger stateTag optional,
-		ContentInfo contentInfo optional,
-		XSD.NonNegativeInteger contentSize optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnySimpleType 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_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,
-		CseTypeID cseType optional,
-		XSD.ID cSE_ID optional,
-		ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type
-		PoaList pointOfAccess optional,
-		XSD.AnyURI nodeLink optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		E2eSecInfo e2eSecInfo optional,
-		SupportedReleaseVersions supportedReleaseVersions 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_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,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID source optional,
-		XSD.ID target optional,
-		Timestamp lifespan optional,
-		EventCat eventCat optional,
-		DeliveryMetaData deliveryMetaData optional,
-		AggregatedRequest aggregatedRequest 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 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";
-	};
-
-	type record Group_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,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		MemberType memberType optional,
-		XSD.NonNegativeInteger currentNrOfMembers optional,
-		XSD.PositiveInteger maxNrOfMembers optional,
-		record length(0 .. infinity) of XSD.AnyURI memberIDs optional,//TODO A list that can be empty
-		ListOfURIs membersAccessControlPolicyIDs optional,
-		XSD.Boolean memberTypeValidated optional,
-		ConsistencyStrategy consistencyStrategy optional,
-		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator 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 (semanticSupportIndicator) "text 'true' as '1'";
-	  //variant (semanticSupportIndicator) "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_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,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		MemberType memberType optional,
-		XSD.NonNegativeInteger currentNrOfMembers optional,
-		XSD.PositiveInteger maxNrOfMembers optional,
-		record of XSD.AnyURI memberIDs optional,
-		ListOfURIs membersAccessControlPolicyIDs optional,
-		XSD.Boolean memberTypeValidated optional,
-		ConsistencyStrategy consistencyStrategy optional,
-		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator 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 (semanticSupportIndicator) "text 'true' as '1'";
-	  //variant (semanticSupportIndicator) "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_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,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		LocationSource locationSource optional,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID 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 LocationPolicyAnnc_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,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		LocationSource locationSource optional,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID 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_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,
-		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 Node_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,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		NodeID nodeID optional,
-		XSD.ID hostedCSELink optional,
-		XSD.String mgmtClientAddress 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_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,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		NodeID nodeID optional,
-		XSD.ID hostedCSELink optional,
-		XSD.String mgmtClientAddress 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 PollingChannel_optional
-	{
-		ResourceName 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 RemoteCSE_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,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		CseTypeID cseType optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI cSEBase optional,
-		XSD.ID cSE_ID optional,
-		ExternalID m2M_Ext_ID optional,
-		TriggerRecipientID trigger_Recipient_ID optional,
-		XSD.Boolean requestReachability optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.UnsignedInt triggerReferenceNumber optional,
-		E2eSecInfo e2eSecInfo optional,
-		SupportedReleaseVersions supportedReleaseVersions 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_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,
-		XSD.AnyURI link optional,
-		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,
-		SupportedReleaseVersions supportedReleaseVersions 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 Request_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,
-		XSD.NonNegativeInteger stateTag optional,
-		Operation operation optional,
-		XSD.AnyURI target optional,
-		XSD.ID originator optional,
-		RequestID requestID optional,
-		MetaInformation metaInformation optional,
-		PrimitiveContent primitiveContent optional,
-		RequestStatus requestStatus optional,
-		OperationResult operationResult 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_optional
-	{
-		ResourceName 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";
-	};
-
-	type record ScheduleAnnc_optional
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		ScheduleEntries scheduleElement optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-
-	type record SemanticDescriptor_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,
-		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 {
-				Subscription_optional 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 SemanticDescriptorAnnc_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,
-		XSD.AnyURI link optional,
-		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 union {
-				Subscription_optional 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 ServiceSubscribedAppRule_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,
-		ListOfM2MID applicableCredIDs optional,
-		ListOfM2MID allowedApp_IDs optional,
-		ListOfM2MID allowedAEs optional,
-		record length(1 .. infinity) of RoleID allowedRole_IDs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription_optional subscription
-			} choice_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.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-
-	type record ServiceSubscribedNode_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,
-		NodeID nodeID optional,
-		XSD.ID cSE_ID optional,
-		record of DeviceID deviceIdentifier optional,
-		ListOfURIs ruleLinks optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription_optional subscription
-			} choice_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.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-
-	type record StatsCollect_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,
-		XSD.ID creator optional,
-		XSD.String statsCollectID optional,
-		XSD.ID collectingEntityID optional,
-		XSD.ID collectedEntityID optional,
-		StatsRuleStatusType statsRuleStatus optional,
-		StatModelType statModel optional,
-		ScheduleEntries collectPeriod optional,
-		XSD.String eventID optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription_optional 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 StatsConfig_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,
-		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_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,
-		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";
-	  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_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,
-		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.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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				TimeSeriesInstance_optional timeSeriesInstance,
-				Subscription_optional subscription,
-				SemanticDescriptor_optional 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_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,
-		XSD.AnyURI link optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.NonNegativeInteger currentNrOfInstances optional,
-		XSD.NonNegativeInteger currentByteSize optional,
-		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_optional timeSeriesInstance,
-				TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
-				Subscription_optional subscription,
-				SemanticDescriptor_optional semanticDescriptor,
-				SemanticDescriptorAnnc_optional 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 TimeSeriesInstance_optional
-	{
-		ResourceName 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,
-		AbsRelTimestamp dataGenerationTime optional,
-		XSD.AnySimpleType content optional,
-		XSD.NonNegativeInteger sequenceNr optional,
-		XSD.NonNegativeInteger contentSize  optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	};
-
-
-	type record TimeSeriesInstanceAnnc_optional
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		XSD.AnyURI link optional,
-		AbsRelTimestamp dataGenerationTime optional,
-		XSD.AnySimpleType content optional,
-		XSD.NonNegativeInteger sequenceNr optional,
-		XSD.NonNegativeInteger contentSize optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-		
-
-
-}//end group OptionalResourceTypes
-	
-	
-group InvalidTypes {
-		
-	type record AE_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for AE
-		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'";
-	};
-       
-	type record ACP_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for ACP
-		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 Container_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
-		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.Integer stateTag optional,
-		XSD.ID creator optional,
-		XSD.Integer maxNrOfInstances optional,
-		XSD.Integer maxByteSize optional,
-		XSD.Integer maxInstanceAge optional,
-		XSD.Integer currentNrOfInstances optional,
-		XSD.Integer 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 (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 Group_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Group
-		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.NonNegativeInteger currentNrOfMembers optional,
-		XSD.PositiveInteger maxNrOfMembers optional,
-		ListOfURIs memberIDs optional,
-		ListOfURIs membersAccessControlPolicyIDs optional,
-		XSD.Boolean memberTypeValidated optional,
-		ConsistencyStrategy consistencyStrategy optional,
-		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator 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 (semanticSupportIndicator) "text 'true' as '1'";
-	  //variant (semanticSupportIndicator) "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 PollingChannel_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for PollingChannel
-		Labels labels optional,
-		Timestamp expirationTime optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-       
-	type record Schedule_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Schedule
-		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";
-	};
-       
-	type record Subscription_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,//Invalid field, non existing for Subscription
-		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";
-	  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_update_invalid
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for TimeSeries
-		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.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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				TimeSeriesInstance_optional timeSeriesInstance,
-				Subscription_optional subscription,
-				SemanticDescriptor_optional 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 LocationPolicy_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for LocationPolicy
-		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,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID 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";
-	};
-       
-}//end group invalidTypes
-
-group OtherTypes {
-		
-	type enumerated Configurations {
-		e_cf01,
-		e_cf02,
-		e_cf02CseSimuMaster,
-		e_cf03,
-		e_cf04
-	};
-	
-	type enumerated TestSystemRole {
-		e_cse,
-		e_ae
-	};
-		
-	type NhURI ParentID;
-    	
-	type record MyResource {
-		integer parentIndex,
-		ResourceType resourceType,
-		PrimitiveContent resource
-	};
-		
-	type record of MyResource MyResourcesList;
-		
-	type record of integer IntegerList;
-		
-	type enumerated PrimitiveScope {
-		e_cseRelative,
-		e_spRelative, 
-		e_absolute
-	}
-		
-	type enumerated AddressingMethod {
-		e_nonHierarchical,
-		e_hierarchical
-	}
-		
-	type union Resource_2 {
-		//ResourceTypes
-		AEAnnc_optional aEAnnc,
-		AE_optional aE,
-		AccessControlPolicy_optional accessControlPolicy,
-		AccessControlPolicyAnnc_optional accessControlPolicyAnnc,
-		ContentInstance_optional contentInstance,
-		ContentInstanceAnnc_optional contentInstanceAnnc,
-		Container_optional container,
-		ContainerAnnc_optional containerAnnc,
-		CSEBase_optional cSEBase,
-		Group_optional group_,
-		GroupAnnc_optional groupAnnc,
-		LocationPolicy_optional locationPolicy,
-		LocationPolicyAnnc_optional locationPolicyAnnc,
-		MgmtResource_optional mgmtResource,//MgmtResource
-		AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
-		Node_optional node,
-		NodeAnnc_optional nodeAnnc,
-		PollingChannel_optional pollingChannel,
-		RemoteCSE_optional remoteCSE,
-		Schedule_optional schedule,
-		ScheduleAnnc_optional scheduleAnnc,
-		StatsConfig_optional statsConfig,
-		StatsCollect_optional statsCollect,
-		M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
-		ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
-		Subscription_optional subscription,
-		TimeSeries_optional timeSeries
-	}
-	with {
-		variant "untagged";
-	}		
-		
-	type record of ResourceType ResourceTypeList_1
-	with {
-		variant "name as uncapitalized";
-		variant "list";
-	};
-}
-}
-with {
-  encode "XML";
-  //variant "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-  //variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
-	extension "anytype Resource, URI, Notification, AggregatedNotification, AggregatedResponse, ServiceSubscribedAppRule_optional, charstring, AnyURI, AttributeList, AE, AccessControlPolicy, AccessControlPolicy_optional, AccessControlPolicyAnnc_optional, ACP_update_invalid, AE_optional, AE_update_invalid,AEAnnc_optional, Container_optional, ContainerAnnc_optional, ContentInstanceAnnc_optional, CSEBase_optional, Container_update_invalid, ContentInstance_optional, Group_optional, Group_update_invalid,  GroupAnnc_optional, LocationPolicyAnnc_optional, MgmtResource_optional, AnnouncedMgmtResource_optional, Node_optional, NodeAnnc_optional, Schedule_optional, ScheduleAnnc_optional,  Schedule_update_invalid, Subscription_optional, Subscription_update_invalid, PollingChannel_optional, PollingChannel_update_invalid, LocationPolicy_optional, LocationPolicy_update_invalid, SemanticDescriptor_optional, FlexContainerResource_optional, GenericInterworkingOperationInstance_optional"
-}
+/**
+ *  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     oneM2M
+ *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
+ *              $Id: OneM2M_Types.ttcn 356 2017-08-21 12:25:14Z reinaortega $
+ *  @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 optional,
+	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 optional,
+	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 optional,
+	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,
+	SupportedReleaseVersions supportedReleaseVersions,
+	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,
+	SupportedReleaseVersions supportedReleaseVersions,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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 optional,
+	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 optional,
+	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 optional,
+	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 optional,
+	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 optional,
+	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 optional,
+	MgmtDefinition mgmtDefinition,
+	ListOfURIs objectIDs optional,
+	ListOfURIs objectPaths optional,
+	XSD.String description optional,
+	XSD.PositiveInteger order,
+	EventCat defEcValue,
+	ListOfM2MID requestOrigin,
+	XSD.AnySimpleType requestContext optional,//FIXME Use AnySimpleType instead
+	XSD.Boolean requestContextNotification optional,
+	XSD.AnySimpleType requestCharacteristics optional//FIXME Use AnySimpleType instead
+}
+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 optional,
+	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 optional,
+	MgmtDefinition mgmtDefinition,
+	ListOfURIs objectIDs optional,
+	ListOfURIs objectPaths optional,
+	XSD.String description optional,
+	XSD.PositiveInteger order,
+	ListOfM2MID requestOrigin,
+	XSD.AnySimpleType requestContext,//FIXME Use AnySimpleType instead
+	XSD.Boolean requestContextNotification optional,
+	XSD.AnySimpleType requestCharacteristics,//FIXME Use AnySimpleType instead
+	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 optional,
+	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 optional,
+	MgmtDefinition mgmtDefinition,
+	ListOfURIs objectIDs optional,
+	ListOfURIs objectPaths optional,
+	XSD.String description optional,
+	ListOfM2MID targetNetwork,
+	XSD.NonNegativeInteger minReqVolume,
+	XSD.NonNegativeInteger spreadingWaitTime,
+	BackOffParameters backOffParameters,
+	XSD.AnySimpleType otherConditions,//FIXME Use AnySimpleType instead
+	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 optional,
+	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:dev:ops:[\dABCDEFabcdef]#6-[\w_%]#(1,)-[\w_%]#(1,))" & "|" &
+									"(urn:dev:os:[\dABCDEFabcdef]#6-[\w_%]#(1,))" & "|" &
+									"(urn:imei:\d#15)" & "|" &
+									"(urn:esn:[\dABCDEFabcdef]#8)" & "|" &
+									"(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))" & "|" & 
+							"((25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])(/([0-9]|[1-2][0-9]|3[0-2]))#(0,1))")
+with {
+  variant "name as uncapitalized";
+};
+
+
+type XSD.Token Ipv6 (pattern "([0-9A-Fa-f]#(1,4)(:[0-9A-Fa-f]#(1,4))#7(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+"(:(:[0-9A-Fa-f]#(1,4))#(1,7))" & "|" & //Double colon start
+"(([0-9A-Fa-f]#(1,4):)#(1,6)(:[0-9A-Fa-f]#(1,4))#1(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon middle
+"(([0-9A-Fa-f]#(1,4):)#(1,5)(:[0-9A-Fa-f]#(1,4))#(1,2)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+"(([0-9A-Fa-f]#(1,4):)#(1,4)(:[0-9A-Fa-f]#(1,4))#(1,3)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+"(([0-9A-Fa-f]#(1,4):)#(1,3)(:[0-9A-Fa-f]#(1,4))#(1,4)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+"(([0-9A-Fa-f]#(1,4):)#(1,2)(:[0-9A-Fa-f]#(1,4))#(1,5)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+"(([0-9A-Fa-f]#(1,4):)#1(:[0-9A-Fa-f]#(1,4))#(1,6)(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" &
+"(([0-9A-Fa-f]#(1,4):)#(1,7):(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))#(0,1))" & "|" & //Double colon end
+"(((:(:0#(1,4))#(0,3)(:(0#(1,4)|[fF]#4))#(0,1))|(0#(1,4):(:0#(1,4))#(0,2)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#2(:0#(1,4))#(0,1)(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#3(:(0#(1,4)|[fF]#4))#(0,1))|((0#(1,4):)#4(0#(1,4)|[fF]#4)#(0,1))):(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9])\.(25[0-5]|2[0-4][0-9]|[0-1]#(0,1)[0-9]#(0,1)[0-9]))" & "|" & //Embedded IPv4 addresses without CIDR suffix. Should IPv4 CIDR suffix be added
+"(::(/0)#(0,1))") //The unspecified address
+	
+with {
+  variant "name as uncapitalized";
+};
+
+
+type XSD.AnyURI PointOfAccess //TODO fixme (pattern "(http|HTTP|coap|COAP|mqtt|MQTT|ws|WS)(s|S)#(0,1)://[\w/!#$\^_.+\q{0, 0, 0, 38}&\-:;=]+")
+with {
+  variant "name as uncapitalized";
+};
+
+
+type record length(1 .. infinity) of PointOfAccess 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 //TODO To be fixed (pattern "([\w/!#$^_.#(1,)&\-]#(1,)(:[0-2])#(0,1))" & "|" &
+							//							"([\w/!#$^_.#(1,)&\-]#(1,)((:[0-2])#(0,1))#(1,)((:[0-5])#(0,1)))")
+	
+with {
+  variant "name as uncapitalized";
+};
+
+
+type union EventCat
+{
+	StdEventCats alt_,
+	XSD.Integer alt_1 (100 .. 999)
+}
+with {
+  variant "name as uncapitalized";
+  variant "useUnion";
+  variant (alt_) "name as ''";
+  variant (alt_1) "name as ''";
+};
+
+
+type union EventCatWithDef
+{
+	enumerated {
+		int0(0)
+	} alt_,
+	StdEventCats alt_1,
+	XSD.Integer alt_2 (100 .. 999)
+}
+with {
+  variant "name as uncapitalized";
+  variant "useUnion";
+  variant (alt_) "name as ''";
+  variant (alt_) "useNumber";
+  variant (alt_1) "name as ''";
+  variant (alt_2) "name as 'alt_1'";
+  variant (alt_2) "name as ''";
+};
+
+
+type record length(1 .. infinity) of EventCat ListOfEventCat
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
+
+
+type record length(1 .. infinity) of EventCatWithDef ListOfEventCatWithDef
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
+
+
+type XSD.String ScheduleEntry (pattern "(((([*]|(([1-5]#(0,1)\d)\-([1-5]#(0,1)\d)))(\/([1-5]#(0,1)\d))#(0,1)|([1-5]#(0,1)\d))\,)#(0,)((([*]|(([1-5]#(0,1)\d)\-([1-5]#(0,1)\d)))(\/([1-5]#(0,1)\d))#(0,1))|([1-5]#(0,1)\d))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,))#2((([*]|((1#(0,1)\d|2[0-3])\-(1#(0,1)\d|2[0-3])))(\/1#(0,1)\d|2[0-3])#(0,1)|(1#(0,1)\d|2[0-3]))\,)#(0,)((([*]|((1#(0,1)\d|2[0-3])\-(1#(0,1)\d|2[0-3])))(\/1#(0,1)\d|2[0-3])#(0,1))|(1#(0,1)\d|2[0-3]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([1-9]|1\d|2\d|3[01])\-([1-9]|1\d|2\d|3[01])))(\/[1-9]|1\d|2\d|3[01])#(0,1)|([1-9]|1\d|2\d|3[01]))\,)#(0,)((([*]|(([1-9]|1\d|2\d|3[01])\-([1-9]|1\d|2\d|3[01])))(\/[1-9]|1\d|2\d|3[01])#(0,1))|([1-9]|1\d|2\d|3[01]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([1-9]|1[0-2])\-([1-9]|1[0-2])))(\/[1-9]|1[0-2])#(0,1)|([1-9]|1[0-2]))\,)#(0,)((([*]|(([1-9]|1[0-2])\-([1-9]|1[0-2])))(\/[1-9]|1[0-2])#(0,1))|([1-9]|1[0-2]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([0-6])\-([0-6])))(\/[0-6])#(0,1)|([0-6]))\,)#(0,)((([*]|(([0-6])\-([0-6])))(\/[0-6])#(0,1))|([0-6]))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)((([*]|(([2-9]\d\d\d)\-([2-9]\d\d\d)))(\/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1)|([2-9]\d\d\d))\,)#(0,)((([*]|(([2-9]\d\d\d)\-([2-9]\d\d\d)))(\/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1))|([2-9]\d\d\d))")
+
+//"(([*]|[1-5]#(0,1)\d([,\-\/][1-5]#(0,1)\d)#(0,))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,))#2([*]|((1#(0,1)\d|2[0-3])([,\-\/](1#(0,1)\d|2[0-3]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|(([1-9]|1\d|2\d|3[01])([,\-\/]([1-9]|1\d|2\d|3[01]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|(([1-9]|1[0-2])([,\-\/]([1-9]|1[0-2]))#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*]|([0-6]([,\-\/][0-6])#(0,)))[\q{0,0,0,32}\q{0,0,0,10}\t\r]#(1,)([*](/\d#(0,1)\d#(0,1)\d#(0,1)\d)#(0,1))|(([2-9]\d\d\d)([,\-][2-9]\d\d\d[,]#(0,1))#(0,1)([/]\d#(0,1)\d#(0,1)\d#(0,1)\d[,]#(0,1))#(0,1))#(0,)")
+with {
+  variant "name as uncapitalized";
+};
+
+
+type record length(1 .. infinity) of XSD.AnyURI ListOfURIs
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
+
+
+type record length(1 .. infinity) of XSD.Duration ListOfDuration
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
+
+
+type record length(1 .. infinity) 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\-_=]#(0,)).([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.\-,_]#(0,))")
+with {
+  variant "name as uncapitalized";
+};
+
+
+type union LocationTargetID
+{
+	NodeID alt_,
+	ExternalID alt_1,
+	XSD.String alt_2 (pattern "([0-9]*)")
+}
+with {
+  variant "name as uncapitalized";
+  variant "useUnion";
+  variant (alt_) "name as ''";
+  variant (alt_1) "name as ''";
+  variant (alt_2) "name as ''";
+};
+
+
+type XSD.String ReleaseVersion (pattern "2a")
+with {
+  variant "name as uncapitalized";
+};
+
+
+type XSD.String ApplicableReleaseVersion (pattern "2a")
+with {
+  variant "name as uncapitalized";
+};
+
+
+type record length(1 .. infinity) of ApplicableReleaseVersion SupportedReleaseVersions
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
+
+
+type record DeliveryMetaData
+{
+	XSD.Boolean tracingOption,
+	ListOfM2MID tracingInfo optional
+}
+with {
+  variant "name as uncapitalized";
+  //variant (tracingOption) "text 'true' as '1'";
+  //variant (tracingOption) "text 'false' as '0'";
+};
+
+
+type record AggregatedRequest
+{
+	record length(1 .. infinity) of record {
+		Operation operation,
+		XSD.AnyURI to_,
+		XSD.ID from_,
+		RequestID requestIdentifier,
+		PrimitiveContent primitiveContent optional,
+		MetaInformation metaInformation optional
+	} request_list
+}
+with {
+  variant "name as uncapitalized";
+  variant (request_list) "untagged";
+  variant (request_list[-]) "name as 'request'";
+  variant (request_list[-].to_) "name as 'to'";
+  variant (request_list[-].from_) "name as 'from'";
+};
+
+
+type record MetaInformation
+{
+	ResourceType resourceType optional,
+	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 optional,
+	XSD.Boolean tokenRequestIndicator optional,
+	record length(1 .. infinity) of DynAuthJWT tokens optional,
+	record length(1 .. infinity) of TokenID tokenIDs optional,
+	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,
+	ReleaseVersion releaseVersionIndicator,
+	XSD.String vendorInformation optional
+}
+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";
+};
+
+
+
+
+//FIXME Use this type instead type record PrimitiveContent
+type union PrimitiveContent {
+	//TS-0004 - 7.5.2-1 & 7.5.2-2 Common elements to request/response content
+	//ResourceTypes
+	AEAnnc_optional aEAnnc,
+	AE_optional aE,
+	AccessControlPolicy_optional accessControlPolicy,
+	AccessControlPolicyAnnc_optional accessControlPolicyAnnc,
+	ContentInstance_optional contentInstance,
+	ContentInstanceAnnc_optional contentInstanceAnnc,
+	Container_optional container,
+	ContainerAnnc_optional containerAnnc,
+	Delivery_optional delivery,
+	FlexContainerResource_optional flexContainer,
+	CSEBase_optional cSEBase,
+	Group_optional group_,
+	GroupAnnc_optional groupAnnc,
+	LocationPolicy_optional locationPolicy,
+	LocationPolicyAnnc_optional locationPolicyAnnc,
+	MgmtResource_optional mgmtResource,//MgmtResource
+	MgmtCmd_optional mgmtCmd,
+	AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
+	Node_optional node,
+	NodeAnnc_optional nodeAnnc,
+	PollingChannel_optional pollingChannel,
+	Request_optional request, 
+	RemoteCSE_optional remoteCSE,
+	RemoteCSEAnnc_optional remoteCSEAnnc,
+	Schedule_optional schedule,
+	ScheduleAnnc_optional scheduleAnnc,
+	StatsConfig_optional statsConfig,
+	StatsCollect_optional statsCollect,
+	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+	ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+	Subscription_optional subscription,
+	SemanticDescriptor_optional semanticDescriptor,
+	TimeSeries_optional timeSeries,
+	TimeSeriesInstance_optional timeSeriesInstance,
+	TimeSeriesAnnc_optional timeSeriesAnnc,
+	TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
+	GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance,
+	//SecurityInfo
+	SecurityInfo securityInfo,
+	//TS-0004 - 7.5.2-1 Elements used for request content
+	Notification notification,
+	AggregatedNotification aggregatedNotification,
+	AttributeList attributeList,
+	ResponsePrimitive responsePrimitive,
+	//TS-0004 - 7.5.2-2 Elements used for response content
+	Resource resource,
+	URIList uRIList,
+	ResourceRefList resourceRefList,
+	AggregatedResponse aggregatedResponse,
+	URI uRI,
+	RequestPrimitive requestPrimitive,
+	DebugInfo debugInfo,
+	//Invalid types
+	AE_update_invalid aE_update_invalid,
+	ACP_update_invalid aCP_update_invalid,
+	Container_update_invalid container_update_invalid,
+	Group_update_invalid group_update_invalid,
+	PollingChannel_update_invalid pollingChannel_update_invalid,
+	Schedule_update_invalid schedule_update_invalid,
+	Subscription_update_invalid subscription_update_invalid,
+	LocationPolicy_update_invalid locationPolicy_update_invalid,
+	TimeSeries_update_invalid timeSeries_update_invalid
+}
+
+
+
+
+
+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.AnySimpleType value_//FIXME Use AnySimpleType instead
+}
+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.AnySimpleType value_//FIXME Use AnySimpleType instead
+}
+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,
+			record length(1 .. infinity) of Ipv6 ipv6Addresses 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 optional
+}
+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 optional,
+	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 optional
+}
+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 optional,
+	AbsRelTimestamp requestTimestamp optional,
+	XSD.AnyURI targetedResourceID optional,
+	AbsRelTimestamp proposedPrivilegesLifetime optional,
+	record length(1 .. infinity) of RoleID roleIDsFromACPs optional,
+	record length(1 .. infinity) of TokenID tokenIDs optional
+}
+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 optional
+}
+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 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
+}
+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 optional,
+	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 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,
+	XSD.NonNegativeInteger contentSize
+}
+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,
+	XSD.NonNegativeInteger contentSize
+}
+with {
+  variant "name as uncapitalized";
+  variant (resourceName) "attribute";
+};
+
+
+
+
+type union Sg_announceableSubordinateResource_group
+{
+	AnnounceableSubordinateResource sg_announceableSubordinateResource,
+	AccessControlPolicy accessControlPolicy,
+	ContentInstance contentInstance,
+	Schedule schedule,
+	TimeSeriesInstance timeSeriesInstance
+}
+with {
+  variant "untagged";
+  variant (sg_announceableSubordinateResource) "form as qualified";
+  variant (sg_announceableSubordinateResource) "abstract";
+};
+
+
+type union Sg_announcedSubordinateResource_group
+{
+	AnnouncedSubordinateResource sg_announcedSubordinateResource,
+	AccessControlPolicyAnnc accessControlPolicyAnnc,
+	ContentInstanceAnnc contentInstanceAnnc,
+	ScheduleAnnc scheduleAnnc,
+	TimeSeriesInstanceAnnc timeSeriesInstanceAnnc
+}
+with {
+  variant "untagged";
+  variant (sg_announcedSubordinateResource) "form as qualified";
+  variant (sg_announcedSubordinateResource) "abstract";
+};
+
+
+type union Sg_mgmtResource_group
+{
+	MgmtResource sg_mgmtResource,
+	ActiveCmdhPolicy activeCmdhPolicy,
+	AreaNwkDeviceInfo areaNwkDeviceInfo,
+	AreaNwkInfo areaNwkInfo,
+	Battery battery,
+	CmdhBuffer cmdhBuffer,
+	CmdhDefEcValue cmdhDefEcValue,
+	CmdhDefaults cmdhDefaults,
+	CmdhEcDefParamValues cmdhEcDefParamValues,
+	CmdhLimits cmdhLimits,
+	CmdhNetworkAccessRules cmdhNetworkAccessRules,
+	CmdhNwAccessRule cmdhNwAccessRule,
+	CmdhPolicy cmdhPolicy,
+	DeviceCapability deviceCapability,
+	DeviceInfo deviceInfo,
+	EventLog eventLog,
+	Firmware firmware,
+	Memory memory,
+	Reboot reboot,
+	Software software
+}
+with {
+  variant "untagged";
+  variant (sg_mgmtResource) "form as qualified";
+  variant (sg_mgmtResource) "abstract";
+};
+
+
+type union Sg_announceableResource_group
+{
+	AnnounceableResource sg_announceableResource,
+	AE aE,
+	Container container,
+	Group group_,
+	LocationPolicy locationPolicy,
+	Node node,
+	RemoteCSE remoteCSE,
+	SemanticDescriptor semanticDescriptor,
+	TimeSeries timeSeries,
+	TrafficPattern trafficPattern
+}
+with {
+  variant "untagged";
+  variant (sg_announceableResource) "form as qualified";
+  variant (sg_announceableResource) "abstract";
+  variant (aE) "name as capitalized";
+  variant (group_) "name as 'group'";
+};
+
+
+type union Sg_announcedResource_group
+{
+	AnnouncedResource sg_announcedResource,
+	AEAnnc aEAnnc,
+	ContainerAnnc containerAnnc,
+	GroupAnnc groupAnnc,
+	LocationPolicyAnnc locationPolicyAnnc,
+	NodeAnnc nodeAnnc,
+	RemoteCSEAnnc remoteCSEAnnc,
+	SemanticDescriptorAnnc semanticDescriptorAnnc,
+	TimeSeriesAnnc timeSeriesAnnc,
+	TrafficPatternAnnc trafficPatternAnnc
+}
+with {
+  variant "untagged";
+  variant (sg_announcedResource) "form as qualified";
+  variant (sg_announcedResource) "abstract";
+  variant (aEAnnc) "name as capitalized";
+};
+
+
+type union Sg_flexContainerResource_group
+{
+	FlexContainerResource sg_flexContainerResource,
+	AllJoynApp allJoynApp,
+	AllJoynInterface allJoynInterface,
+	AllJoynMethod allJoynMethod,
+	AllJoynMethodCall allJoynMethodCall,
+	AllJoynProperty allJoynProperty,
+	AllJoynSvcObject allJoynSvcObject,
+	GenericInterworkingOperationInstance genericInterworkingOperationInstance,
+	GenericInterworkingService genericInterworkingService,
+	SvcFwWrapper svcFwWrapper,
+	SvcObjWrapper svcObjWrapper
+}
+with {
+  variant "untagged";
+  variant (sg_flexContainerResource) "form as qualified";
+  variant (sg_flexContainerResource) "abstract";
+};
+
+
+type union Sg_announcedFlexContainerResource_group
+{
+	AnnouncedFlexContainerResource sg_announcedFlexContainerResource,
+	AllJoynAppAnnc allJoynAppAnnc,
+	AllJoynInterfaceAnnc allJoynInterfaceAnnc,
+	AllJoynMethodAnnc allJoynMethodAnnc,
+	AllJoynMethodCallAnnc allJoynMethodCallAnnc,
+	AllJoynPropertyAnnc allJoynPropertyAnnc,
+	AllJoynSvcObjectAnnc allJoynSvcObjectAnnc,
+	GenericInterworkingOperationInstanceAnnc genericInterworkingOperationInstanceAnnc,
+	GenericInterworkingServiceAnnc genericInterworkingServiceAnnc,
+	SvcFwWrapperAnnc svcFwWrapperAnnc,
+	SvcObjWrapperAnnc svcObjWrapperAnnc
+}
+with {
+  variant "untagged";
+  variant (sg_announcedFlexContainerResource) "form as qualified";
+  variant (sg_announcedFlexContainerResource) "abstract";
+};
+
+
+type union Sg_announcedMgmtResource_group
+{
+	AnnouncedMgmtResource sg_announcedMgmtResource,
+	AreaNwkDeviceInfoAnnc areaNwkDeviceInfoAnnc,
+	AreaNwkInfoAnnc areaNwkInfoAnnc,
+	BatteryAnnc batteryAnnc,
+	DeviceCapabilityAnnc deviceCapabilityAnnc,
+	DeviceInfoAnnc deviceInfoAnnc,
+	EventLogAnnc eventLogAnnc,
+	FirmwareAnnc firmwareAnnc,
+	MemoryAnnc memoryAnnc,
+	RebootAnnc rebootAnnc,
+	SoftwareAnnc softwareAnnc
+}
+with {
+  variant "untagged";
+  variant (sg_announcedMgmtResource) "form as qualified";
+  variant (sg_announcedMgmtResource) "abstract";
+};
+
+
+type union Sg_resource_group
+{
+	Resource sg_resource,
+	CSEBase cSEBase
+}
+with {
+  variant "untagged";
+  variant (sg_resource) "form as qualified";
+  variant (sg_resource) "abstract";
+  variant (cSEBase) "name as capitalized";
+};
+
+
+type union Sg_regularResource_group
+{
+	RegularResource sg_regularResource,
+	Delivery delivery,
+	DynamicAuthorizationConsultation dynamicAuthorizationConsultation,
+	EventConfig eventConfig,
+	ExecInstance execInstance,
+	M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+	MgmtCmd mgmtCmd,
+	NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
+	NotificationTargetPolicy notificationTargetPolicy,
+	PolicyDeletionRules policyDeletionRules,
+	Request request,
+	Role role,
+	ServiceSubscribedAppRule serviceSubscribedAppRule,
+	ServiceSubscribedNode serviceSubscribedNode,
+	StatsCollect statsCollect,
+	StatsConfig statsConfig,
+	Subscription subscription,
+	Token token
+}
+with {
+  variant "untagged";
+  variant (sg_regularResource) "form as qualified";
+  variant (sg_regularResource) "abstract";
+};
+
+
+type union Sg_subordinateResource_group
+{
+	SubordinateResource sg_subordinateResource,
+	PollingChannel pollingChannel
+}
+with {
+  variant "untagged";
+  variant (sg_subordinateResource) "form as qualified";
+  variant (sg_subordinateResource) "abstract";
+};
+
+
+type record Container
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime,
+	Timestamp lastModifiedTime,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+	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 optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	ContentInfo contentInfo optional,
+	XSD.NonNegativeInteger contentSize,
+	ContentRef contentRef optional,
+	XSD.AnyURI ontologyRef optional,
+	XSD.AnySimpleType content,//FIXME Use AnySimpleType instead
+	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.AnySimpleType content optional,//FIXME Use AnySimpleType instead
+	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,
+	ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type
+	PoaList pointOfAccess,
+	XSD.AnyURI nodeLink optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	E2eSecInfo e2eSecInfo optional,
+	SupportedReleaseVersions supportedReleaseVersions,
+	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,
+			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 optional,
+	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 optional,
+	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 enumerated CseTypeID
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated LocationSource
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated StdEventCats
+{
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated Operation
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated ResponseType
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	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),
+	int9(9)
+}
+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),
+	int1001(1001),
+	int1002(1002),
+	int2000(2000),
+	int2001(2001),
+	int2002(2002),
+	int2004(2004),
+	int4000(4000),
+	int4001(4001),
+	int4004(4004),
+	int4005(4005),
+	int4008(4008),
+	int4015(4015),
+	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),
+	int4116(4116),
+	int4117(4117),
+	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),
+	int6020(6020),
+	int6021(6021),
+	int6022(6022),
+	int6023(6023),
+	int6024(6024),
+	int6025(6025),
+	int6026(6026),
+	int6028(6028),
+	int6029(6029)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated RequestStatus
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+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 enumerated ConsistencyStrategy
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated CmdType
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated ExecModeType
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated ExecStatusType
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated ExecResultType
+{
+	int0(0),
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8),
+	int9(9),
+	int10(10),
+	int11(11),
+	int12(12),
+	int13(13),
+	int14(14),
+	int15(15),
+	int16(16),
+	int19(19),
+	int20(20),
+	int21(21),
+	int22(22),
+	int23(23),
+	int24(24),
+	int25(25),
+	int26(26),
+	int27(27),
+	int28(28),
+	int29(29),
+	int30(30),
+	int31(31)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated PendingNotification
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated NotificationContentType
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated NotificationEventType
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated Status
+{
+	int0(0),
+	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),
+	int1020(1020),
+	int1021(1021),
+	int1022(1022),
+	int1023(1023),
+	int1024(1024),
+	int1025(1025),
+	int1026(1026)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated LogTypeId
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated LogStatus
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EventType
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated StatsRuleStatusType
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated StatModelType
+{
+	int1(1)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EncodingType
+{
+	int0(0),
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+
+
+type enumerated AccessControlOperations
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8),
+	int9(9),
+	int10(10),
+	int11(11),
+	int12(12),
+	int13(13),
+	int14(14),
+	int15(15),
+	int16(16),
+	int17(17),
+	int18(18),
+	int19(19),
+	int20(20),
+	int21(21),
+	int22(22),
+	int23(23),
+	int24(24),
+	int25(25),
+	int26(26),
+	int27(27),
+	int28(28),
+	int29(29),
+	int30(30),
+	int31(31),
+	int32(32),
+	int33(33),
+	int34(34),
+	int35(35),
+	int36(36),
+	int37(37),
+	int38(38),
+	int39(39),
+	int40(40),
+	int41(41),
+	int42(42),
+	int43(43),
+	int44(44),
+	int45(45),
+	int46(46),
+	int47(47),
+	int48(48),
+	int49(49),
+	int50(50),
+	int51(51),
+	int52(52),
+	int53(53),
+	int54(54),
+	int55(55),
+	int56(56),
+	int57(57),
+	int58(58),
+	int59(59),
+	int60(60),
+	int61(61),
+	int62(62),
+	int63(63)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated FilterUsage
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated NotificationTargetPolicyAction
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated LogicalOperator
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+
+
+type enumerated AllJoynDirection
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated ContentFilterSyntax
+{
+	int1(1)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type 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 enumerated EsprimKeyGenAlgID
+{
+	int1(1)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EsprimProtocolAndAlgID
+{
+	int10(10),
+	int11(11),
+	int12(12)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated PeriodicIndicator
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated StationaryIndication
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type 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 enumerated LocationInformationType
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated GeofenceEventCriteria
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+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 optional,
+	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 optional,
+	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 optional,
+	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.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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.NonNegativeInteger contentSize,
+	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 optional,
+	XSD.ID creator optional,
+	MemberType memberType,
+	XSD.NonNegativeInteger currentNrOfMembers,
+	XSD.PositiveInteger maxNrOfMembers,
+	record of XSD.AnyURI memberIDs,
+	ListOfURIs membersAccessControlPolicyIDs optional,
+	XSD.Boolean memberTypeValidated optional,
+	ConsistencyStrategy consistencyStrategy optional,
+	XSD.String groupName optional,
+	XSD.Boolean semanticSupportIndicator optional,
+	BatchNotify notifyAggregation 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 (memberIDs) "list";
+  //variant (memberTypeValidated) "text 'true' as '1'";
+  //variant (memberTypeValidated) "text 'false' as '0'";
+  //variant (semanticSupportIndicator) "text 'true' as '1'";
+  //variant (semanticSupportIndicator) "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 optional,
+	ListOfURIs membersAccessControlPolicyIDs optional,
+	XSD.Boolean memberTypeValidated optional,
+	ConsistencyStrategy consistencyStrategy optional,
+	XSD.String groupName optional,
+	XSD.Boolean semanticSupportIndicator optional,
+	BatchNotify notifyAggregation 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 (semanticSupportIndicator) "text 'true' as '1'";
+  //variant (semanticSupportIndicator) "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 optional,
+	LocationSource locationSource,
+	LocationInformationType locationInformationType,
+	ListOfDuration locationUpdatePeriod optional,
+	LocationTargetID locationTargetID optional,
+	XSD.AnyURI locationServer optional,
+	XSD.AnyURI locationContainerID,
+	XSD.String locationContainerName optional,
+	XSD.String locationStatus,
+	XSD.AnySimpleType geographicalTargetArea optional,//FIXME Use AnySimpleType instead
+	GeofenceEventCriteria geofenceEventCriteria 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 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,
+	LocationInformationType locationInformationType optional,
+	ListOfDuration locationUpdatePeriod optional,
+	LocationTargetID locationTargetID optional,
+	XSD.AnyURI locationServer optional,
+	XSD.AnyURI locationContainerID optional,
+	XSD.String locationContainerName optional,
+	XSD.String locationStatus optional,
+	XSD.AnySimpleType geographicalTargetArea optional,//FIXME Use AnySimpleType instead
+	GeofenceEventCriteria geofenceEventCriteria 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 optional,
+	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 optional,
+	NodeID nodeID,
+	XSD.ID hostedCSELink optional,
+	XSD.String mgmtClientAddress 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,
+	XSD.String mgmtClientAddress 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 AggregatedNotification_1 AggregatedNotification
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AggregatedNotification_1
+{
+	record of Notification notification_list
+}
+with {
+  variant "name as 'aggregatedNotification'";
+  variant (notification_list) "untagged";
+  variant (notification_list[-]) "name as 'notification'";
+};
+
+type record Notification_1
+{
+	record {
+		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,
+	XSD.ID notificationTarget optional,
+	XSD.Boolean targetRemovalRequest optional,
+	XSD.Boolean targetRemovalAllowance 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 (targetRemovalRequest) "text 'true' as '1'";
+  //variant (targetRemovalRequest) "text 'false' as '0'";
+  //variant (targetRemovalAllowance) "text 'true' as '1'";
+  //variant (targetRemovalAllowance) "text 'false' as '0'";
+  variant (iPEDiscoveryRequest) "name as capitalized";
+};
+
+
+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 optional
+}
+with {
+  variant "name as uncapitalized";
+  variant (tokens) "list";
+};
+
+
+//FIXME To replace Representation type by this
+type union Representation {
+	Resource_2 resource, 
+	XSD.AnyURI uRI
+}
+with {
+	variant "name as 'representation'";
+	variant (uRI) "name as capitalized";
+ };
+  
+//type record Representation
+//{
+//	union {
+//		XSD.String elem,
+//		XSD.String elem_1
+//	} choice optional
+//}
+//with {
+//  variant "name as uncapitalized";
+//  variant (choice) "untagged";
+//  variant (choice.elem) "anyElement from 'http://www.onem2m.org/xml/protocols'";
+//  variant (choice.elem_1) "name as 'elem'";
+//  variant (choice.elem_1) "anyElement except unqualified, 'http://www.onem2m.org/xml/protocols'";
+//};
+
+
+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 SubordinateResource PollingChannel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+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 optional,
+	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 optional,
+	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,
+	XSD.UnsignedInt triggerReferenceNumber optional,
+	E2eSecInfo e2eSecInfo optional,
+	SupportedReleaseVersions supportedReleaseVersions,
+	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,
+	SupportedReleaseVersions supportedReleaseVersions,
+	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,
+	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,
+	record length(1 .. infinity) of TokenID tokenIDs optional,
+	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,
+	XSD.Boolean tokenRequestIndicator optional,
+	ReleaseVersion releaseVersionIndicator,
+	XSD.String vendorInformation 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 optional,
+	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,
+	ReleaseVersion releaseVersionIndicator,
+	XSD.String vendorInformation optional
+}
+with {
+  variant "name as uncapitalized";
+  variant "element";
+  variant (to_) "name as 'to'";
+  variant (from_) "name as 'from'";
+};
+
+
+type ResourceWrapper Resource
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record length(0 .. infinity) of XSD.AnyURI URIList //TODO Allow URIList to be empty as defined in PRO
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
+
+
+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 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
+//	} 
+	Resource_2 choice,//TODO Use Resource_2 type instead 
+	XSD.AnyURI uRI
+}
+with {
+  variant "name as uncapitalized";
+  variant (choice) "untagged";
+  variant (uRI) "name as capitalized";
+};
+
+
+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 length(1 .. infinity) of ChildResourceRef resourceRef_list
+}
+with {
+  variant "name as uncapitalized";
+  variant (resourceRef_list) "untagged";
+  variant (resourceRef_list[-]) "name as 'resourceRef'";
+};
+
+
+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 optional,
+	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 optional,
+	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 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 (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 optional,
+	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 optional,
+	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,
+	ListOfM2MID 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 optional,
+	XSD.Duration duration optional
+}
+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,
+	XSD.NonNegativeInteger contentSize,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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,
+	XSD.NonNegativeInteger contentSize,
+	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 optional,
+	AbsRelTimestamp dataGenerationTime,
+	XSD.AnySimpleType content,//FIXME Use AnySimpleType instead
+	XSD.NonNegativeInteger sequenceNr optional,
+	XSD.NonNegativeInteger contentSize
+}
+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,//FIXME Use AnySimpleType instead
+	XSD.NonNegativeInteger sequenceNr optional,
+	XSD.NonNegativeInteger contentSize 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 optional,
+	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,
+	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.NonNegativeInteger missingDataMaxNr 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 (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,
+	TokenPermissions 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 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,
+	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'";
+};
+
+
+/* ******************************************
+ * 		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 {
+		encode ""
+	}
+	
+	/**
+	 * @desc Type for the oneM2M primitives exchange
+	 * @member primitive oneM2M primitive
+	 */
+	type record MsgIn {
+		union {
+			RequestPrimitive requestPrimitive,
+			ResponsePrimitive responsePrimitive
+		} primitive, 
+		AttributeList_1 nullFields optional
+	}
+	with {
+		encode ""
+	}
+	
+	type record AcRequestPrimitive {
+		charstring event,
+		anytype data
+	}
+	with {
+		encode "adapter";
+	}
+	
+	type record AcResponsePrimitive {
+		charstring event,
+		anytype data
+	}
+	with {
+		encode "adapter";
+	}
+	
+	type record UtTriggerPrimitive {
+		RequestPrimitive requestPrimitive, 
+		AttributeAux_list forcedFields optional
+	}
+	with {
+		encode "UpperTester"
+	}
+		
+	type ResponsePrimitive UtTriggerAckPrimitive
+	with {			
+		encode "UpperTester"
+	}
+	
+	type record AttributeAux {
+		XSD.NCName name,
+		charstring value_ optional
+	};
+	
+	type record of AttributeAux AttributeAux_list;
+
+/* **********************************
+* 		oneM2M Resource primitives
+* ***********************************	
+*/
+
+
+
+/* Additional types */
+
+group OptionalResourceTypes {
+	
+	type record AccessControlPolicy_optional
+	{
+		ResourceName 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 AccessControlPolicyAnnc_optional
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link 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 (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 AE_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,
+		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,
+		SupportedReleaseVersions supportedReleaseVersions 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_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,
+		XSD.AnyURI link optional,
+		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,
+		SupportedReleaseVersions supportedReleaseVersions 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 MgmtCmd_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,
+		XSD.String description optional,
+		CmdType cmdType optional,
+		ExecReqArgsListType execReqArgs optional,
+		XSD.Boolean execEnable optional,
+		NodeID execTarget optional,
+		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 optional
+	}
+	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 MgmtResource_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,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		MgmtDefinition mgmtDefinition optional,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+	type record AnnouncedMgmtResource_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,
+		XSD.AnyURI link optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		MgmtDefinition mgmtDefinition optional,
+		ListOfURIs objectIDs optional,
+		ListOfURIs objectPaths optional,
+		XSD.String description optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
+
+	type record FlexContainerResource_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.NonNegativeInteger contentSize optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
+
+	type record AnnouncedFlexContainerResource_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,
+		XSD.AnyURI link optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.AnyURI containerDefinition optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.NonNegativeInteger contentSize optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant (resourceName) "attribute";
+	};
+
+	type record Container_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,
+		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 (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_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,
+		XSD.AnyURI link optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag 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,
+				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_optional
+	{
+		ResourceName 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.AnySimpleType 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";
+	  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_optional
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link optional,
+		XSD.NonNegativeInteger stateTag optional,
+		ContentInfo contentInfo optional,
+		XSD.NonNegativeInteger contentSize optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnySimpleType 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_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,
+		CseTypeID cseType optional,
+		XSD.ID cSE_ID optional,
+		ResourceTypeList_1 supportedResourceType optional,//TODO Remove inline type
+		PoaList pointOfAccess optional,
+		XSD.AnyURI nodeLink optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		E2eSecInfo e2eSecInfo optional,
+		SupportedReleaseVersions supportedReleaseVersions 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_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,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.ID source optional,
+		XSD.ID target optional,
+		Timestamp lifespan optional,
+		EventCat eventCat optional,
+		DeliveryMetaData deliveryMetaData optional,
+		AggregatedRequest aggregatedRequest 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 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.NonNegativeInteger contentSize 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";
+	};
+
+	type record Group_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,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		XSD.ID creator optional,
+		MemberType memberType optional,
+		XSD.NonNegativeInteger currentNrOfMembers optional,
+		XSD.PositiveInteger maxNrOfMembers optional,
+		record length(0 .. infinity) of XSD.AnyURI memberIDs optional,//TODO A list that can be empty
+		ListOfURIs membersAccessControlPolicyIDs optional,
+		XSD.Boolean memberTypeValidated optional,
+		ConsistencyStrategy consistencyStrategy optional,
+		XSD.String groupName optional,
+		XSD.Boolean semanticSupportIndicator optional,
+		BatchNotify notifyAggregation 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 (semanticSupportIndicator) "text 'true' as '1'";
+	  //variant (semanticSupportIndicator) "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_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,
+		XSD.AnyURI link optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		MemberType memberType optional,
+		XSD.NonNegativeInteger currentNrOfMembers optional,
+		XSD.PositiveInteger maxNrOfMembers optional,
+		record of XSD.AnyURI memberIDs optional,
+		ListOfURIs membersAccessControlPolicyIDs optional,
+		XSD.Boolean memberTypeValidated optional,
+		ConsistencyStrategy consistencyStrategy optional,
+		XSD.String groupName optional,
+		XSD.Boolean semanticSupportIndicator optional,
+		BatchNotify notifyAggregation 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 (semanticSupportIndicator) "text 'true' as '1'";
+	  //variant (semanticSupportIndicator) "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_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,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		LocationSource locationSource optional,
+		LocationInformationType locationInformationType optional,
+		ListOfDuration locationUpdatePeriod optional,
+		LocationTargetID locationTargetID optional,
+		XSD.AnyURI locationServer optional,
+		XSD.AnyURI locationContainerID optional,
+		XSD.String locationContainerName optional,
+		XSD.String locationStatus optional,
+		XSD.AnySimpleType geographicalTargetArea optional,//FIXME Use AnySimpleType instead
+		GeofenceEventCriteria geofenceEventCriteria 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 LocationPolicyAnnc_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,
+		XSD.AnyURI link optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		LocationSource locationSource optional,
+		LocationInformationType locationInformationType optional,
+		ListOfDuration locationUpdatePeriod optional,
+		LocationTargetID locationTargetID optional,
+		XSD.AnyURI locationServer optional,
+		XSD.AnyURI locationContainerID optional,
+		XSD.String locationContainerName optional,
+		XSD.String locationStatus optional,
+		XSD.AnySimpleType geographicalTargetArea optional,//FIXME Use AnySimpleType instead
+		GeofenceEventCriteria geofenceEventCriteria optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+
+	type record M2mServiceSubscriptionProfile_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,
+		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 Node_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,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		NodeID nodeID optional,
+		XSD.ID hostedCSELink optional,
+		XSD.String mgmtClientAddress 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_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,
+		XSD.AnyURI link optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		NodeID nodeID optional,
+		XSD.ID hostedCSELink optional,
+		XSD.String mgmtClientAddress 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 PollingChannel_optional
+	{
+		ResourceName 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 RemoteCSE_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,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		CseTypeID cseType optional,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI cSEBase optional,
+		XSD.ID cSE_ID optional,
+		ExternalID m2M_Ext_ID optional,
+		TriggerRecipientID trigger_Recipient_ID optional,
+		XSD.Boolean requestReachability optional,
+		XSD.AnyURI nodeLink optional,
+		XSD.UnsignedInt triggerReferenceNumber optional,
+		E2eSecInfo e2eSecInfo optional,
+		SupportedReleaseVersions supportedReleaseVersions 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_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,
+		XSD.AnyURI link optional,
+		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,
+		SupportedReleaseVersions supportedReleaseVersions 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 Request_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,
+		XSD.NonNegativeInteger stateTag optional,
+		Operation operation optional,
+		XSD.AnyURI target optional,
+		XSD.ID originator optional,
+		RequestID requestID optional,
+		MetaInformation metaInformation optional,
+		PrimitiveContent primitiveContent optional,
+		RequestStatus requestStatus optional,
+		OperationResult operationResult 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_optional
+	{
+		ResourceName 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";
+	};
+
+	type record ScheduleAnnc_optional
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link optional,
+		ScheduleEntries scheduleElement optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+
+	type record SemanticDescriptor_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,
+		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 {
+				Subscription_optional 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 SemanticDescriptorAnnc_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,
+		XSD.AnyURI link optional,
+		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 union {
+				Subscription_optional 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 ServiceSubscribedAppRule_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,
+		ListOfM2MID applicableCredIDs optional,
+		ListOfM2MID allowedApp_IDs optional,
+		ListOfM2MID allowedAEs optional,
+		record length(1 .. infinity) of RoleID allowedRole_IDs optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription_optional subscription
+			} choice_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.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+	type record ServiceSubscribedNode_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,
+		NodeID nodeID optional,
+		XSD.ID cSE_ID optional,
+		record of DeviceID deviceIdentifier optional,
+		ListOfURIs ruleLinks optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription_optional subscription
+			} choice_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.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+	type record StatsCollect_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,
+		XSD.ID creator optional,
+		XSD.String statsCollectID optional,
+		XSD.ID collectingEntityID optional,
+		ListOfM2MID collectedEntityID optional,
+		StatsRuleStatusType statsRuleStatus optional,
+		StatModelType statModel optional,
+		ScheduleEntries collectPeriod optional,
+		XSD.String eventID optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription_optional 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 StatsConfig_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,
+		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_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,
+		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";
+	  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_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,
+		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.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,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				TimeSeriesInstance_optional timeSeriesInstance,
+				Subscription_optional subscription,
+				SemanticDescriptor_optional 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_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,
+		XSD.AnyURI link optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.NonNegativeInteger maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances optional,
+		XSD.NonNegativeInteger currentByteSize optional,
+		XSD.NonNegativeInteger periodicInterval optional,
+		XSD.NonNegativeInteger missingDataMaxNr 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_optional timeSeriesInstance,
+				TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
+				Subscription_optional subscription,
+				SemanticDescriptor_optional semanticDescriptor,
+				SemanticDescriptorAnnc_optional 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 TimeSeriesInstance_optional
+	{
+		ResourceName 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,
+		AbsRelTimestamp dataGenerationTime optional,
+		XSD.AnySimpleType content optional,
+		XSD.NonNegativeInteger sequenceNr optional,
+		XSD.NonNegativeInteger contentSize  optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	};
+
+
+	type record TimeSeriesInstanceAnnc_optional
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		Timestamp expirationTime optional,
+		XSD.AnyURI link optional,
+		AbsRelTimestamp dataGenerationTime optional,
+		XSD.AnySimpleType content optional,
+		XSD.NonNegativeInteger sequenceNr optional,
+		XSD.NonNegativeInteger contentSize optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+		
+
+
+}//end group OptionalResourceTypes
+	
+	
+group InvalidTypes {
+		
+	type record AE_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for AE
+		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'";
+	};
+       
+	type record ACP_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for ACP
+		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 Container_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
+		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.Integer stateTag optional,
+		XSD.ID creator optional,
+		XSD.Integer maxNrOfInstances optional,
+		XSD.Integer maxByteSize optional,
+		XSD.Integer maxInstanceAge optional,
+		XSD.Integer currentNrOfInstances optional,
+		XSD.Integer 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 (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 Group_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Group
+		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.NonNegativeInteger currentNrOfMembers optional,
+		XSD.PositiveInteger maxNrOfMembers optional,
+		ListOfURIs memberIDs optional,
+		ListOfURIs membersAccessControlPolicyIDs optional,
+		XSD.Boolean memberTypeValidated optional,
+		ConsistencyStrategy consistencyStrategy optional,
+		XSD.String groupName optional,
+		XSD.Boolean semanticSupportIndicator 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 (semanticSupportIndicator) "text 'true' as '1'";
+	  //variant (semanticSupportIndicator) "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 PollingChannel_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for PollingChannel
+		Labels labels optional,
+		Timestamp expirationTime optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+       
+	type record Schedule_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Schedule
+		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";
+	};
+       
+	type record Subscription_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.NonNegativeInteger maxNrOfInstances optional,//Invalid field, non existing for Subscription
+		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";
+	  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_update_invalid
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for TimeSeries
+		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.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,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				TimeSeriesInstance_optional timeSeriesInstance,
+				Subscription_optional subscription,
+				SemanticDescriptor_optional 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 LocationPolicy_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for LocationPolicy
+		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,
+		ListOfDuration locationUpdatePeriod optional,
+		LocationTargetID 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";
+	};
+       
+}//end group invalidTypes
+
+group OtherTypes {
+		
+	type enumerated Configurations {
+		e_cf01,
+		e_cf02,
+		e_cf02CseSimuMaster,
+		e_cf03,
+		e_cf04
+	};
+	
+	type enumerated TestSystemRole {
+		e_cse,
+		e_ae
+	};
+		
+	type NhURI ParentID;
+    	
+	type record MyResource {
+		integer parentIndex,
+		ResourceType resourceType,
+		PrimitiveContent resource
+	};
+		
+	type record of MyResource MyResourcesList;
+		
+	type record of integer IntegerList;
+		
+	type enumerated PrimitiveScope {
+		e_cseRelative,
+		e_spRelative, 
+		e_absolute
+	}
+		
+	type enumerated AddressingMethod {
+		e_nonHierarchical,
+		e_hierarchical
+	}
+		
+	type union Resource_2 {
+		//ResourceTypes
+		AEAnnc_optional aEAnnc,
+		AE_optional aE,
+		AccessControlPolicy_optional accessControlPolicy,
+		AccessControlPolicyAnnc_optional accessControlPolicyAnnc,
+		ContentInstance_optional contentInstance,
+		ContentInstanceAnnc_optional contentInstanceAnnc,
+		Container_optional container,
+		ContainerAnnc_optional containerAnnc,
+		CSEBase_optional cSEBase,
+		Group_optional group_,
+		GroupAnnc_optional groupAnnc,
+		LocationPolicy_optional locationPolicy,
+		LocationPolicyAnnc_optional locationPolicyAnnc,
+		MgmtResource_optional mgmtResource,//MgmtResource
+		AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
+		Node_optional node,
+		NodeAnnc_optional nodeAnnc,
+		PollingChannel_optional pollingChannel,
+		RemoteCSE_optional remoteCSE,
+		Schedule_optional schedule,
+		ScheduleAnnc_optional scheduleAnnc,
+		StatsConfig_optional statsConfig,
+		StatsCollect_optional statsCollect,
+		M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+		ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+		Subscription_optional subscription,
+		TimeSeries_optional timeSeries
+	}
+	with {
+		variant "untagged";
+	}		
+		
+	type record of ResourceType ResourceTypeList_1
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
+}
+}
+with {
+  encode "XML";
+  //variant "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+  //variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
+	extension "anytype Resource, URI, Notification, AggregatedNotification, AggregatedResponse, ServiceSubscribedAppRule_optional, charstring, AnyURI, AttributeList, AE, AccessControlPolicy, AccessControlPolicy_optional, AccessControlPolicyAnnc_optional, ACP_update_invalid, AE_optional, AE_update_invalid,AEAnnc_optional, Container_optional, ContainerAnnc_optional, ContentInstanceAnnc_optional, CSEBase_optional, Container_update_invalid, ContentInstance_optional, Group_optional, Group_update_invalid,  GroupAnnc_optional, LocationPolicyAnnc_optional, MgmtResource_optional, AnnouncedMgmtResource_optional, Node_optional, NodeAnnc_optional, Schedule_optional, ScheduleAnnc_optional,  Schedule_update_invalid, Subscription_optional, Subscription_update_invalid, PollingChannel_optional, PollingChannel_update_invalid, LocationPolicy_optional, LocationPolicy_update_invalid, SemanticDescriptor_optional, FlexContainerResource_optional, GenericInterworkingOperationInstance_optional"
+}
+
-- 
GitLab