From 398350e03ce222fa40736fc74be026edd7611724 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Fri, 2 Jun 2017 16:25:42 +0200
Subject: [PATCH] Alignment of "optional" resource attributes types to the
 original resource attribute types

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Templates.ttcn |   27 +-
 LibOneM2M/OneM2M_Types.ttcn     | 1914 ++++++++++++++++---------------
 OneM2M_Testcases.ttcn           |   14 +-
 3 files changed, 1000 insertions(+), 955 deletions(-)

diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 98add3e..2ccde6f 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
- *              $Id: OneM2M_Templates.ttcn 296 2017-06-02 13:16:50Z reinaortega $
+ *              $Id: OneM2M_Templates.ttcn 297 2017-06-02 14:21:45Z reinaortega $
  *  @desc       Module containing templates for oneM2M
  *
  */
@@ -585,7 +585,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createMgmtObjBase modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createMgmtObj" & f_rnd(1, 1000000),
 				resourceType := int13,
-				primitiveContent := {mgmtObj_optional := m_contentCreateMgmtObj (-,-)}
+				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtObj (-,-)}
 			};
         	
 			/**
@@ -594,7 +594,7 @@ module OneM2M_Templates {
 			template (value) RequestPrimitive m_createMgmtObj modifies m_create := {
 				requestIdentifier := testcasename() & "-m_createMgmtObj" & f_rnd(1, 1000000),
 				resourceType := int13,
-				primitiveContent := {mgmtObj_optional := m_contentCreateMgmtObj (-, -)}
+				primitiveContent := {mgmtResource_optional := m_contentCreateMgmtObj (-, -)}
 			};
         	
 			/**
@@ -602,7 +602,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createMgmtObjAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10013,
-				primitiveContent := {mgmtObjAnnc_optional := ?}
+				primitiveContent := {announcedMgmtResource_optional := ?}
 			};  
 			
 			/**
@@ -610,7 +610,7 @@ module OneM2M_Templates {
 			 */
 			template RequestPrimitive mw_createMgmtObjAnncBase(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
 				resourceType := int10013,
-				primitiveContent := {mgmtObjAnnc_optional := mw_contentCreateMgmtObjAnncBase}
+				primitiveContent := {announcedMgmtResource_optional := mw_contentCreateMgmtObjAnncBase}
 			};  
 			
 			/**
@@ -1073,6 +1073,7 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//NP
 			consistencyStrategy := p_consistencyStrategy,//O
 			groupName := omit,//O
+			semanticSupportIndicator := omit,//O
 			choice := omit//NP
     	};  
     	
@@ -1099,6 +1100,7 @@ module OneM2M_Templates {
 			  memberTypeValidated := *, //OA
 			  consistencyStrategy := *, //OA
 			  groupName := *, //OA
+			  semanticSupportIndicator := *,//OA
 			  choice := omit //NA
 		  };
     	
@@ -1107,7 +1109,7 @@ module OneM2M_Templates {
 		 * @param p_name Resource name
 		 * @param p_accessControlPolicyIds ACP IDs for the AE
 		 */
-		template (value) MgmtObj_optional m_contentCreateMgmtObj (in template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit)  XSD.String p_name := c_defaultMgmtObjResourceName) := {
+		template (value) MgmtResource_optional m_contentCreateMgmtObj (in template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit)  XSD.String p_name := c_defaultMgmtObjResourceName) := {
 			
 			resourceName := p_name,//O
 			resourceType := omit,//NP
@@ -1130,7 +1132,7 @@ module OneM2M_Templates {
 		/**
 		 * @desc Base reception template of primitiveContent for CREATE operation for MgmtObjAnnc resource
 		 */
-		template MgmtObjAnnc_optional mw_contentCreateMgmtObjAnncBase := {
+		template AnnouncedMgmtResource_optional mw_contentCreateMgmtObjAnncBase := {
 			resourceName := omit,//NA M
 			resourceType := omit,//NA M
 			resourceID := omit,//NA M
@@ -1169,6 +1171,7 @@ module OneM2M_Templates {
 			announcedAttribute := omit,//O
 			nodeID := p_nodeId,//M
 			hostedCSELink := omit,//O
+			mgmtClientAddress := omit,//O
 			choice := omit//O
 		};	  	
 		
@@ -1240,6 +1243,7 @@ module OneM2M_Templates {
 			applicableCredIDs := p_applicableCredIDs,//O
 			allowedApp_IDs := p_allowedAppIDs,//O
 			allowedAEs := p_allowedAEs,//O
+			allowedRole_IDs := omit,//O
 			choice := omit //O
 		}
     	
@@ -1439,7 +1443,7 @@ module OneM2M_Templates {
     	  	announceTo 				:= omit, 				   //O
     	  	announcedAttribute		:= omit, 			      //O
     		locationSource 			:= p_locationSource, //M
-    		locationUpdatePeriod 		:= p_locationUpdatePeriod, //O
+    		locationUpdatePeriod 		:= {p_locationUpdatePeriod}, //O
     		locationTargetID 			:= p_locationTargetID, 	//O
     		locationServer 			:= p_locationServerAddress,//O
     		locationContainerID		:= omit,    		   //NP
@@ -1607,6 +1611,7 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//NP
 			consistencyStrategy := omit,//NP
 			groupName := omit,//O
+			semanticSupportIndicator := omit,//O
 			choice := omit//NP
 
 		};
@@ -1742,7 +1747,7 @@ module OneM2M_Templates {
     	  	announceTo 				:= omit,//O
     	  	announcedAttribute		:= omit,//O
     		locationSource 			:= omit,//NP
-    		locationUpdatePeriod 	:= p_locationUpdatePeriod, //O
+    		locationUpdatePeriod 	:= {p_locationUpdatePeriod}, //O
     		locationTargetID 		:= omit, //NP
     		locationServer 			:= omit, //NP
     		locationContainerID		:= omit, //NP  
@@ -1944,6 +1949,7 @@ module OneM2M_Templates {
 			memberTypeValidated := *,//O
 			consistencyStrategy := *,//O
 			groupName := *,//O
+			semanticSupportIndicator := *,//O
 			choice := *//O
 		};
 		
@@ -1969,6 +1975,7 @@ module OneM2M_Templates {
 			memberTypeValidated := *,//M
 			consistencyStrategy := *,//O
 			groupName := *,//O
+			semanticSupportIndicator := *,//O
 			choice := *//O
 		}
 		
@@ -1994,6 +2001,7 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//M
 			consistencyStrategy := omit,//O
 			groupName := omit,//O
+			semanticSupportIndicator := omit,//O
 			choice := omit//O
 		}
 		
@@ -2038,6 +2046,7 @@ module OneM2M_Templates {
 			memberTypeValidated := omit,//M
 			consistencyStrategy := omit,//O
 			groupName := omit,//O
+			semanticSupportIndicator := omit,//O
 			choice := {childResource_list := ?}//O
 		}
 		
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index c558257..21733ae 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
- *              $Id: OneM2M_Types.ttcn 296 2017-06-02 13:16:50Z reinaortega $
+ *              $Id: OneM2M_Types.ttcn 297 2017-06-02 14:21:45Z reinaortega $
  *  @desc       OneM2M data types module 
  *
  */
@@ -1631,14 +1631,14 @@ type union PrimitiveContent {
 	ContentInstanceAnnc_optional contentInstanceAnnc_optional,
 	Container_optional container_optional,
 	ContainerAnnc_optional containerAnnc_optional,
-	FlexContainer_optional flexContainer_optional,
+	FlexContainerResource_optional flexContainer_optional,
 	CSEBase_optional cSEBase_optional,
 	Group_optional group_optional,
 	GroupAnnc_optional groupAnnc_optional,
 	LocationPolicy_optional locationPolicy_optional,
 	LocationPolicyAnnc_optional locationPolicyAnnc_optional,
-	MgmtObj_optional mgmtObj_optional,//MgmtResource
-	MgmtObjAnnc_optional mgmtObjAnnc_optional,//AnnouncedMgmtResource
+	MgmtResource_optional mgmtResource_optional,//MgmtResource
+	AnnouncedMgmtResource_optional announcedMgmtResource_optional,//AnnouncedMgmtResource
 	Node_optional node_optional,
 	NodeAnnc_optional nodeAnnc_optional,
 	PollingChannel_optional pollingChannel_optional,
@@ -6515,950 +6515,986 @@ with {
 /* Additional types */
 
 group OptionalResourceTypes {
-  
-	type record AEAnnc_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.AnyURI link optional,
-		XSD.String appName optional,
-		XSD.String app_ID optional,
-		XSD.ID aE_ID optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean requestReachability optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Container container,
-				ContainerAnnc containerAnnc,
-				Group group_,
-				GroupAnnc groupAnnc,
-				AccessControlPolicy accessControlPolicy,
-				AccessControlPolicyAnnc accessControlPolicyAnnc,
-				Subscription subscription,
-				ScheduleAnnc scheduleAnnc, 		
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				TrafficPatternAnnc trafficPatternAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource
-			} choice_list
-		} choice optional
-	} 
-	with {
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (app_ID) "name as 'App-ID'";
-	  variant (aE_ID) "name as 'AE-ID'";
-	  //variant (requestReachability) "text 'true' as '1'";
-	  //variant (requestReachability) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	  variant (choice.choice_list[-].group_) "name as 'group'";
-	};
+	
+	type record 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 AE_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.String appName optional,
-		XSD.String app_ID optional,
-		XSD.ID aE_ID optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean requestReachability optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Container container,
-				Group group_,
-				AccessControlPolicy accessControlPolicy,
-				Subscription subscription,
-				PollingChannel pollingChannel,
-				Schedule schedule,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TrafficPattern trafficPattern,
-				Sg_flexContainerResource_group sg_flexContainerResource
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (app_ID) "name as 'App-ID'";
-	  variant (aE_ID) "name as 'AE-ID'";
-	  //variant (requestReachability) "text 'true' as '1'";
-	  //variant (requestReachability) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	  variant (choice.choice_list[-].group_) "name as 'group'";
-	  
-	};
+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 AccessControlPolicy_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		SetOfAcrs privileges optional,
-		SetOfAcrs selfPrivileges optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of Subscription subscription_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.subscription_list) "untagged";
-	  variant (choice.subscription_list[-]) "name as 'subscription'";
-	};
-	
-	type record 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,
+	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,
+	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 ContentInstance_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		ContentInfo contentInfo optional,
-		XSD.NonNegativeInteger contentSize optional,
-		ContentRef contentRef optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.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 (announcedAttribute) "list";
-	};
+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 Container_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.NonNegativeInteger currentNrOfInstances optional,
-		XSD.NonNegativeInteger currentByteSize optional,
-		XSD.AnyURI locationID optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.Boolean disableRetrieval optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ContentInstance contentInstance,
-				Container container,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				Sg_flexContainerResource_group sg_flexContainerResource
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-	
-	type record 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 FlexContainer_optional
-    {
-    	ResourceName resourceName optional,
-    	ResourceType resourceType optional,
-    	XSD.ID resourceID optional,
-    	NhURI parentID optional,
-    	Timestamp creationTime optional,
-    	Timestamp lastModifiedTime optional,
-    	Labels labels optional,
-    	AcpType accessControlPolicyIDs optional,
-    	Timestamp expirationTime optional,
-    	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-    	ListOfURIs announceTo optional,
-    	ListOfNCNames announcedAttribute optional,
-    	XSD.NonNegativeInteger stateTag optional,
-    	XSD.ID creator optional,
-    	XSD.AnyURI containerDefinition optional,
-    	XSD.AnyURI ontologyRef optional
-    }
-    with {
-      variant "name as uncapitalized";
-      variant (resourceName) "attribute";
-    };    
-    
-    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,//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_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		CseTypeID cseType optional,
-		XSD.ID cSE_ID optional,
-		record of ResourceType supportedResourceType optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI nodeLink optional,
-		E2eSecInfo e2eSecInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				RemoteCSE remoteCSE,
-				RemoteCSEAnnc remoteCSEAnnc,
-				Node node,
-				AE aE,
-				Container container,
-				Group group_,
-				AccessControlPolicy accessControlPolicy,
-				Subscription subscription,
-				MgmtCmd mgmtCmd,
-				LocationPolicy locationPolicy,
-				StatsConfig statsConfig,
-				StatsCollect statsCollect,
-				Request request,
-				Delivery delivery,
-				Schedule schedule,
-				M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
-				ServiceSubscribedAppRule serviceSubscribedAppRule,
-				Role role,
-				XSD.Token token,
-				Sg_flexContainerResource_group sg_flexContainerResource
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (cSE_ID) "name as 'CSE-ID'";
-	  variant (supportedResourceType) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	  variant (choice.choice_list[-].aE) "name as capitalized";
-	  variant (choice.choice_list[-].group_) "name as 'group'";
-	};
-	
-	
-	type record Group_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		MemberType memberType optional,
-		XSD.PositiveInteger currentNrOfMembers optional,
-		XSD.PositiveInteger maxNrOfMembers optional,
-		ListOfURIs memberIDs optional,
-		ListOfURIs membersAccessControlPolicyIDs optional,
-		XSD.Boolean memberTypeValidated optional,
-		ConsistencyStrategy consistencyStrategy optional,
-		XSD.String groupName optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  //variant (memberTypeValidated) "text 'true' as '1'";
-	  //variant (memberTypeValidated) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list[-]) "name as 'choice'";
-	  variant (choice.choice_list[-].subscription) "name as 'subscription'";
-	  variant (choice.choice_list[-].semanticDescriptor) "name as 'semanticDescriptor'";
-	};
-	
-	type record 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,
-		NodeID locationTargetID optional,
-		XSD.AnyURI locationServer optional,
-		XSD.AnyURI locationContainerID optional,
-		XSD.String locationContainerName optional,
-		XSD.String locationStatus optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-	
-	type record MgmtObj_optional //MgmtResource
-	{
-		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,
+	record of ResourceType supportedResourceType optional,
+	PoaList pointOfAccess optional,
+	XSD.AnyURI nodeLink optional,
+	E2eSecInfo e2eSecInfo optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			RemoteCSE remoteCSE,
+			RemoteCSEAnnc remoteCSEAnnc,
+			Node node,
+			AE aE,
+			Container container,
+			Group group_,
+			AccessControlPolicy accessControlPolicy,
+			Subscription subscription,
+			MgmtCmd mgmtCmd,
+			LocationPolicy locationPolicy,
+			StatsConfig statsConfig,
+			StatsCollect statsCollect,
+			Request request,
+			Delivery delivery,
+			Schedule schedule,
+			M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
+			ServiceSubscribedAppRule serviceSubscribedAppRule,
+			Role role,
+			XSD.Token token,
+			Sg_flexContainerResource_group sg_flexContainerResource
+		} choice_list
+	} choice optional
+}
+with {
+  variant "element";
+  variant (resourceName) "attribute";
+  variant (cSE_ID) "name as 'CSE-ID'";
+  variant (supportedResourceType) "list";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].aE) "name as capitalized";
+  variant (choice.choice_list[-].group_) "name as 'group'";
+};
+
+type record 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,
+	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 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,
+	NodeID locationTargetID optional,
+	XSD.AnyURI locationServer optional,
+	XSD.AnyURI locationContainerID optional,
+	XSD.String locationContainerName optional,
+	XSD.String locationStatus optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as uncapitalized";
+  variant "element";
+  variant (resourceName) "attribute";
+  variant (announcedAttribute) "list";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+};
+
+type record 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,
+	NodeID locationTargetID optional,
+	XSD.AnyURI locationServer optional,
+	XSD.AnyURI locationContainerID optional,
+	XSD.String locationContainerName optional,
+	XSD.String locationStatus optional
+}
+with {
+  variant "name as uncapitalized";
+  variant "element";
+  variant (resourceName) "attribute";
+};
+
+type record 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 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 MgmtObjAnnc_optional//AnnouncedMgmtResource
-	{
-		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 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,
-		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 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 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 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 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 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 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,
-		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
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-	
-	type record Schedule_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		ScheduleEntries scheduleElement optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-	
-	type record ServiceSubscribedAppRule_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfM2MID applicableCredIDs optional,
-		ListOfM2MID allowedApp_IDs optional,
-		ListOfM2MID allowedAEs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of Subscription subscription_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (allowedApp_IDs) "name as 'allowedApp-IDs'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.subscription_list) "untagged";
-	  variant (choice.subscription_list[-]) "name as 'subscription'";
-	};
-	
-	type record Subscription_optional
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
-		EventNotificationCriteria eventNotificationCriteria optional,
-		XSD.PositiveInteger expirationCounter optional,
-		ListOfURIs notificationURI optional,
-		XSD.AnyURI groupID optional,
-		XSD.AnyURI notificationForwardingURI optional,
-		BatchNotify batchNotify optional,
-		RateLimit rateLimit optional,
-		XSD.PositiveInteger preSubscriptionNotify optional,
-		PendingNotification pendingNotification optional,
-		XSD.PositiveInteger notificationStoragePriority optional,
-		XSD.Boolean latestNotify optional,
-		NotificationContentType notificationContentType optional,
-		EventCat notificationEventCat optional,
-		XSD.AnyURI subscriberURI optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Schedule schedule,
-				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  //variant (latestNotify) "text 'true' as '1'";
-	  //variant (latestNotify) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	};
-	
-	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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				SemanticDescriptorAnnc semanticDescriptorAnnc
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (memberIDs) "list";
-	  //variant (memberTypeValidated) "text 'true' as '1'";
-	  //variant (memberTypeValidated) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-	
-	type record LocationPolicy_optional 
-	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		LocationSource locationSource optional,
-		XSD.Duration locationUpdatePeriod optional,
-		NodeID locationTargetID optional,
-		XSD.AnyURI locationServer optional,
-		XSD.AnyURI locationContainerID optional,
-		XSD.String locationContainerName optional,
-		XSD.String locationStatus optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";	  
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-	
-	type record 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	{
-		XSD.NCName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		DescriptorRepresentation descriptorRepresentation optional,
-		Sparql semanticOpExec optional,
-		XSD.Base64Binary descriptor optional,
-		XSD.AnyURI ontologyRef optional,
-		ListOfURIs relatedSemantics optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of Subscription subscription_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.subscription_list) "untagged";
-	  variant (choice.subscription_list[-]) "name as 'subscription'";
-	};
-	
-	type record GenericInterworkingOperationInstance_optional
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		ListOfNCNames announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.AnyURI containerDefinition optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.String operationName optional,
-		XSD.String operationState optional,
-		ListOfDataLinks inputDataPointLinks optional,
-		ListOfDataLinks outputDataPointLinks optional,
-		ListOfDataLinks inputLinks optional,
-		ListOfDataLinks outputLinks optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				SemanticDescriptor semanticDescriptor,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-	
 }//end group OptionalResourceTypes
 	
 	
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 7f510e2..87eec87 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $
- *              $Id: OneM2M_Testcases.ttcn 296 2017-06-02 13:16:50Z reinaortega $
+ *              $Id: OneM2M_Testcases.ttcn 297 2017-06-02 14:21:45Z reinaortega $
  *  @desc       Module containing test cases for oneM2M
  *
  */
@@ -3027,7 +3027,7 @@ module OneM2M_Testcases {
 						var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
 						var ResponsePrimitive v_responsePrimitive;
 						
-						v_createRequest.primitiveContent.mgmtObj_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.mgmtResource_optional.announceTo := {f_getAnnouncementTargetPoA()};
 
 						f_CSE_DMR_CRE_BV_016(int13, v_createRequest, mw_createMgmtObjAnncBase);//MgmtObj
 					}
@@ -3220,16 +3220,16 @@ module OneM2M_Testcases {
 						var RequestPrimitive v_requestPrimitive;
 						var XSD.String description := "Description of mgmtObj";	//Correct value? Shall be indicated in TP?
 		
-						v_createRequest.primitiveContent.mgmtObj_optional.announceTo := {f_getAnnouncementTargetPoA()};
-						v_createRequest.primitiveContent.mgmtObj_optional.description := description;			
-						v_createRequest.primitiveContent.mgmtObj_optional.announcedAttribute := {"description"};			//Correct value? Shall be indicated in TP?
+						v_createRequest.primitiveContent.mgmtResource_optional.announceTo := {f_getAnnouncementTargetPoA()};
+						v_createRequest.primitiveContent.mgmtResource_optional.description := description;			
+						v_createRequest.primitiveContent.mgmtResource_optional.announcedAttribute := {"description"};			//Correct value? Shall be indicated in TP?
 
 						v_requestPrimitive := f_CSE_DMR_CRE_BV_017(int13, v_createRequest, mw_createMgmtObjAnncBase());//MgmtObj
 						
 						if(getverdict == pass){
 							//Check if description attribute has been announced
-							if (ispresent(v_requestPrimitive.primitiveContent.mgmtObjAnnc_optional.description)){
-								if(v_requestPrimitive.primitiveContent.mgmtObjAnnc_optional.description != description){
+							if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource_optional.description)){
+								if(v_requestPrimitive.primitiveContent.announcedMgmtResource_optional.description != description){
 									setverdict(fail, testcasename() & ": Error: Value of description has not been announced successfully");
 								}else{
 									setverdict(pass, testcasename() & ": Value of description has been announced successfully");
-- 
GitLab