diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index a828ae46864d7c4bad52336a110df14c9aeac3fd..a7478c7c58497817cbc7da8ddf315ce06e00211c 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -1,4764 +1,4765 @@
-/**
- *  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/ETSI
- *  @desc       Module containing types and values for oneM2M
- *
- */
-module OneM2M_TypesAndValues {
-
-	import from XSD all;
-	import from OneM2M_Types all;
-	import from OneM2M_Types_homeDevice all;
-	import from LibCommon_TextStrings all;
-
-	group ResourceNames {
-		/* Constants */	
-		const XSD.String c_defaultResourceName := "MyResource";
-		const XSD.String c_defaultGroupResourceName := "MyGroupResource";
-		const XSD.String c_defaultGroupAnncResourceName := "MyGroupAnncResource";
-		const XSD.String c_defaultAccessControlPolicyResourceName := "MyAccessControlPolicyResource";
-		const XSD.String c_defaultAccessControlPolicyAnncResourceName := "MyAccessControlPolicyAnncResource";
-		const XSD.String c_defaultScheduleResourceName := "MyScheduleResource";
-		const XSD.String c_defaultPollingChannelResourceName := "MyPollingChannelResource";
-		const XSD.String c_defaultSubscriptionResourceName := "MySubscriptionResource";
-		const XSD.String c_defaultContentInstanceResourceName := "MyContentInstanceResource";
-		const XSD.String c_defaultContainerResourceName := "MyContainerResource";
-		const XSD.String c_defaultContainerAnncResourceName := "MyContainerAnncResource";
-		const XSD.String c_defaultDeliveryResourceName := "MyDeliveryResource";
-		const XSD.String c_defaultRemoteCSEResourceName := "MyRemoteCSEResource";
-		const XSD.String c_defaultRemoteCSEAnncResourceName := "MyRemoteCSEAnncResource";
-		const XSD.String c_defaultMgmtObjResourceName := "MyMgmtObjResource";
-		const XSD.String c_defaultMgmtCmdResourceName := "MyMgmtCmdResource";
-		const XSD.String c_defaultLocationPolicyResourceName := "MyLocationPolicyResource";
-		const XSD.String c_defaultNodeResourceName := "MyNodeResource";
-		const XSD.String c_defaultNodeID := "MyNodeId";
-		const XSD.String c_defaultRequestResourceName := "MyRequestResource";
-		const XSD.String c_dynamicAuthorizationConsultationName := "MyDynamicAuthorizationConsultation";
-		const XSD.String c_defaultStatsConfigResourceName := "MyStatsConfigResource";
-		const XSD.String c_defaultEventConfigResourceName := "MyEventConfigResource";
-		const XSD.String c_defaultEventConfigEventID := "MyEventConfigID";
-		const XSD.String c_defaultStatsCollectResourceName := "MyStatsCollectResource";
-		const XSD.String c_defaultm2mServiceSubscriptionProfileResourceName := "Mym2mServiceSubscriptionProfileResource";
-		const XSD.String c_defaultServiceSubscribedAppRuleResourceName := "MyServiceSubscribedAppRuleResource";
-		const XSD.String c_defaultServiceSubscribedUserProfileResourceName := "MyServiceSubscribedUserProfileResourceName";
-		const XSD.String c_defaultTimeSeriesResourceName := "MyTimeSeriesResource";
-		const XSD.String c_defaultTimeSeriesAnncResourceName := "MyTimeSeriesAnncResource";
-		const XSD.String c_defaultTimeSeriesInstanceResourceName := "MyTimeSeriesInstanceResource";
-		const XSD.String c_defaultTimeSeriesInstanceAnncResourceName := "MyTimeSeriesInstanceAnncResource";
-		const XSD.String c_defaultRoleResourceName := "MyRoleResource";
-		const XSD.String c_defaultTokenResourceName := "MyTokenResource";
-		const XSD.String c_defaultGenericInterworkingServiceResourceName := "MyGenericInterworkingServiceResource"; //<genericInterworkingService>
-		const XSD.String c_defaultPrimitiveProfileceResourceName := "MyPrimitiveProfileResource";
-		const XSD.String c_defaultAe1ResourceName := "MyAe1";
-		const XSD.String c_defaultAe2ResourceName := "MyAe2";
-		const XSD.String c_defaultAcpResourceName := "MyAcp";
-		const charstring c_invalid_location_update_period	:= "-PT30M10S" ;//duration set to invalid value  (minus value)
-		const XSD.ID c_resourceShortNameLatest := "la";		//<latest>
-		const XSD.ID c_resourceShortNameOldest := "ol";		//<oldest>
-		const XSD.ID c_resourceShortNameFanOutPoint := "fopt"; //<fanOutPoint>
-		const XSD.ID c_resourceShortNamePollingChannelUri := "pcu"; //<pollingChannelUri>
-		const XSD.ID c_resourceShortNameMashup := "msp"; //<mashup>
-		const XSD.ID c_resourceShortNameSemanticFanOutPoint := "sfop"; //<semanticFanOutPoint>
-		const XSD.ID c_resourceShortNameSemanticValidation := "smv"; //<semanticValidation>
-		const XSD.String c_defaultMmemberFilter := " PREFIX foaf:  <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?person foaf:name ?name . }"; // <semanticMashupJobProfile>
-	}
-	
-	group AccessControlOperations {
-	//AccessControlOperations
-	const XSD.Integer c_C   := 1;
-	const XSD.Integer c_R   := 2; 
-	const XSD.Integer c_CR   := 3; 
-	const XSD.Integer c_U   := 4; 
-	const XSD.Integer c_CU   := 5; 
-	const XSD.Integer c_RU   := 6; 
-	const XSD.Integer c_CRU   := 7; 
-	const XSD.Integer c_D   := 8;
-	const XSD.Integer c_CD   := 9; 
-	const XSD.Integer c_RD   := 10; 
-	const XSD.Integer c_CRD   := 11; 
-	const XSD.Integer c_UD   := 12; 
-	const XSD.Integer c_CUD   := 13; 
-	const XSD.Integer c_RUD   := 14; 
-	const XSD.Integer c_CRUD   := 15; 
-	const XSD.Integer c_N   := 16;
-	const XSD.Integer c_CN   := 17; 
-	const XSD.Integer c_RN   := 18; 
-	const XSD.Integer c_CRN   := 19; 
-	const XSD.Integer c_UN   := 20;
-	const XSD.Integer c_CUN   := 21; 
-	const XSD.Integer c_RUN   := 22; 
-	const XSD.Integer c_CRUN   := 23; 
-	const XSD.Integer c_DN   := 24;
-	const XSD.Integer c_CDN   := 25; 
-	const XSD.Integer c_RDN   := 26; 
-	const XSD.Integer c_CRDN   := 27; 
-	const XSD.Integer c_UDN   := 28;
-	const XSD.Integer c_CUDN   := 29; 
-	const XSD.Integer c_RUDN   := 30; 
-	const XSD.Integer c_CRUDN   := 31; 
-	const XSD.Integer c_Di   := 32;
-	const XSD.Integer c_CDi   := 33; 
-	const XSD.Integer c_RDi   := 34; 
-	const XSD.Integer c_CRDi   := 35; 
-	const XSD.Integer c_UDi   := 36;
-	const XSD.Integer c_CUDi   := 37; 
-	const XSD.Integer c_RUDi   := 38; 
-	const XSD.Integer c_CRUDi   := 39; 
-	const XSD.Integer c_DDi   := 40;
-	const XSD.Integer c_CDDi   := 41; 
-	const XSD.Integer c_RDDi   := 42; 
-	const XSD.Integer c_CRDDi   := 43; 
-	const XSD.Integer c_UDDi  := 44;
-	const XSD.Integer c_CUDDi   := 45; 
-	const XSD.Integer c_RUDDi   := 46; 
-	const XSD.Integer c_CRUDDi   := 47; 
-	const XSD.Integer c_NDi   := 48;
-	const XSD.Integer c_CNDi   := 49; 
-	const XSD.Integer c_RNDi   := 50; 
-	const XSD.Integer c_CRNDi   := 51; 
-	const XSD.Integer c_UNDi   := 52;
-	const XSD.Integer c_CUNDi   := 53; 
-	const XSD.Integer c_RUNDi   := 54; 
-	const XSD.Integer c_CRUNDi   := 55; 
-	const XSD.Integer c_DNDi   := 56;
-	const XSD.Integer c_CDNDi   := 57; 
-	const XSD.Integer c_RDNDi   := 58; 
-	const XSD.Integer c_CRDNDi   := 59; 
-	const XSD.Integer c_UDNDi   := 60;
-	const XSD.Integer c_CUDNDi   := 61; 
-	const XSD.Integer c_RUDNDi   := 62; 
-	const XSD.Integer c_CRUDNDi   := 63;	
-	}
-	
-/* ******************************************
- * 		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
-} 
-	
-	/**
-	 * @desc Type for the oneM2M primitives exchange
-	 * @member primitive oneM2M primitive
-	 */
-	type record MsgIn {
-		union {
-			RequestPrimitive requestPrimitive,
-			ResponsePrimitive responsePrimitive
-		} primitive, 
-		AttributeList_1 nullFields optional
-	}
-	
-	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;
-	
-	group ESPrimConfiguration {
-	
-		/**
-		 * 
-		 * @desc 8.4.2 Step E
-		 */
-		type enumerated PairwiseKeyMethod {
-			e_establish,
-			e_MAFFramework,
-			e_supportIndication
-		};
-		
-		/**
-		 * 
-		 * @desc 8.4.2 Step E-A
-		 */
-		type enumerated Provisioned {
-			e_preProvisioning,
-			e_RSPF,
-			e_ESCertKE
-		};
-	
-	}// end group ESPrimConfiguration
-	
-
-/* **********************************
-* 		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,
-		ListOfURIs authorizationDecisionResourceIDs optional,
-		ListOfURIs authorizationPolicyResourceIDs optional,
-		ListOfURIs authorizationInformationResourceIDs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 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,
-		ListOfURIs authorizationDecisionResourceIDs optional,
-		ListOfURIs authorizationPolicyResourceIDs optional,
-		ListOfURIs authorizationInformationResourceIDs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 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,
-		ExternalID m2M_Ext_ID optional,
-		SupportedReleaseVersions supportedReleaseVersions optional,
-		AERegistrationStatus registrationStatus optional,
-		XSD.Boolean trackRegistrationPoints optional,
-		SessionCapabilities sessionCapabilities optional,
-		XSD.Boolean triggerEnable optional,
-		ActivityPatternElements activityPatternElements 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,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				SemanticMashupInstance semanticMashupInstance,
-				MultimediaSession multimediaSession,
-				CrossResourceSubscription crossResourceSubscription,
-				TriggerRequest triggerRequest,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction,
-				PrimitveProfile primitiveProfile
-			} 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,
-		AERegistrationStatus registrationStatus optional,
-		XSD.Boolean trackRegistrationPoints optional,
-		SessionCapabilities sessionCapabilities optional,
-		XSD.Boolean triggerEnable optional,
-		ActivityPatternElements activityPatternElements 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,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
-				SemanticMashupInstance semanticMashupInstance,
-				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
-				MultimediaSession multimediaSession,
-				MultimediaSessionAnnc multimediaSessionAnnc,
-				CrossResourceSubscription crossResourceSubscription,
-				TriggerRequest triggerRequest,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction
-			} 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,
-				Transaction transaction
-			} 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,
-		XSD.AnyURI mgmtSchema 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,
-		XSD.AnyURI mgmtSchema 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,
-		XSD.AnyURI nodeLink 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,
-		XSD.AnyURI nodeLink 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,
-		GeoCoordinates location optional,  //TODO Manually added until XSD files are updated
-		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,
-				TimeSeries timeSeries,
-				Transaction transaction
-			} 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,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				Transaction transaction
-			} 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 union {
-				SemanticDescriptor semanticDescriptor,
-				Transaction transaction
-			} 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 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 union {
-				SemanticDescriptor semanticDescriptor,
-				Transaction transaction
-			} 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 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,
-		Serializations contentSerialization 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,
-				AuthorizationDecision_1 authorizationDecision,
-				AuthorizationPolicy authorizationPolicy,
-				AuthorizationInformation authorizationInformation,
-				OntologyRepository ontologyRepository,
-				SemanticMashupJobProfile semanticMashupJobProfile,
-				SemanticMashupInstance semanticMashupInstance,
-				AEContactList aEContactList,
-				LocalMulticastGroup localMulticastGroup,
-				CrossResourceSubscription crossResourceSubscription,
-				BackgroundDataTransfer backgroundDataTransfer,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction,
-				PrimitveProfile primitiveProfile
-			} 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.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 GenericInterworkingService_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 serviceName optional,
-		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 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,
-		SpecializationType specializationType 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,
-				Transaction transaction
-			} 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_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,
-		SpecializationType specializationType 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,
-				Transaction transaction
-			} 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,
-		ExternalID authID optional,
-		XSD.Boolean retrieveLastKnownLocation optional,
-		LocationUpdateEventCriteria locationUpdateEventCriteria optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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,
-		ExternalID authID optional,
-		XSD.Boolean retrieveLastKnownLocation optional,
-		LocationUpdateEventCriteria locationUpdateEventCriteria optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction
-			} choice_list
-		} choice 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,
-		//TODO To be removed/replaced by the type defined in XSDs
-		XSD.ID M2M_Sub_ID optional,
-		XSD.ID M2M_SS_ID optional,	
-		ServiceSubscriptionStatus Status optional ,
-		XSD.Boolean Activate optional,
-		Timestamp activationTime optional,
-		Timestamp deactivationTime optional,
-		XSD.Duration serviceSubscriptionDuration optional,
-		XSD.NonNegativeInteger currentNumAEs optional,
-		XSD.NonNegativeInteger maxNumAEs optional,
-		XSD.NonNegativeInteger maxNumNodes optional,
-		XSD.NonNegativeInteger maxNumBytes optional,
-		XSD.NonNegativeInteger maxRequestRate optional,
-		XSD.NonNegativeInteger maxNumContainers optional,
-		XSD.NonNegativeInteger maxNumInstancesPerContainer optional,
-		XSD.NonNegativeInteger maxNumTimeSeries optional,
-		XSD.NonNegativeInteger maxNumInstancesPerTimeSeries optional,
-		XSD.NonNegativeInteger maxMembersPerGroup optional,
-		XSD.NonNegativeInteger maxNotificationRate optional,
-		XSD.NonNegativeInteger maxNumFlexContainers optional,
-		XSD.NonNegativeInteger maxNumInstancesPerFlexContainer optional,
-		SetOfAcrs defaultAccessControlPrivileges optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ServiceSubscribedNode serviceSubscribedNode,
-				Subscription subscription,
-				Transaction transaction,
-				//TODO To be removed/replaced by the type defined in XSDs
-				ServiceSubscribedUserProfile_optional serviceSubscribedUserProfile
-			} 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,
-		ListOfM2MID hostedAELinks optional,
-		ListOfM2MID hostedServiceLinks optional,
-		XSD.String mgmtClientAddress optional,
-		XSD.Boolean roamingStatus optional,
-		XSD.String networkID 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,
-				Transaction transaction,
-				Schedule schedule
-			} 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,
-		ListOfM2MID hostedAELinks optional,
-		ListOfM2MID hostedServiceLinks optional,
-		XSD.String mgmtClientAddress optional,
-		XSD.Boolean roamingStatus optional,
-		XSD.String networkID 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,
-				Transaction transaction,
-				Schedule schedule
-			} 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 OntologyRepository_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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Ontology ontology,
-				Transaction transaction
-			} 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 Ontology_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,
-		XSD.String description optional,
-		SemanticFormat ontologyFormat optional,
-		XSD.AnySimpleType ontologyContent optional,//FIXME Use AnySimpleType instead
-		Sparql semanticOpExec optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-
-	type record PrimitveProfile_optional
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp creationTime optional,
-		Timestamp expirationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
-		ListOfM2MID IDList optional,
-		ResourceTypeList resourceTypes optional,
-		ListOfOperations operations optional,
-		ListOfURIs resourceIDs optional,
-		SupportedReleaseVersions releaseVersions optional,
-		ListOfAttributes additions optional,
-		AttributeList deletions optional,
-		ListOfAttributes modifications optional,
-		PrimitiveProfileApplicability applicability optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} choice_list
-		} choice 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,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		ListOfM2MID descendantCSEs optional,
-		SupportedReleaseVersions supportedReleaseVersions optional,
-		MulticastCapability multicastCapability optional,
-		ExternalID externalGroupID optional,
-		XSD.Boolean triggerEnable optional,
-		ActivityPatternElements activityPatternElements 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,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				LocationPolicyAnnc locationPolicyAnnc,
-				AEAnnc aEAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
-				OntologyRepositoryAnnc ontologyRepositoryAnnc,
-				SemanticMashupJobProfile semanticMashupJobProfile,
-				SemanticMashupJobProfileAnnc semanticMashupJobProfileAnnc,
-				SemanticMashupInstance semanticMashupInstance,
-				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
-				CrossResourceSubscription crossResourceSubscription,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction,
-				PrimitveProfile primitiveProfile
-			} 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,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		ListOfM2MID descendantCSEs optional,
-		SupportedReleaseVersions supportedReleaseVersions optional,
-		MulticastCapability multicastCapability optional,
-		ExternalID externalGroupID optional,
-		XSD.Boolean triggerEnable optional,
-		ActivityPatternElements activityPatternElements 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,
-				LocationPolicyAnnc locationPolicyAnnc,
-				TimeSeries timeSeries,
-				TimeSeriesAnnc timeSeriesAnnc,
-				AEAnnc aEAnnc,
-				Sg_flexContainerResource_group sg_flexContainerResource,
-				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
-				OntologyRepositoryAnnc ontologyRepositoryAnnc,
-				SemanticMashupJobProfile semanticMashupJobProfile,
-				SemanticMashupJobProfileAnnc semanticMashupJobProfileAnnc,
-				SemanticMashupInstance semanticMashupInstance,
-				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
-				CrossResourceSubscription crossResourceSubscription,
-				TransactionMgmt transactionMgmt,
-				Transaction transaction
-			} 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,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		ScheduleEntries scheduleElement optional,
-		XSD.Boolean networkCoordinated optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.AnyURI link optional,
-		ScheduleEntries scheduleElement optional,
-		XSD.Boolean networkCoordinated optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction
-			} choice_list
-		} choice 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,
-		SemanticFormat descriptorRepresentation optional,
-		Sparql semanticOpExec optional,
-		XSD.Base64Binary descriptor optional,
-		XSD.AnyURI ontologyRef optional,
-		ListOfURIs relatedSemantics optional,
-		XSD.Boolean semanticValidated optional,
-		XSD.Boolean validationEnable optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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,
-		SemanticFormat descriptorRepresentation optional,
-		Sparql semanticOpExec optional,
-		XSD.Base64Binary descriptor optional,
-		XSD.AnyURI ontologyRef optional,
-		ListOfURIs relatedSemantics optional,
-		XSD.Boolean semanticValidated optional,
-		XSD.Boolean validationEnable optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 SemanticMashupJobProfile_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,
-		Sparql memberFilter optional,
-		ListOfURIs smiID optional,
-		XSD.Base64Binary inputDescriptor optional,
-		XSD.Base64Binary outputDescriptor optional,
-		XSD.Base64Binary functionDescriptor optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-
-	type record SemanticMashupInstance_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,
-		XSD.AnyURI smjpID optional,
-		XSD.Base64Binary smjpInputParameter optional,
-		MashupMemberStoreType memberStoreType optional,
-		MashupMembers mashupMember optional,
-		MashupResultGenType resultGenType optional,
-		XSD.Duration periodForResultGen optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-
-
-
-	type record SemanticMashupResult_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,
-		XSD.Base64Binary smjpInputParameter optional,
-		Serializations mashupResultFormat optional,
-		XSD.Base64Binary mashupResult optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-
-	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,
-		// TODO: To update once oneM2MTypes is updated
-		ListOfM2MID allowedUsers optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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,
-		XSD.Boolean niddRequired optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} 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";
-	};
-	
-    //TODO To be removed/replaced by the type defined in XSDs
-	type record ServiceSubscribedUserProfile_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 M2M_User_ID optional,
-		XSD.NonNegativeInteger maxNumAEs optional,
-		XSD.NonNegativeInteger maxNumNodes optional,
-		XSD.NonNegativeInteger maxNumBytes optional,
-		XSD.NonNegativeInteger maxRequestRate optional,
-		XSD.NonNegativeInteger maxNumContainers optional,
-		XSD.NonNegativeInteger maxNumInstancesPerContainer optional,
-		XSD.NonNegativeInteger maxNumTimeSeries optional,
-		XSD.NonNegativeInteger maxNumInstancesPerTimeSeries optional,
-		XSD.NonNegativeInteger maxMembersPerGroup optional,
-		XSD.NonNegativeInteger maxNotificationRate optional,
-		XSD.NonNegativeInteger maxNumFlexContainers optional,
-		XSD.NonNegativeInteger maxNumInstancesPerFlexContainer optional,
-		SetOfAcrs defaultAccessControlPrivileges optional
-	};
-
-	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 subscription,
-				Transaction transaction
-			} 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,
-				Transaction transaction
-			} 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 EventConfig_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 eventID optional,
-		EventType eventType optional,
-		Timestamp eventStart optional,
-		Timestamp eventEnd optional,
-		record of Operation operationType optional,
-		XSD.NonNegativeInteger dataSize optional,
-		ResourceTypeList eventResourceTypes optional,
-		ListOfURIs eventResourceIDs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} choice_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.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,
-		ListOfURIs associatedCrossResourceSub optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Schedule schedule,
-				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
-				Transaction transaction
-			} 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.ID creator optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.NonNegativeInteger currentNrOfInstances optional,
-		XSD.NonNegativeInteger currentByteSize optional,
-		XSD.PositiveInteger periodicInterval optional,
-		XSD.Boolean missingDataDetect optional,
-		XSD.PositiveInteger missingDataMaxNr optional,
-		MissingDataList missingDataList optional,
-		XSD.NonNegativeInteger missingDataCurrentNr optional,
-		XSD.PositiveInteger missingDataDetectTimer optional,
-		XSD.AnyURI ontologyRef optional,
-		ContentInfo contentInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				TimeSeriesInstance timeSeriesInstance,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				Transaction transaction
-			} 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 maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.NonNegativeInteger currentNrOfInstances optional,
-		XSD.NonNegativeInteger currentByteSize optional,
-		XSD.PositiveInteger periodicInterval optional,
-		XSD.PositiveInteger missingDataMaxNr optional,
-		MissingDataList missingDataList optional,
-		XSD.NonNegativeInteger missingDataCurrentNr optional,
-		XSD.PositiveInteger missingDataDetectTimer optional,
-		XSD.AnyURI ontologyRef optional,
-		ContentInfo contentInfo 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,
-				Transaction transaction
-			} 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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction,
-				SemanticDescriptor semanticDescriptor
-			} choice_list
-		} choice 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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Transaction transaction,
-				SemanticDescriptor semanticDescriptor
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-		
-	type record DynamicAuthorizationConsultation_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.Boolean dynamicAuthorizationEnabled,
-		ListOfURIs dynamicAuthorizationPoA optional,
-		Timestamp dynamicAuthorizationLifetime optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				Transaction transaction
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  //variant (dynamicAuthorizationEnabled) "text 'true' as '1'";
-	  //variant (dynamicAuthorizationEnabled) "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 Role_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,
-		RoleID roleID optional,
-		XSD.ID issuer optional,
-		XSD.ID holder optional,
-		Timestamp notBefore optional,
-		Timestamp notAfter optional,
-		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,
-				Transaction transaction
-			} 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 DeviceAirConditioner_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				RunState runState,
-				AirConJobMode airConJobMode,
-				AirConOperationMode airConOperationMode,
-				AirCleanOperationMode airCleanOperationMode,
-				Temperature temperature,
-				Timer timer_,
-				SleepTimer sleepTimer,
-				Turbo turbo,
-				AirFlow airFlow,
-				PowerSave powerSave,
-				AirQualitySensor airQualitySensor,
-				FilterInfo filterInfo,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-
-	type record DeviceClothesWasherDryer_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				ClothesWasherDryerOperationMode clothesWasherDryerOperationMode,
-				RunState runState,
-				ClothesWasherDryerJobMode clothesWasherDryerJobMode,
-				ClothesWasherJobModeOption clothesWasherJobModeOption,
-				RemoteControlEnable remoteControlEnable,
-				Timer timer_,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-	
-	type record DeviceElectricVehicleCharger_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Battery battery,
-				ElectricVehicleConnector electricVehicleConnector,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}	
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-	
-	type record DeviceLight_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Colour colour,
-				ColourSaturation colourSaturation,
-				Brightness brightness,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-
-	type record DeviceMicrogeneration_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				EnergyGeneration energyGeneration,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-	
-	type record DeviceOven_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Timer timer_,
-				Temperature temperature,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}	
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-
-	type record DeviceRefrigerator_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				PowerSave powerSave,
-				DoorStatus doorStatus,
-				FrozenTemperature frozenTemperature,
-				FridgeTemperature fridgeTemperature,
-				CustomTemperature customTemperature,
-				Refrigeration refrigeration,
-				ControlPanelLock controlPanelLock,
-				WaterFilterInfo waterFilterInfo,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}	
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-
-	type record DeviceRobotCleaner_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				RunState runState,
-				RobotCleanerJobMode robotCleanerJobMode,
-				RobotCleanerOperationMode robotCleanerOperationMode,
-				Battery battery,
-				Timer timer_,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-
-	type record DeviceSmartElectricMeter_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Clock clock,
-				EnergyConsumption energyConsumption,
-				EnergyGeneration energyGeneration,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}	
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-
-	type record DeviceStorageBattery_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Battery battery,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-	
-	type record DeviceTelevision_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				BinarySwitch binarySwitch,
-				AudioVolume audioVolume,
-				TelevisionChannel televisionChannel,
-				PlayerControl playerControl,
-				MediaInput mediaInput,
-				MediaOutput mediaOutput,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-	
-	type record DeviceThermostat_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				RunState runState,
-				Timer timer_,
-				Temperature temperature,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};		
-	
-	type record DeviceWaterHeater_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.AnyURI nodeLink optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				FaultDetection faultDetection,
-				BinarySwitch binarySwitch,
-				RunState runState,
-				Clock clock,
-				Boiler boiler,
-				HotWaterSupply hotWaterSupply,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};	
-	
-	type record BinarySwitch_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.AnyURI nodeLink optional,
-		XSD.Boolean powerState optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Toggle toggle,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-
-	type record FaultDetection_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.AnyURI nodeLink optional,
-		XSD.Boolean status optional,
-		XSD.Integer code optional,
-		XSD.String description 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";
-	};
-
-	type record RunState_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.AnyURI nodeLink optional,
-		EnumMachineState currentMachineState optional,
-		record of EnumMachineState machineStates optional,
-		EnumJobState currentJobState optional,
-		record of EnumJobState jobStates optional,
-		XSD.Float progressPercentage 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";
-	};
-
-	type record Battery_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.AnyURI nodeLink optional,
-		XSD.Integer level optional,
-		XSD.Integer capacity optional,
-		XSD.Boolean charging optional,
-		XSD.Boolean discharging optional,
-		XSD.Boolean lowBattery optional,
-		XSD.Integer batteryThreshold optional,
-		XSD.Integer electricEnergy optional,
-		XSD.Integer voltage optional,
-		XSD.String material 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";
-	};
-
-	type record ElectricVehicleConnector_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.AnyURI nodeLink optional,
-		XSD.Boolean status optional,
-		XSD.Integer chargingCapacity optional,
-		XSD.Integer dischargingCapacity 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";
-	};
-
-	type record EnergyGeneration_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.AnyURI nodeLink optional,
-		XSD.Float powerGenerationData optional,
-		XSD.Integer roundingEnergyGeneration optional,
-		XSD.Integer significantDigits optional,
-		XSD.Integer multiplyingFactors optional,
-		XSD.String generationSource 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";
-	};
-
-	type record EnergyConsumption_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.AnyURI nodeLink optional,
-		XSD.Float power optional,
-		XSD.Float absoluteEnergyConsumption optional,
-		XSD.Integer roundingEnergyConsumption optional,
-		XSD.Integer significantDigits optional,
-		XSD.Integer multiplyingFactors optional,
-		XSD.Float voltage optional,
-		XSD.Float current optional,
-		XSD.Float frequency optional,
-		XSD.String measuringScope 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";
-	};
-
-	type record Temperature_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.AnyURI nodeLink optional,
-		XSD.Float currentTemperature optional,
-		XSD.Float targetTemperature optional,
-		XSD.String unit optional,
-		XSD.Float minValue optional,
-		XSD.Float maxValue optional,
-		XSD.Float stepValue 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";
-	};
-
-	type record Turbo_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.AnyURI nodeLink optional,
-		XSD.Boolean turboEnabled 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";
-	};
-
-	type record AirFlow_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.AnyURI nodeLink optional,
-		XSD.Integer speed optional,
-		XSD.Integer minSpeed optional,
-		XSD.Integer maxSpeed optional,
-		EnumVerticalDirection verticalDirection optional,
-		record of EnumVerticalDirection supportedVerticalDirection optional,
-		EnumHorizontalDirection horizontalDirection optional,
-		record of EnumHorizontalDirection supportedHorizontalDirection optional,
-		XSD.Boolean automode 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";
-	};
-
-	type record SpinLevel_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.AnyURI nodeLink optional,
-		EnumSpinLevelStrength spinLevelStrength 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";
-	};
-	
-	type record WaterFlow_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.AnyURI nodeLink optional,
-		EnumWaterFlowStrength waterFlowStrength 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";
-	};
-	
-	type record Brightness_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.AnyURI nodeLink optional,
-		XSD.Integer brightness 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";
-	};
-	
-	type record Colour_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.AnyURI nodeLink optional,
-		XSD.Integer red optional,
-		XSD.Integer green optional,
-		XSD.Integer blue 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";
-	};
-	
-	type record ColourSaturation_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.AnyURI nodeLink optional,
-		XSD.Integer colourSaturation 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";
-	};
-	
-	type record DoorStatus_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.AnyURI nodeLink optional,
-		EnumDoorState doorState optional,
-		Timestamp openDuration optional,
-		XSD.Boolean openAlarm 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";
-	};
-	
-	type record PowerSave_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.AnyURI nodeLink optional,
-		XSD.Boolean powerSaveEnabled 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";
-	};
-	
-	type record MediaInput_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.AnyURI nodeLink optional,
-		XSD.Integer mediaID optional,
-		record of EnumSupportedMediaSource supportedMediaSources optional,
-		XSD.String mediaName optional,
-		XSD.Boolean status optional,
-		EnumSupportedMediaSource mediaType 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";
-	};
-	
-	type record AudioVolume_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.AnyURI nodeLink optional,
-		XSD.Integer volumePercentage optional,
-		XSD.Integer stepValue optional,
-		XSD.Integer maxValue optional,
-		XSD.Boolean muteEnabled optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				UpVolume upVolume,
-				DownVolume downVolume,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-	
-	
-	type record TelevisionChannel_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.AnyURI nodeLink optional,
-		XSD.Integer channelId optional,
-		record of XSD.Integer availableChannels optional,
-		XSD.Integer previousChannel optional,
-		XSD.String channelName optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				UpChannel upChannel,
-				DownChannel downChannel,
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	};
-	
-	type record Boiler_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.AnyURI nodeLink optional,
-		XSD.Boolean status 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";
-	};
-	
-	type record Clock_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.AnyURI nodeLink optional,
-		Timestamp currentTime optional,
-		Timestamp currentDate optional,
-		XSD.String currentTimeZone 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";
-	};
-	
-	type record HotWaterSupply_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.AnyURI nodeLink optional,
-		XSD.Boolean bath 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";
-	};
-
-	type record DeviceInfo_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,
-		XSD.AnyURI mgmtSchema optional,
-		XSD.String deviceLabel optional,
-		XSD.String manufacturer optional,
-		XSD.String manufacturerDetailsLink optional,
-		Timestamp manufacturingDate optional,
-		XSD.String model optional,
-		XSD.String subModel optional,
-		XSD.String deviceType optional,
-		XSD.String deviceName optional,
-		XSD.String fwVersion optional,
-		XSD.String swVersion optional,
-		XSD.String hwVersion optional,
-		XSD.String osVersion optional,
-		XSD.String country optional,
-		XSD.String location optional,
-		Timestamp systemTime optional,
-		XSD.AnyURI supportURL optional,
-		XSD.AnyURI presentationURL optional,
-		ProtocolList protocol 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 Token_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,
-		TokenID tokenID optional,
-		DynAuthJWT tokenObject optional,
-		XSD.String version optional,
-		XSD.ID issuer optional,
-		XSD.ID holder optional,
-		Timestamp notBefore optional,
-		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,
-				Transaction transaction
-			} 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 CrossResourceSubscription_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,
-			ListOfURIs regularResourcesAsTarget optional,
-			ListOfURIs subscriptionResourcesAsTarget optional,
-			TimeWindowType timeWindowType optional,
-			AbsRelTimestamp timeWindowSize optional,
-			EventNotificationCriteriaSet eventNotificationCriteriaSet optional,
-			EventCat notificationEventCat optional,
-			XSD.PositiveInteger expirationCounter optional,
-			record of XSD.AnyURI notificationURI optional,
-			XSD.ID subscriberURI optional,
-			union {
-				record length(1 .. infinity) of ChildResourceRef childResource_list,
-				record length(1 .. infinity) of union {
-					Schedule schedule,
-					NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
-					Transaction transaction
-				} choice_list
-			} choice optional
-	}
-	with {
-		variant "name as uncapitalized";
-		variant "element";
-		variant (resourceName) "attribute";
-		variant (notificationURI) "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 OptionalResourceTypes
-	
-	
-	
-group InvalidTypes {
-		
-	type record AE_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,
-				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 AccessControlPolicy_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 union {
-				Subscription subscription,
-				Transaction transaction
-			} 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 Container_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 GenericInterworkingService_invalid
-	{
-		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 serviceName optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
-		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 Group_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_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_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_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_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,
-		ContentInfo contentInfo 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_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 set of charstring SetOfCharstring;
-
-	type enumerated PrimitiveProfileApplicability {
-		REQUESTS_TO_CSE (1),
-		RESPONSES_FROM_CSE (2),
-		REQUESTS_FROM_CSE (4),
-		RESPONSES_TO_CSE (8)
-	}
-
-	type enumerated SyncPoints {
-	   e_done  (0),
-	   e_error	(1)  
-	 }
-
-	type enumerated Configurations {
-		e_cf01,
-		e_cf02,
-		e_cf02CseSimuMaster,
-		e_cf03,
-		e_cf04,
-		e_cf05,
-		e_cf06,
-		e_cf06DasSimuMaster,
-		e_cf07,
-		e_cf07OSSimuMaster
-	};
-	
-	type enumerated TestSystemRole {
-		e_cse,
-		e_ae,
-		e_ae_ipe,
-		e_das,
-		e_os,
-		e_t8
-	};
-		
-	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,
-		e_hybrid
-	}
-		
-	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,
-		Token_optional token
-	}
-	with {
-		variant "untagged";
-	}		
-		
-	type record of ResourceType ResourceTypeList_1
-	with {
-		variant "name as uncapitalized";
-		variant "list";
-	};
-	
-	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,
-	OntologyRepository_optional ontologyRepository,
-	Ontology_optional ontology,
-	PollingChannel_optional pollingChannel,
-	PrimitveProfile_optional primitveProfile,
-	Request_optional request, 
-	RemoteCSE_optional remoteCSE,
-	RemoteCSEAnnc_optional remoteCSEAnnc,
-	Schedule_optional schedule,
-	ScheduleAnnc_optional scheduleAnnc,
-	StatsConfig_optional statsConfig,
-	StatsCollect_optional statsCollect,
-	EventConfig_optional eventConfig,
-	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
-	ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
-	ServiceSubscribedNode_optional serviceSubscribedNode,
-	ServiceSubscribedUserProfile_optional serviceSubscribedUserProfile,
-	Subscription_optional subscription,
-	SemanticDescriptor_optional semanticDescriptor,
-	SemanticMashupInstance_optional semanticMashupInstance,
-	SemanticMashupJobProfile_optional semanticMashupJobProfile,
-	SemanticMashupResult_optional semanticMashupResult,
-	TimeSeries_optional timeSeries,
-	TimeSeriesInstance_optional timeSeriesInstance,
-	TimeSeriesAnnc_optional timeSeriesAnnc,
-	TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
-	GenericInterworkingService_optional genericInterworkingService,
-	DynamicAuthorizationConsultation_optional dynamicAuthorizationConsultation,
-	GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance,
-	Role_optional role,
-	Token_optional token,
-	//HAIM 
-	DeviceAirConditioner_optional deviceAirConditioner,
-	DeviceClothesWasherDryer_optional deviceClothesWasherDryer,
-	DeviceElectricVehicleCharger_optional deviceElectricVehicleCharger,
-	DeviceLight_optional deviceLight,
-	DeviceMicrogeneration_optional deviceMicrogeneration,
-	DeviceOven_optional deviceOven,
-	DeviceRefrigerator_optional deviceRefrigerator,
-	DeviceRobotCleaner_optional deviceRobotCleaner,
-	DeviceSmartElectricMeter_optional deviceSmartElectricMeter,
-	DeviceStorageBattery_optional deviceStorageBattery,
-	DeviceTelevision_optional deviceTelevision,
-	DeviceThermostat_optional deviceThermostat,
-	DeviceWaterHeater_optional deviceWaterHeater,
-	BinarySwitch_optional binarySwitch,
-	FaultDetection_optional faultDetection,
-	RunState_optional runState,
-	Battery_optional battery,
-	ElectricVehicleConnector_optional electricVehicleConnector,
-	EnergyGeneration_optional energyGeneration,
-	EnergyConsumption_optional energyConsumption,
-	Temperature_optional temperature,
-	Turbo_optional turbo,
-	AirFlow_optional airFlow,
-	SpinLevel_optional spinLevel,
-	WaterFlow_optional waterFlow,
-	Timer timerAction,
-	TelevisionChannel_optional televisionChannel,
-	Brightness_optional brightness,
-	Colour_optional colour,
-	ColourSaturation_optional colourSaturation,
-	DoorStatus_optional doorStatus,
-	PowerSave_optional powerSave,
-	MediaInput_optional mediaInput,
-	AudioVolume_optional audioVolume,
-	Boiler_optional boiler,
-	Clock_optional clock,
-	HotWaterSupply_optional hotWaterSupply,
-	DeviceInfo_optional deviceInfo,
-	CrossResourceSubscription_optional crossResourceSubscription,
-	//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_invalid aE_invalid,
-	AccessControlPolicy_invalid accessControlPolicy_invalid,
-	Container_invalid container_invalid,
-	GenericInterworkingService_invalid genericInterworkingService_invalid,
-	Group_invalid group_invalid,
-	PollingChannel_invalid pollingChannel_invalid,
-	Schedule_invalid schedule_invalid,
-	Subscription_invalid subscription_invalid,
-	LocationPolicy_invalid locationPolicy_invalid,
-	TimeSeries_invalid timeSeries_invalid 
-}
-	
-}
-
-	group tsSettings {
-
-	/**
-	 * @desc Authorized protocol bindings
-	 * @member e_http HTTP protocol binding
-	 * @member e_coap CoAP protocol binding
-	 * @member e_mqtt MQTT protocol binding
-	 * @member e_ws   WebSocket protocol binding
-	 */
-	type enumerated ProtocolBindings {
-		e_http (0),
-		e_coap (1),
-		e_mqtt (2),
-		e_wsck (3)
-	}
-    
-	/**
-	 * @desc Authorized serialization representations
-	 * @member e_xml   Data serialization using XML
-	 * @member e_json Data serialization using JSON
-	 * @member e_cbor  Data serialization using CBOR
-	 */
-	type charstring SerializationRepresentations (pattern "(xml|json|cbor)");
-    
-	/**
-	 * @desc Basic description of a Protocol Binding settings
-	 * @member tsAddress  Test System IP address
-	 * @member remotePort Remote port (SUT listener port)
-	 * @member localPort  Test Adapter listener port (used by mcxPortIn) or,
-	 *                    The local client port. In this case, the value 'omit' is interpreted as random port number by the Test Adapter
-	 * @member sutAddress SUT IP address, optional.
-	 *                    If omitted, the SUT IP address defined in SutDesc data structure will be used by the Test Adapter
-	 */
-	type record BindingDesc {
-		charstring       tsAddress,
-		integer          remotePort optional,
-		integer          localPort optional,
-		charstring       sutAddress,
-		boolean          useTls
-	}
-    
-	/**
-	 * @desc HTTP binding protocol settings
-	 */
-	type record HttpBindingDesc {
-		ProtocolBindings bindingProtocol (e_http),
-		BindingDesc      bindingDesc
-	}
-    
-	/**
-	 * @desc COAP binding protocol settings
-	 */
-	type record CoapBindingDesc {
-		ProtocolBindings bindingProtocol (e_coap),
-		BindingDesc      bindingDesc
-	}
-    
-	/**
-	 * @desc MQTT binding protocol settings
-	 * @member bindingProtocol 
-	 * @member hostingCSE_ID   
-	 * @member credentialId    
-	 * @member bindingDesc     
-	 */
-	type record MqttBindingDesc {
-		ProtocolBindings bindingProtocol (e_mqtt),
-		BindingDesc      bindingDesc,
-		XSD.ID       	 originator optional,
-		XSD.ID		     receiver optional
-	}
-    
-	/**
-	 * @desc WebSocket binding protocol settings 
-	 */
-	type record WSBindingDesc {
-		ProtocolBindings bindingProtocol (e_wsck),
-		BindingDesc      bindingDesc,
-		charstring       requestUri 
-	}
-    
-	type union BindingProtocolsSelect {
-		HttpBindingDesc httpBindingDesc,
-		CoapBindingDesc coapBindingDesc,
-		MqttBindingDesc mqttBindingDesc,
-		WSBindingDesc   wsBindingDesc
-	}
-
-	template BindingProtocolsSelect m_httpBindingDesc := {
-		httpBindingDesc := ?
-	}
-        
-	/**
-	 * @desc 
-	 * @member binding
-	 * @member serialization
-	 */
-	type record PortDesc {
-		BindingProtocolsSelect binding,
-		TransportSecurity security optional,
-		SerializationRepresentations serialization
-	}	
-	
-	/**
-	 * @desc 
-	 * @member binding
-	 * @member serialization
-	 */
-	type record T8PortDesc {
-		BindingProtocolsSelect binding ({httpBindingDesc := ?}),
-		SerializationRepresentations serialization ("json")
-	}
-	
-	type BindingProtocolsSelect MyInterface ({httpBindingDesc:=?}, {coapBindingDesc := ?});
-	
-	/**
-	 * @desc 
-	 * @member binding
-	 * @member serialization
-	 */
-	type union McnPortDesc {
-		T8PortDesc t8PortDesc
-	}
-    
-	template McnPortDesc m_t8PortDesc := {
-		t8PortDesc := ?
-	}
-	
-	/**
-	 * @desc Transport Layer security description
-	 *       Apply for both TSL and DTLS
-	 * @member rootCert Test System root ca or internmediate root CA
-	 * @member trustedCerts IUT cerver certificate, including IUT root ca or internmediate root CA
-	 * @member serverSign Signature Test System certificate for the server side
-	 * @member serverEnc Encryption Test System certificate for the server side
-	 * @member clientSign Signature Test System certificate for the client side
-	 * @member clientEnc Encryption Test System certificate for the client side
-	 * @member psk_identity TLS-PSK identity
-	 * @member psk_key TLS-PSK shared secret
-	 */
-	type record TransportSecurity {
-		charstring rootCert,
-		charstring trustedCerts,
-		charstring serverSign,
-		charstring serverEnc,
-		charstring clientSign,
-		charstring clientEnc,
-		octetstring psk_identity optional,
-		octetstring psk_key optional
-	}
-    
-	/**
-	 * @desc UpperTester component settings
-	 * @member requestId    
-	 * @member url     Test System IP address
-	 */
-	type record UrlDesc {
-		charstring url
-	}
-    
-	/**
-	 * @desc AeSimu component settings
-	 * @member mcaPort   TTCN-3 'mca' protocol for sending to the SUT
-	 * @member mcaPortIn TTCN-3 'mca' protocol for receiving from the SUT
-	 */
-	type record AeSimuComponentDesc {
-		/**
-		 * @desc Test System AE-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1
-		 */			
-		XSD.ID aeIdStem optional,
-		/**
-		 * @desc Test System APP-ID with App-ID format according to TS-0001-7.2-1
-		 */		
-		XSD.ID appId,
-		PortDesc mcaPort,
-		PortDesc mcaPortIn
-	}
-    
-	/**
-	 * @desc CseSimu component settings
-	 * @member mcaPort   TTCN-3 'mca' protocol for sending to the SUT
-	 * @member mcaPortIn TTCN-3 'mca' protocol for receiving from the SUT
-	 * @member mccPort   TTCN-3 'mcc' protocol for sending to the SUT
-	 * @member mccPortIn TTCN-3 'mcc' protocol for receiving from the SUT
-	 */
-	type record CseSimuComponentDesc {
-		/**
-		 * @desc Test System CSE Name
-		 */	
-		XSD.ID cseName, 
-		/**
-		 * @desc Test System CSE-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1
-		 */		
-		XSD.ID cseId,
-		/**
-		 * @desc Test System CSE resource ID with Unstructured-CSE-relative-Resource-ID (relative) format according to TS-0001-7.2-1
-		 */			
-		XSD.ID cseResourceId,
-		/**
-		 * @desc Test System M2M-SP-ID with M2M-SP-ID format (absolute) according to TS-0001-7.2-1 Unstructured-CSE-relative -Resource-ID
-		 */
-		XSD.ID spId,
-		/**
-		 * @desc Test System CSE Supported resource type
-		 */	
-		ResourceTypeList_1 supportedResourceType,
-		PortDesc mcaPort,
-		PortDesc mcaPortIn,
-		PortDesc mccPort,
-		PortDesc mccPortIn
-	}
-
-	/**
-	 * @desc ScefSimu component settings
-	 * @member mcnPort   TTCN-3 'mcn' protocol for sending to the SUT
-	 * @member mcnPortIn TTCN-3 'mcn' protocol for receiving from the SUT
-	 */
-	type record ScefSimuComponentDesc {
-		/**
-		 * @desc Test System SCEF ID
-		 */	
-		XSD.ID scefId, 
-		McnPortDesc mcnPort ({t8PortDesc := ?}),
-		McnPortDesc mcnPortIn ({t8PortDesc := ?})
-	}
-	
-} 
-with {
-  encode "adapter";
-} // End of group tsSettings
-	
-	
-group Values {
-	 const XSD.Base64Binary c_validDescriptor := char2oct("<?xml version=""1.0""?>"&c_CRLF&
-						"<rdf:RDF xmlns=""http://www.onem2m.org/ontology/houses_temperature_example#"""&c_CRLF&
-	 c_TAB&c_TAB&"xml:base=""http://www.onem2m.org/ontology/houses_temperature_example"""&c_CRLF&c_CRLF&
-	 c_TAB&c_TAB&"xmlns:temperature_example=""http://www.onem2m.org/ontology/temperature_example#"""&c_CRLF&
-	 c_TAB&c_TAB&"xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#"""&c_CRLF&
-	 c_TAB&c_TAB&"xmlns:owl=""http://www.w3.org/2002/07/owl#"""&c_CRLF&
-	 c_TAB&c_TAB&"xmlns:xml=""http://www.w3.org/XML/1998/namespace"""&c_CRLF&
-	 c_TAB&c_TAB&"xmlns:xsd=""http://www.w3.org/2001/XMLSchema#"""&c_CRLF&
-	 c_TAB&c_TAB&"xmlns:rdfs=""http://www.w3.org/2000/01/rdf-schema#"">"&c_CRLF&
-	 "<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#Fridge1"">"&c_CRLF&
-	 "<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#Fridge""/>"&c_CRLF&
-	 "<temperature_example:hasFridgeTemperature rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty""/>"&c_CRLF&
-	"</owl:NamedIndividual>"&c_CRLF&
-	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty"">"&c_CRLF&
-	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureProperty""/>"&c_CRLF&
-	"<temperature_example:hasDatatype>xsd:double</temperature_example:hasDatatype>"&c_CRLF&
-	"<temperature_example:hasUnit rdf:datatype=""http://www.w3.org/2001/XMLSchema#string"">Celsius</temperature_example:hasUnit>"&c_CRLF&
-	"<temperature_example:valueIsStoredIn>http://in.provider.com:7579/server/tempsensorae4/temperature/latest</temperature_example:valueIsStoredIn>"&c_CRLF&
-	"</owl:NamedIndividual>"&c_CRLF&
-	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempSensor"">"&c_CRLF&
-	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureSensor""/>"&c_CRLF&
-	"<temperature_example:hasTemperatureMeasuringFunction rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#TempFunction4""/>"&c_CRLF&
-	"</owl:NamedIndividual>"&c_CRLF&
-	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#TempFunction4"">"&c_CRLF&
-	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureMeasuringFunction""/>"&c_CRLF&
-	"<temperature_example:measuresTemperature rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty""/>"&c_CRLF&
-	"</owl:NamedIndividual>"&c_CRLF&
-	"</rdf:RDF>");
-	
-	const charstring  c_encodedValidDescriptor := "PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxyZGY6UkRGIHhtbG5zPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjIgogICAgIHhtbDpiYXNlPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUiCiAgICAgeG1sbnM6dGVtcGVyYXR1cmVfZXhhbXBsZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L3RlbXBlcmF0dXJlX2V4YW1wbGUjIgogICAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgICB4bWxuczpvd2w9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsIyIKICAgICB4bWxuczp4bWw9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIKICAgICB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyIKICAgICB4bWxuczpyZGZzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIj4KCiAgICA8b3dsOk5hbWVkSW5kaXZpZHVhbCByZGY6YWJvdXQ9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSNIb3VzZTEiPgogICAgICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS90ZW1wZXJhdHVyZV9leGFtcGxlI0hvdXNlIi8+CiAgICAgICAgPHRlbXBlcmF0dXJlX2V4YW1wbGU6aGFzSW5kb29yVGVtcGVyYXR1cmUgcmRmOnJlc291cmNlPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjSW5kb29yVGVtcFByb3BlcnR5MSIvPgogICAgPC9vd2w6TmFtZWRJbmRpdmlkdWFsPgoKICAgIDxvd2w6TmFtZWRJbmRpdmlkdWFsIHJkZjphYm91dD0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L2hvdXNlc190ZW1wZXJhdHVyZV9leGFtcGxlI0luZG9vclRlbXBQcm9wZXJ0eTEiPgogICAgICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS90ZW1wZXJhdHVyZV9leGFtcGxlI1RlbXBlcmF0dXJlUHJvcGVydHkiLz4KICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNEYXRhdHlwZT54c2Q6aW50PC90ZW1wZXJhdHVyZV9leGFtcGxlOmhhc0RhdGF0eXBlPgogICAgICAgIDx0ZW1wZXJhdHVyZV9leGFtcGxlOmhhc1VuaXQ+RmFocmVuaGVpdDwvdGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNVbml0PgogICAgICAgIDx0ZW1wZXJhdHVyZV9leGFtcGxlOnZhbHVlSXNTdG9yZWRJbj5odHRwOi8vaW4ucHJvdmlkZXIuY29tOjc1Nzkvc2VydmVyL3RlbXBzZW5zb3JhZTEvdGVtcGVyYXR1cmUvbGF0ZXN0PC90ZW1wZXJhdHVyZV9leGFtcGxlOnZhbHVlSXNTdG9yZWRJbj4KICAgIDwvb3dsOk5hbWVkSW5kaXZpZHVhbD4KCiAgICA8b3dsOk5hbWVkSW5kaXZpZHVhbCByZGY6YWJvdXQ9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSNJbmRvb3JUZW1wU2Vuc29yMSI+CiAgICAgICAgPHJkZjp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L3RlbXBlcmF0dXJlX2V4YW1wbGUjVGVtcGVyYXR1cmVTZW5zb3IiLz4KICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNUZW1wZXJhdHVyZU1lYXN1cmluZ0Z1bmN0aW9uIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L2hvdXNlc190ZW1wZXJhdHVyZV9leGFtcGxlI1RlbXBGdW5jdGlvbjEiLz4KICAgIDwvb3dsOk5hbWVkSW5kaXZpZHVhbD4KCjwvcmRmOlJERj4=";
-					
-	
-}//end of Values group
-	
-} 
-// end of module
+/**
+ *  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/ETSI
+ *  @desc       Module containing types and values for oneM2M
+ *
+ */
+module OneM2M_TypesAndValues {
+
+	import from XSD all;
+	import from OneM2M_Types all;
+	import from OneM2M_Types_homeDevice all;
+	import from LibCommon_TextStrings all;
+
+	group ResourceNames {
+		/* Constants */	
+		const XSD.String c_defaultResourceName := "MyResource";
+		const XSD.String c_defaultGroupResourceName := "MyGroupResource";
+		const XSD.String c_defaultGroupAnncResourceName := "MyGroupAnncResource";
+		const XSD.String c_defaultAccessControlPolicyResourceName := "MyAccessControlPolicyResource";
+		const XSD.String c_defaultAccessControlPolicyAnncResourceName := "MyAccessControlPolicyAnncResource";
+		const XSD.String c_defaultScheduleResourceName := "MyScheduleResource";
+		const XSD.String c_defaultPollingChannelResourceName := "MyPollingChannelResource";
+		const XSD.String c_defaultSubscriptionResourceName := "MySubscriptionResource";
+		const XSD.String c_defaultContentInstanceResourceName := "MyContentInstanceResource";
+		const XSD.String c_defaultContainerResourceName := "MyContainerResource";
+		const XSD.String c_defaultContainerAnncResourceName := "MyContainerAnncResource";
+		const XSD.String c_defaultDeliveryResourceName := "MyDeliveryResource";
+		const XSD.String c_defaultRemoteCSEResourceName := "MyRemoteCSEResource";
+		const XSD.String c_defaultRemoteCSEAnncResourceName := "MyRemoteCSEAnncResource";
+		const XSD.String c_defaultMgmtObjResourceName := "MyMgmtObjResource";
+		const XSD.String c_defaultMgmtCmdResourceName := "MyMgmtCmdResource";
+		const XSD.String c_defaultLocationPolicyResourceName := "MyLocationPolicyResource";
+		const XSD.String c_defaultNodeResourceName := "MyNodeResource";
+		const XSD.String c_defaultNodeID := "MyNodeId";
+		const XSD.String c_defaultRequestResourceName := "MyRequestResource";
+		const XSD.String c_dynamicAuthorizationConsultationName := "MyDynamicAuthorizationConsultation";
+		const XSD.String c_defaultStatsConfigResourceName := "MyStatsConfigResource";
+		const XSD.String c_defaultEventConfigResourceName := "MyEventConfigResource";
+		const XSD.String c_defaultEventConfigEventID := "MyEventConfigID";
+		const XSD.String c_defaultStatsCollectResourceName := "MyStatsCollectResource";
+		const XSD.String c_defaultm2mServiceSubscriptionProfileResourceName := "Mym2mServiceSubscriptionProfileResource";
+		const XSD.String c_defaultServiceSubscribedAppRuleResourceName := "MyServiceSubscribedAppRuleResource";
+		const XSD.String c_defaultServiceSubscribedUserProfileResourceName := "MyServiceSubscribedUserProfileResourceName";
+		const XSD.String c_defaultTimeSeriesResourceName := "MyTimeSeriesResource";
+		const XSD.String c_defaultTimeSeriesAnncResourceName := "MyTimeSeriesAnncResource";
+		const XSD.String c_defaultTimeSeriesInstanceResourceName := "MyTimeSeriesInstanceResource";
+		const XSD.String c_defaultTimeSeriesInstanceAnncResourceName := "MyTimeSeriesInstanceAnncResource";
+		const XSD.String c_defaultRoleResourceName := "MyRoleResource";
+		const XSD.String c_defaultTokenResourceName := "MyTokenResource";
+		const XSD.String c_defaultGenericInterworkingServiceResourceName := "MyGenericInterworkingServiceResource"; //<genericInterworkingService>
+		const XSD.String c_defaultPrimitiveProfileceResourceName := "MyPrimitiveProfileResource";
+		const XSD.String c_defaultAe1ResourceName := "MyAe1";
+		const XSD.String c_defaultAe2ResourceName := "MyAe2";
+		const XSD.String c_defaultAcpResourceName := "MyAcp";
+		const charstring c_invalid_location_update_period	:= "-PT30M10S" ;//duration set to invalid value  (minus value)
+		const XSD.ID c_resourceShortNameLatest := "la";		//<latest>
+		const XSD.ID c_resourceShortNameOldest := "ol";		//<oldest>
+		const XSD.ID c_resourceShortNameFanOutPoint := "fopt"; //<fanOutPoint>
+		const XSD.ID c_resourceShortNamePollingChannelUri := "pcu"; //<pollingChannelUri>
+		const XSD.ID c_resourceShortNameMashup := "msp"; //<mashup>
+		const XSD.ID c_resourceShortNameSemanticFanOutPoint := "sfop"; //<semanticFanOutPoint>
+		const XSD.ID c_resourceShortNameSemanticValidation := "smv"; //<semanticValidation>
+		const XSD.String c_defaultMmemberFilter := " PREFIX foaf:  <http://xmlns.com/foaf/0.1/> SELECT ?name WHERE { ?person foaf:name ?name . }"; // <semanticMashupJobProfile>
+	}
+	
+	group AccessControlOperations {
+	//AccessControlOperations
+	const XSD.Integer c_C   := 1;
+	const XSD.Integer c_R   := 2; 
+	const XSD.Integer c_CR   := 3; 
+	const XSD.Integer c_U   := 4; 
+	const XSD.Integer c_CU   := 5; 
+	const XSD.Integer c_RU   := 6; 
+	const XSD.Integer c_CRU   := 7; 
+	const XSD.Integer c_D   := 8;
+	const XSD.Integer c_CD   := 9; 
+	const XSD.Integer c_RD   := 10; 
+	const XSD.Integer c_CRD   := 11; 
+	const XSD.Integer c_UD   := 12; 
+	const XSD.Integer c_CUD   := 13; 
+	const XSD.Integer c_RUD   := 14; 
+	const XSD.Integer c_CRUD   := 15; 
+	const XSD.Integer c_N   := 16;
+	const XSD.Integer c_CN   := 17; 
+	const XSD.Integer c_RN   := 18; 
+	const XSD.Integer c_CRN   := 19; 
+	const XSD.Integer c_UN   := 20;
+	const XSD.Integer c_CUN   := 21; 
+	const XSD.Integer c_RUN   := 22; 
+	const XSD.Integer c_CRUN   := 23; 
+	const XSD.Integer c_DN   := 24;
+	const XSD.Integer c_CDN   := 25; 
+	const XSD.Integer c_RDN   := 26; 
+	const XSD.Integer c_CRDN   := 27; 
+	const XSD.Integer c_UDN   := 28;
+	const XSD.Integer c_CUDN   := 29; 
+	const XSD.Integer c_RUDN   := 30; 
+	const XSD.Integer c_CRUDN   := 31; 
+	const XSD.Integer c_Di   := 32;
+	const XSD.Integer c_CDi   := 33; 
+	const XSD.Integer c_RDi   := 34; 
+	const XSD.Integer c_CRDi   := 35; 
+	const XSD.Integer c_UDi   := 36;
+	const XSD.Integer c_CUDi   := 37; 
+	const XSD.Integer c_RUDi   := 38; 
+	const XSD.Integer c_CRUDi   := 39; 
+	const XSD.Integer c_DDi   := 40;
+	const XSD.Integer c_CDDi   := 41; 
+	const XSD.Integer c_RDDi   := 42; 
+	const XSD.Integer c_CRDDi   := 43; 
+	const XSD.Integer c_UDDi  := 44;
+	const XSD.Integer c_CUDDi   := 45; 
+	const XSD.Integer c_RUDDi   := 46; 
+	const XSD.Integer c_CRUDDi   := 47; 
+	const XSD.Integer c_NDi   := 48;
+	const XSD.Integer c_CNDi   := 49; 
+	const XSD.Integer c_RNDi   := 50; 
+	const XSD.Integer c_CRNDi   := 51; 
+	const XSD.Integer c_UNDi   := 52;
+	const XSD.Integer c_CUNDi   := 53; 
+	const XSD.Integer c_RUNDi   := 54; 
+	const XSD.Integer c_CRUNDi   := 55; 
+	const XSD.Integer c_DNDi   := 56;
+	const XSD.Integer c_CDNDi   := 57; 
+	const XSD.Integer c_RDNDi   := 58; 
+	const XSD.Integer c_CRDNDi   := 59; 
+	const XSD.Integer c_UDNDi   := 60;
+	const XSD.Integer c_CUDNDi   := 61; 
+	const XSD.Integer c_RUDNDi   := 62; 
+	const XSD.Integer c_CRUDNDi   := 63;	
+	}
+	
+/* ******************************************
+ * 		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
+} 
+	
+	/**
+	 * @desc Type for the oneM2M primitives exchange
+	 * @member primitive oneM2M primitive
+	 */
+	type record MsgIn {
+		union {
+			RequestPrimitive requestPrimitive,
+			ResponsePrimitive responsePrimitive
+		} primitive, 
+		AttributeList_1 nullFields optional
+	}
+	
+	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;
+	
+	group ESPrimConfiguration {
+	
+		/**
+		 * 
+		 * @desc 8.4.2 Step E
+		 */
+		type enumerated PairwiseKeyMethod {
+			e_establish,
+			e_MAFFramework,
+			e_supportIndication
+		};
+		
+		/**
+		 * 
+		 * @desc 8.4.2 Step E-A
+		 */
+		type enumerated Provisioned {
+			e_preProvisioning,
+			e_RSPF,
+			e_ESCertKE
+		};
+	
+	}// end group ESPrimConfiguration
+	
+
+/* **********************************
+* 		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,
+		ListOfURIs authorizationDecisionResourceIDs optional,
+		ListOfURIs authorizationPolicyResourceIDs optional,
+		ListOfURIs authorizationInformationResourceIDs optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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 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,
+		ListOfURIs authorizationDecisionResourceIDs optional,
+		ListOfURIs authorizationPolicyResourceIDs optional,
+		ListOfURIs authorizationInformationResourceIDs optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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 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,
+		ExternalID m2M_Ext_ID optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
+		AERegistrationStatus registrationStatus optional,
+		XSD.Boolean trackRegistrationPoints optional,
+		SessionCapabilities sessionCapabilities optional,
+		XSD.Boolean triggerEnable optional,
+		ActivityPatternElements activityPatternElements 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,
+				SemanticDescriptor semanticDescriptor,
+				TimeSeries timeSeries,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				SemanticMashupInstance semanticMashupInstance,
+				MultimediaSession multimediaSession,
+				CrossResourceSubscription crossResourceSubscription,
+				TriggerRequest triggerRequest,
+				TransactionMgmt transactionMgmt,
+				Transaction transaction,
+				PrimitveProfile primitiveProfile
+			} 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,
+		AERegistrationStatus registrationStatus optional,
+		XSD.Boolean trackRegistrationPoints optional,
+		SessionCapabilities sessionCapabilities optional,
+		XSD.Boolean triggerEnable optional,
+		ActivityPatternElements activityPatternElements 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,
+				SemanticDescriptor semanticDescriptor,
+				TimeSeries timeSeries,
+				TimeSeriesAnnc timeSeriesAnnc,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
+				SemanticMashupInstance semanticMashupInstance,
+				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
+				MultimediaSession multimediaSession,
+				MultimediaSessionAnnc multimediaSessionAnnc,
+				CrossResourceSubscription crossResourceSubscription,
+				TriggerRequest triggerRequest,
+				TransactionMgmt transactionMgmt,
+				Transaction transaction
+			} 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,
+				Transaction transaction
+			} 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,
+		XSD.AnyURI mgmtSchema 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,
+		XSD.AnyURI mgmtSchema 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,
+		XSD.AnyURI nodeLink 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,
+		XSD.AnyURI nodeLink 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,
+		GeoCoordinates location optional,  //TODO Manually added until XSD files are updated
+		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,
+				TimeSeries timeSeries,
+				Transaction transaction
+			} 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,
+				TimeSeries timeSeries,
+				TimeSeriesAnnc timeSeriesAnnc,
+				Transaction transaction
+			} 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 union {
+				SemanticDescriptor semanticDescriptor,
+				Transaction transaction
+			} 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 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 union {
+				SemanticDescriptor semanticDescriptor,
+				Transaction transaction
+			} 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 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,
+		Serializations contentSerialization 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,
+				AuthorizationDecision_1 authorizationDecision,
+				AuthorizationPolicy authorizationPolicy,
+				AuthorizationInformation authorizationInformation,
+				OntologyRepository ontologyRepository,
+				SemanticMashupJobProfile semanticMashupJobProfile,
+				SemanticMashupInstance semanticMashupInstance,
+				AEContactList aEContactList,
+				LocalMulticastGroup localMulticastGroup,
+				CrossResourceSubscription crossResourceSubscription,
+				BackgroundDataTransfer backgroundDataTransfer,
+				TransactionMgmt transactionMgmt,
+				Transaction transaction,
+				PrimitveProfile primitiveProfile
+			} 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.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 GenericInterworkingService_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 serviceName optional,
+		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 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,
+		SpecializationType specializationType 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,
+				Transaction transaction
+			} 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_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,
+		SpecializationType specializationType 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,
+				Transaction transaction
+			} 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,
+		ExternalID authID optional,
+		XSD.Boolean retrieveLastKnownLocation optional,
+		LocationUpdateEventCriteria locationUpdateEventCriteria optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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,
+		ExternalID authID optional,
+		XSD.Boolean retrieveLastKnownLocation optional,
+		LocationUpdateEventCriteria locationUpdateEventCriteria optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Transaction transaction
+			} choice_list
+		} choice 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,
+		//TODO To be removed/replaced by the type defined in XSDs
+		XSD.ID M2M_Sub_ID optional,
+		XSD.ID M2M_SS_ID optional,	
+		ServiceSubscriptionStatus Status optional ,
+		XSD.Boolean Activate optional,
+		Timestamp activationTime optional,
+		Timestamp deactivationTime optional,
+		XSD.Duration serviceSubscriptionDuration optional,
+		XSD.NonNegativeInteger currentNumAEs optional,
+		XSD.NonNegativeInteger maxNumAEs optional,
+		XSD.NonNegativeInteger maxNumNodes optional,
+		XSD.NonNegativeInteger maxNumBytes optional,
+		XSD.NonNegativeInteger maxRequestRate optional,
+		XSD.NonNegativeInteger maxNumContainers optional,
+		XSD.NonNegativeInteger maxNumInstancesPerContainer optional,
+		XSD.NonNegativeInteger maxNumTimeSeries optional,
+		XSD.NonNegativeInteger maxNumInstancesPerTimeSeries optional,
+		XSD.NonNegativeInteger maxMembersPerGroup optional,
+		XSD.NonNegativeInteger maxNotificationRate optional,
+		XSD.NonNegativeInteger maxNumFlexContainers optional,
+		XSD.NonNegativeInteger maxNumInstancesPerFlexContainer optional,
+		XSD.NonNegativeInteger maxNumUsers optional,
+		SetOfAcrs defaultAccessControlPrivileges optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ServiceSubscribedNode serviceSubscribedNode,
+				Subscription subscription,
+				Transaction transaction,
+				//TODO To be removed/replaced by the type defined in XSDs
+				ServiceSubscribedUserProfile_optional serviceSubscribedUserProfile
+			} 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,
+		ListOfM2MID hostedAELinks optional,
+		ListOfM2MID hostedServiceLinks optional,
+		XSD.String mgmtClientAddress optional,
+		XSD.Boolean roamingStatus optional,
+		XSD.String networkID 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,
+				Transaction transaction,
+				Schedule schedule
+			} 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,
+		ListOfM2MID hostedAELinks optional,
+		ListOfM2MID hostedServiceLinks optional,
+		XSD.String mgmtClientAddress optional,
+		XSD.Boolean roamingStatus optional,
+		XSD.String networkID 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,
+				Transaction transaction,
+				Schedule schedule
+			} 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 OntologyRepository_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,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Ontology ontology,
+				Transaction transaction
+			} 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 Ontology_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,
+		XSD.String description optional,
+		SemanticFormat ontologyFormat optional,
+		XSD.AnySimpleType ontologyContent optional,//FIXME Use AnySimpleType instead
+		Sparql semanticOpExec optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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 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,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Transaction transaction
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+
+	type record PrimitveProfile_optional
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp creationTime optional,
+		Timestamp expirationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.ID creator optional,
+		ListOfM2MID IDList optional,
+		ResourceTypeList resourceTypes optional,
+		ListOfOperations operations optional,
+		ListOfURIs resourceIDs optional,
+		SupportedReleaseVersions releaseVersions optional,
+		ListOfAttributes additions optional,
+		AttributeList deletions optional,
+		ListOfAttributes modifications optional,
+		PrimitiveProfileApplicability applicability optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} choice_list
+		} choice 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,
+		Serializations contentSerialization optional,
+		E2eSecInfo e2eSecInfo optional,
+		ListOfM2MID descendantCSEs optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
+		MulticastCapability multicastCapability optional,
+		ExternalID externalGroupID optional,
+		XSD.Boolean triggerEnable optional,
+		ActivityPatternElements activityPatternElements 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,
+				TimeSeries timeSeries,
+				TimeSeriesAnnc timeSeriesAnnc,
+				LocationPolicyAnnc locationPolicyAnnc,
+				AEAnnc aEAnnc,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
+				OntologyRepositoryAnnc ontologyRepositoryAnnc,
+				SemanticMashupJobProfile semanticMashupJobProfile,
+				SemanticMashupJobProfileAnnc semanticMashupJobProfileAnnc,
+				SemanticMashupInstance semanticMashupInstance,
+				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
+				CrossResourceSubscription crossResourceSubscription,
+				TransactionMgmt transactionMgmt,
+				Transaction transaction,
+				PrimitveProfile primitiveProfile
+			} 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,
+		Serializations contentSerialization optional,
+		E2eSecInfo e2eSecInfo optional,
+		ListOfM2MID descendantCSEs optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
+		MulticastCapability multicastCapability optional,
+		ExternalID externalGroupID optional,
+		XSD.Boolean triggerEnable optional,
+		ActivityPatternElements activityPatternElements 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,
+				LocationPolicyAnnc locationPolicyAnnc,
+				TimeSeries timeSeries,
+				TimeSeriesAnnc timeSeriesAnnc,
+				AEAnnc aEAnnc,
+				Sg_flexContainerResource_group sg_flexContainerResource,
+				Sg_announcedFlexContainerResource_group sg_announcedFlexContainerResource,
+				OntologyRepositoryAnnc ontologyRepositoryAnnc,
+				SemanticMashupJobProfile semanticMashupJobProfile,
+				SemanticMashupJobProfileAnnc semanticMashupJobProfileAnnc,
+				SemanticMashupInstance semanticMashupInstance,
+				SemanticMashupInstanceAnnc semanticMashupInstanceAnnc,
+				CrossResourceSubscription crossResourceSubscription,
+				TransactionMgmt transactionMgmt,
+				Transaction transaction
+			} 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,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		ScheduleEntries scheduleElement optional,
+		XSD.Boolean networkCoordinated optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.AnyURI link optional,
+		ScheduleEntries scheduleElement optional,
+		XSD.Boolean networkCoordinated optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Transaction transaction
+			} choice_list
+		} choice 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,
+		SemanticFormat descriptorRepresentation optional,
+		Sparql semanticOpExec optional,
+		XSD.Base64Binary descriptor optional,
+		XSD.AnyURI ontologyRef optional,
+		ListOfURIs relatedSemantics optional,
+		XSD.Boolean semanticValidated optional,
+		XSD.Boolean validationEnable optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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,
+		SemanticFormat descriptorRepresentation optional,
+		Sparql semanticOpExec optional,
+		XSD.Base64Binary descriptor optional,
+		XSD.AnyURI ontologyRef optional,
+		ListOfURIs relatedSemantics optional,
+		XSD.Boolean semanticValidated optional,
+		XSD.Boolean validationEnable optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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 SemanticMashupJobProfile_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,
+		Sparql memberFilter optional,
+		ListOfURIs smiID optional,
+		XSD.Base64Binary inputDescriptor optional,
+		XSD.Base64Binary outputDescriptor optional,
+		XSD.Base64Binary functionDescriptor optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+	type record SemanticMashupInstance_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,
+		XSD.AnyURI smjpID optional,
+		XSD.Base64Binary smjpInputParameter optional,
+		MashupMemberStoreType memberStoreType optional,
+		MashupMembers mashupMember optional,
+		MashupResultGenType resultGenType optional,
+		XSD.Duration periodForResultGen optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+
+
+	type record SemanticMashupResult_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,
+		XSD.Base64Binary smjpInputParameter optional,
+		Serializations mashupResultFormat optional,
+		XSD.Base64Binary mashupResult optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+	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,
+		// TODO: To update once oneM2MTypes is updated
+		ListOfM2MID allowedUsers optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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,
+		XSD.Boolean niddRequired optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} 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";
+	};
+	
+    //TODO To be removed/replaced by the type defined in XSDs
+	type record ServiceSubscribedUserProfile_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 M2M_User_ID optional,
+		XSD.NonNegativeInteger maxNumAEs optional,
+		XSD.NonNegativeInteger maxNumNodes optional,
+		XSD.NonNegativeInteger maxNumBytes optional,
+		XSD.NonNegativeInteger maxRequestRate optional,
+		XSD.NonNegativeInteger maxNumContainers optional,
+		XSD.NonNegativeInteger maxNumInstancesPerContainer optional,
+		XSD.NonNegativeInteger maxNumTimeSeries optional,
+		XSD.NonNegativeInteger maxNumInstancesPerTimeSeries optional,
+		XSD.NonNegativeInteger maxMembersPerGroup optional,
+		XSD.NonNegativeInteger maxNotificationRate optional,
+		XSD.NonNegativeInteger maxNumFlexContainers optional,
+		XSD.NonNegativeInteger maxNumInstancesPerFlexContainer optional,
+		SetOfAcrs defaultAccessControlPrivileges optional
+	};
+
+	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 subscription,
+				Transaction transaction
+			} 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,
+				Transaction transaction
+			} 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 EventConfig_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 eventID optional,
+		EventType eventType optional,
+		Timestamp eventStart optional,
+		Timestamp eventEnd optional,
+		record of Operation operationType optional,
+		XSD.NonNegativeInteger dataSize optional,
+		ResourceTypeList eventResourceTypes optional,
+		ListOfURIs eventResourceIDs optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} choice_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.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,
+		ListOfURIs associatedCrossResourceSub optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Schedule schedule,
+				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
+				Transaction transaction
+			} 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.ID creator optional,
+		XSD.NonNegativeInteger maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances optional,
+		XSD.NonNegativeInteger currentByteSize optional,
+		XSD.PositiveInteger periodicInterval optional,
+		XSD.Boolean missingDataDetect optional,
+		XSD.PositiveInteger missingDataMaxNr optional,
+		MissingDataList missingDataList optional,
+		XSD.NonNegativeInteger missingDataCurrentNr optional,
+		XSD.PositiveInteger missingDataDetectTimer optional,
+		XSD.AnyURI ontologyRef optional,
+		ContentInfo contentInfo optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				TimeSeriesInstance timeSeriesInstance,
+				Subscription subscription,
+				SemanticDescriptor semanticDescriptor,
+				Transaction transaction
+			} 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 maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances optional,
+		XSD.NonNegativeInteger currentByteSize optional,
+		XSD.PositiveInteger periodicInterval optional,
+		XSD.PositiveInteger missingDataMaxNr optional,
+		MissingDataList missingDataList optional,
+		XSD.NonNegativeInteger missingDataCurrentNr optional,
+		XSD.PositiveInteger missingDataDetectTimer optional,
+		XSD.AnyURI ontologyRef optional,
+		ContentInfo contentInfo 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,
+				Transaction transaction
+			} 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,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Transaction transaction,
+				SemanticDescriptor semanticDescriptor
+			} choice_list
+		} choice 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,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Transaction transaction,
+				SemanticDescriptor semanticDescriptor
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+		
+	type record DynamicAuthorizationConsultation_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.Boolean dynamicAuthorizationEnabled,
+		ListOfURIs dynamicAuthorizationPoA optional,
+		Timestamp dynamicAuthorizationLifetime optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				Transaction transaction
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (dynamicAuthorizationEnabled) "text 'true' as '1'";
+	  //variant (dynamicAuthorizationEnabled) "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 Role_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,
+		RoleID roleID optional,
+		XSD.ID issuer optional,
+		XSD.ID holder optional,
+		Timestamp notBefore optional,
+		Timestamp notAfter optional,
+		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,
+				Transaction transaction
+			} 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 DeviceAirConditioner_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				BinarySwitch binarySwitch,
+				RunState runState,
+				AirConJobMode airConJobMode,
+				AirConOperationMode airConOperationMode,
+				AirCleanOperationMode airCleanOperationMode,
+				Temperature temperature,
+				Timer timer_,
+				SleepTimer sleepTimer,
+				Turbo turbo,
+				AirFlow airFlow,
+				PowerSave powerSave,
+				AirQualitySensor airQualitySensor,
+				FilterInfo filterInfo,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+	type record DeviceClothesWasherDryer_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				BinarySwitch binarySwitch,
+				ClothesWasherDryerOperationMode clothesWasherDryerOperationMode,
+				RunState runState,
+				ClothesWasherDryerJobMode clothesWasherDryerJobMode,
+				ClothesWasherJobModeOption clothesWasherJobModeOption,
+				RemoteControlEnable remoteControlEnable,
+				Timer timer_,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+	
+	type record DeviceElectricVehicleCharger_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				FaultDetection faultDetection,
+				BinarySwitch binarySwitch,
+				RunState runState,
+				Battery battery,
+				ElectricVehicleConnector electricVehicleConnector,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}	
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+	
+	type record DeviceLight_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				FaultDetection faultDetection,
+				BinarySwitch binarySwitch,
+				RunState runState,
+				Colour colour,
+				ColourSaturation colourSaturation,
+				Brightness brightness,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+	type record DeviceMicrogeneration_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				FaultDetection faultDetection,
+				BinarySwitch binarySwitch,
+				RunState runState,
+				EnergyGeneration energyGeneration,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};	
+	
+	type record DeviceOven_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				BinarySwitch binarySwitch,
+				RunState runState,
+				Timer timer_,
+				Temperature temperature,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}	
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};	
+
+	type record DeviceRefrigerator_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				BinarySwitch binarySwitch,
+				PowerSave powerSave,
+				DoorStatus doorStatus,
+				FrozenTemperature frozenTemperature,
+				FridgeTemperature fridgeTemperature,
+				CustomTemperature customTemperature,
+				Refrigeration refrigeration,
+				ControlPanelLock controlPanelLock,
+				WaterFilterInfo waterFilterInfo,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}	
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};	
+
+	type record DeviceRobotCleaner_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				BinarySwitch binarySwitch,
+				RunState runState,
+				RobotCleanerJobMode robotCleanerJobMode,
+				RobotCleanerOperationMode robotCleanerOperationMode,
+				Battery battery,
+				Timer timer_,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};	
+
+	type record DeviceSmartElectricMeter_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				FaultDetection faultDetection,
+				BinarySwitch binarySwitch,
+				RunState runState,
+				Clock clock,
+				EnergyConsumption energyConsumption,
+				EnergyGeneration energyGeneration,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}	
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};	
+
+	type record DeviceStorageBattery_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				FaultDetection faultDetection,
+				BinarySwitch binarySwitch,
+				RunState runState,
+				Battery battery,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};	
+	
+	type record DeviceTelevision_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				BinarySwitch binarySwitch,
+				AudioVolume audioVolume,
+				TelevisionChannel televisionChannel,
+				PlayerControl playerControl,
+				MediaInput mediaInput,
+				MediaOutput mediaOutput,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};	
+	
+	type record DeviceThermostat_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				RunState runState,
+				Timer timer_,
+				Temperature temperature,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};		
+	
+	type record DeviceWaterHeater_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.AnyURI nodeLink optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				FaultDetection faultDetection,
+				BinarySwitch binarySwitch,
+				RunState runState,
+				Clock clock,
+				Boiler boiler,
+				HotWaterSupply hotWaterSupply,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};	
+	
+	type record BinarySwitch_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.AnyURI nodeLink optional,
+		XSD.Boolean powerState optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Toggle toggle,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+
+	type record FaultDetection_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.AnyURI nodeLink optional,
+		XSD.Boolean status optional,
+		XSD.Integer code optional,
+		XSD.String description 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";
+	};
+
+	type record RunState_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.AnyURI nodeLink optional,
+		EnumMachineState currentMachineState optional,
+		record of EnumMachineState machineStates optional,
+		EnumJobState currentJobState optional,
+		record of EnumJobState jobStates optional,
+		XSD.Float progressPercentage 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";
+	};
+
+	type record Battery_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.AnyURI nodeLink optional,
+		XSD.Integer level optional,
+		XSD.Integer capacity optional,
+		XSD.Boolean charging optional,
+		XSD.Boolean discharging optional,
+		XSD.Boolean lowBattery optional,
+		XSD.Integer batteryThreshold optional,
+		XSD.Integer electricEnergy optional,
+		XSD.Integer voltage optional,
+		XSD.String material 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";
+	};
+
+	type record ElectricVehicleConnector_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.AnyURI nodeLink optional,
+		XSD.Boolean status optional,
+		XSD.Integer chargingCapacity optional,
+		XSD.Integer dischargingCapacity 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";
+	};
+
+	type record EnergyGeneration_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.AnyURI nodeLink optional,
+		XSD.Float powerGenerationData optional,
+		XSD.Integer roundingEnergyGeneration optional,
+		XSD.Integer significantDigits optional,
+		XSD.Integer multiplyingFactors optional,
+		XSD.String generationSource 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";
+	};
+
+	type record EnergyConsumption_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.AnyURI nodeLink optional,
+		XSD.Float power optional,
+		XSD.Float absoluteEnergyConsumption optional,
+		XSD.Integer roundingEnergyConsumption optional,
+		XSD.Integer significantDigits optional,
+		XSD.Integer multiplyingFactors optional,
+		XSD.Float voltage optional,
+		XSD.Float current optional,
+		XSD.Float frequency optional,
+		XSD.String measuringScope 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";
+	};
+
+	type record Temperature_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.AnyURI nodeLink optional,
+		XSD.Float currentTemperature optional,
+		XSD.Float targetTemperature optional,
+		XSD.String unit optional,
+		XSD.Float minValue optional,
+		XSD.Float maxValue optional,
+		XSD.Float stepValue 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";
+	};
+
+	type record Turbo_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.AnyURI nodeLink optional,
+		XSD.Boolean turboEnabled 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";
+	};
+
+	type record AirFlow_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.AnyURI nodeLink optional,
+		XSD.Integer speed optional,
+		XSD.Integer minSpeed optional,
+		XSD.Integer maxSpeed optional,
+		EnumVerticalDirection verticalDirection optional,
+		record of EnumVerticalDirection supportedVerticalDirection optional,
+		EnumHorizontalDirection horizontalDirection optional,
+		record of EnumHorizontalDirection supportedHorizontalDirection optional,
+		XSD.Boolean automode 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";
+	};
+
+	type record SpinLevel_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.AnyURI nodeLink optional,
+		EnumSpinLevelStrength spinLevelStrength 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";
+	};
+	
+	type record WaterFlow_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.AnyURI nodeLink optional,
+		EnumWaterFlowStrength waterFlowStrength 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";
+	};
+	
+	type record Brightness_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.AnyURI nodeLink optional,
+		XSD.Integer brightness 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";
+	};
+	
+	type record Colour_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.AnyURI nodeLink optional,
+		XSD.Integer red optional,
+		XSD.Integer green optional,
+		XSD.Integer blue 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";
+	};
+	
+	type record ColourSaturation_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.AnyURI nodeLink optional,
+		XSD.Integer colourSaturation 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";
+	};
+	
+	type record DoorStatus_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.AnyURI nodeLink optional,
+		EnumDoorState doorState optional,
+		Timestamp openDuration optional,
+		XSD.Boolean openAlarm 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";
+	};
+	
+	type record PowerSave_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.AnyURI nodeLink optional,
+		XSD.Boolean powerSaveEnabled 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";
+	};
+	
+	type record MediaInput_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.AnyURI nodeLink optional,
+		XSD.Integer mediaID optional,
+		record of EnumSupportedMediaSource supportedMediaSources optional,
+		XSD.String mediaName optional,
+		XSD.Boolean status optional,
+		EnumSupportedMediaSource mediaType 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";
+	};
+	
+	type record AudioVolume_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.AnyURI nodeLink optional,
+		XSD.Integer volumePercentage optional,
+		XSD.Integer stepValue optional,
+		XSD.Integer maxValue optional,
+		XSD.Boolean muteEnabled optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				UpVolume upVolume,
+				DownVolume downVolume,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+	
+	
+	type record TelevisionChannel_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.AnyURI nodeLink optional,
+		XSD.Integer channelId optional,
+		record of XSD.Integer availableChannels optional,
+		XSD.Integer previousChannel optional,
+		XSD.String channelName optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				UpChannel upChannel,
+				DownChannel downChannel,
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	};
+	
+	type record Boiler_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.AnyURI nodeLink optional,
+		XSD.Boolean status 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";
+	};
+	
+	type record Clock_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.AnyURI nodeLink optional,
+		Timestamp currentTime optional,
+		Timestamp currentDate optional,
+		XSD.String currentTimeZone 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";
+	};
+	
+	type record HotWaterSupply_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.AnyURI nodeLink optional,
+		XSD.Boolean bath 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";
+	};
+
+	type record DeviceInfo_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,
+		XSD.AnyURI mgmtSchema optional,
+		XSD.String deviceLabel optional,
+		XSD.String manufacturer optional,
+		XSD.String manufacturerDetailsLink optional,
+		Timestamp manufacturingDate optional,
+		XSD.String model optional,
+		XSD.String subModel optional,
+		XSD.String deviceType optional,
+		XSD.String deviceName optional,
+		XSD.String fwVersion optional,
+		XSD.String swVersion optional,
+		XSD.String hwVersion optional,
+		XSD.String osVersion optional,
+		XSD.String country optional,
+		XSD.String location optional,
+		Timestamp systemTime optional,
+		XSD.AnyURI supportURL optional,
+		XSD.AnyURI presentationURL optional,
+		ProtocolList protocol 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 Token_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,
+		TokenID tokenID optional,
+		DynAuthJWT tokenObject optional,
+		XSD.String version optional,
+		XSD.ID issuer optional,
+		XSD.ID holder optional,
+		Timestamp notBefore optional,
+		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,
+				Transaction transaction
+			} 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 CrossResourceSubscription_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,
+			ListOfURIs regularResourcesAsTarget optional,
+			ListOfURIs subscriptionResourcesAsTarget optional,
+			TimeWindowType timeWindowType optional,
+			AbsRelTimestamp timeWindowSize optional,
+			EventNotificationCriteriaSet eventNotificationCriteriaSet optional,
+			EventCat notificationEventCat optional,
+			XSD.PositiveInteger expirationCounter optional,
+			record of XSD.AnyURI notificationURI optional,
+			XSD.ID subscriberURI optional,
+			union {
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Schedule schedule,
+					NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef,
+					Transaction transaction
+				} choice_list
+			} choice optional
+	}
+	with {
+		variant "name as uncapitalized";
+		variant "element";
+		variant (resourceName) "attribute";
+		variant (notificationURI) "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 OptionalResourceTypes
+	
+	
+	
+group InvalidTypes {
+		
+	type record AE_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,
+				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 AccessControlPolicy_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 union {
+				Subscription subscription,
+				Transaction transaction
+			} 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 Container_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 GenericInterworkingService_invalid
+	{
+		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 serviceName optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
+		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 Group_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_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_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_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_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,
+		ContentInfo contentInfo 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_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 set of charstring SetOfCharstring;
+
+	type enumerated PrimitiveProfileApplicability {
+		REQUESTS_TO_CSE (1),
+		RESPONSES_FROM_CSE (2),
+		REQUESTS_FROM_CSE (4),
+		RESPONSES_TO_CSE (8)
+	}
+
+	type enumerated SyncPoints {
+	   e_done  (0),
+	   e_error	(1)  
+	 }
+
+	type enumerated Configurations {
+		e_cf01,
+		e_cf02,
+		e_cf02CseSimuMaster,
+		e_cf03,
+		e_cf04,
+		e_cf05,
+		e_cf06,
+		e_cf06DasSimuMaster,
+		e_cf07,
+		e_cf07OSSimuMaster
+	};
+	
+	type enumerated TestSystemRole {
+		e_cse,
+		e_ae,
+		e_ae_ipe,
+		e_das,
+		e_os,
+		e_t8
+	};
+		
+	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,
+		e_hybrid
+	}
+		
+	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,
+		Token_optional token
+	}
+	with {
+		variant "untagged";
+	}		
+		
+	type record of ResourceType ResourceTypeList_1
+	with {
+		variant "name as uncapitalized";
+		variant "list";
+	};
+	
+	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,
+	OntologyRepository_optional ontologyRepository,
+	Ontology_optional ontology,
+	PollingChannel_optional pollingChannel,
+	PrimitveProfile_optional primitveProfile,
+	Request_optional request, 
+	RemoteCSE_optional remoteCSE,
+	RemoteCSEAnnc_optional remoteCSEAnnc,
+	Schedule_optional schedule,
+	ScheduleAnnc_optional scheduleAnnc,
+	StatsConfig_optional statsConfig,
+	StatsCollect_optional statsCollect,
+	EventConfig_optional eventConfig,
+	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+	ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+	ServiceSubscribedNode_optional serviceSubscribedNode,
+	ServiceSubscribedUserProfile_optional serviceSubscribedUserProfile,
+	Subscription_optional subscription,
+	SemanticDescriptor_optional semanticDescriptor,
+	SemanticMashupInstance_optional semanticMashupInstance,
+	SemanticMashupJobProfile_optional semanticMashupJobProfile,
+	SemanticMashupResult_optional semanticMashupResult,
+	TimeSeries_optional timeSeries,
+	TimeSeriesInstance_optional timeSeriesInstance,
+	TimeSeriesAnnc_optional timeSeriesAnnc,
+	TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
+	GenericInterworkingService_optional genericInterworkingService,
+	DynamicAuthorizationConsultation_optional dynamicAuthorizationConsultation,
+	GenericInterworkingOperationInstance_optional genericInterworkingOperationInstance,
+	Role_optional role,
+	Token_optional token,
+	//HAIM 
+	DeviceAirConditioner_optional deviceAirConditioner,
+	DeviceClothesWasherDryer_optional deviceClothesWasherDryer,
+	DeviceElectricVehicleCharger_optional deviceElectricVehicleCharger,
+	DeviceLight_optional deviceLight,
+	DeviceMicrogeneration_optional deviceMicrogeneration,
+	DeviceOven_optional deviceOven,
+	DeviceRefrigerator_optional deviceRefrigerator,
+	DeviceRobotCleaner_optional deviceRobotCleaner,
+	DeviceSmartElectricMeter_optional deviceSmartElectricMeter,
+	DeviceStorageBattery_optional deviceStorageBattery,
+	DeviceTelevision_optional deviceTelevision,
+	DeviceThermostat_optional deviceThermostat,
+	DeviceWaterHeater_optional deviceWaterHeater,
+	BinarySwitch_optional binarySwitch,
+	FaultDetection_optional faultDetection,
+	RunState_optional runState,
+	Battery_optional battery,
+	ElectricVehicleConnector_optional electricVehicleConnector,
+	EnergyGeneration_optional energyGeneration,
+	EnergyConsumption_optional energyConsumption,
+	Temperature_optional temperature,
+	Turbo_optional turbo,
+	AirFlow_optional airFlow,
+	SpinLevel_optional spinLevel,
+	WaterFlow_optional waterFlow,
+	Timer timerAction,
+	TelevisionChannel_optional televisionChannel,
+	Brightness_optional brightness,
+	Colour_optional colour,
+	ColourSaturation_optional colourSaturation,
+	DoorStatus_optional doorStatus,
+	PowerSave_optional powerSave,
+	MediaInput_optional mediaInput,
+	AudioVolume_optional audioVolume,
+	Boiler_optional boiler,
+	Clock_optional clock,
+	HotWaterSupply_optional hotWaterSupply,
+	DeviceInfo_optional deviceInfo,
+	CrossResourceSubscription_optional crossResourceSubscription,
+	//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_invalid aE_invalid,
+	AccessControlPolicy_invalid accessControlPolicy_invalid,
+	Container_invalid container_invalid,
+	GenericInterworkingService_invalid genericInterworkingService_invalid,
+	Group_invalid group_invalid,
+	PollingChannel_invalid pollingChannel_invalid,
+	Schedule_invalid schedule_invalid,
+	Subscription_invalid subscription_invalid,
+	LocationPolicy_invalid locationPolicy_invalid,
+	TimeSeries_invalid timeSeries_invalid 
+}
+	
+}
+
+	group tsSettings {
+
+	/**
+	 * @desc Authorized protocol bindings
+	 * @member e_http HTTP protocol binding
+	 * @member e_coap CoAP protocol binding
+	 * @member e_mqtt MQTT protocol binding
+	 * @member e_ws   WebSocket protocol binding
+	 */
+	type enumerated ProtocolBindings {
+		e_http (0),
+		e_coap (1),
+		e_mqtt (2),
+		e_wsck (3)
+	}
+    
+	/**
+	 * @desc Authorized serialization representations
+	 * @member e_xml   Data serialization using XML
+	 * @member e_json Data serialization using JSON
+	 * @member e_cbor  Data serialization using CBOR
+	 */
+	type charstring SerializationRepresentations (pattern "(xml|json|cbor)");
+    
+	/**
+	 * @desc Basic description of a Protocol Binding settings
+	 * @member tsAddress  Test System IP address
+	 * @member remotePort Remote port (SUT listener port)
+	 * @member localPort  Test Adapter listener port (used by mcxPortIn) or,
+	 *                    The local client port. In this case, the value 'omit' is interpreted as random port number by the Test Adapter
+	 * @member sutAddress SUT IP address, optional.
+	 *                    If omitted, the SUT IP address defined in SutDesc data structure will be used by the Test Adapter
+	 */
+	type record BindingDesc {
+		charstring       tsAddress,
+		integer          remotePort optional,
+		integer          localPort optional,
+		charstring       sutAddress,
+		boolean          useTls
+	}
+    
+	/**
+	 * @desc HTTP binding protocol settings
+	 */
+	type record HttpBindingDesc {
+		ProtocolBindings bindingProtocol (e_http),
+		BindingDesc      bindingDesc
+	}
+    
+	/**
+	 * @desc COAP binding protocol settings
+	 */
+	type record CoapBindingDesc {
+		ProtocolBindings bindingProtocol (e_coap),
+		BindingDesc      bindingDesc
+	}
+    
+	/**
+	 * @desc MQTT binding protocol settings
+	 * @member bindingProtocol 
+	 * @member hostingCSE_ID   
+	 * @member credentialId    
+	 * @member bindingDesc     
+	 */
+	type record MqttBindingDesc {
+		ProtocolBindings bindingProtocol (e_mqtt),
+		BindingDesc      bindingDesc,
+		XSD.ID       	 originator optional,
+		XSD.ID		     receiver optional
+	}
+    
+	/**
+	 * @desc WebSocket binding protocol settings 
+	 */
+	type record WSBindingDesc {
+		ProtocolBindings bindingProtocol (e_wsck),
+		BindingDesc      bindingDesc,
+		charstring       requestUri 
+	}
+    
+	type union BindingProtocolsSelect {
+		HttpBindingDesc httpBindingDesc,
+		CoapBindingDesc coapBindingDesc,
+		MqttBindingDesc mqttBindingDesc,
+		WSBindingDesc   wsBindingDesc
+	}
+
+	template BindingProtocolsSelect m_httpBindingDesc := {
+		httpBindingDesc := ?
+	}
+        
+	/**
+	 * @desc 
+	 * @member binding
+	 * @member serialization
+	 */
+	type record PortDesc {
+		BindingProtocolsSelect binding,
+		TransportSecurity security optional,
+		SerializationRepresentations serialization
+	}	
+	
+	/**
+	 * @desc 
+	 * @member binding
+	 * @member serialization
+	 */
+	type record T8PortDesc {
+		BindingProtocolsSelect binding ({httpBindingDesc := ?}),
+		SerializationRepresentations serialization ("json")
+	}
+	
+	type BindingProtocolsSelect MyInterface ({httpBindingDesc:=?}, {coapBindingDesc := ?});
+	
+	/**
+	 * @desc 
+	 * @member binding
+	 * @member serialization
+	 */
+	type union McnPortDesc {
+		T8PortDesc t8PortDesc
+	}
+    
+	template McnPortDesc m_t8PortDesc := {
+		t8PortDesc := ?
+	}
+	
+	/**
+	 * @desc Transport Layer security description
+	 *       Apply for both TSL and DTLS
+	 * @member rootCert Test System root ca or internmediate root CA
+	 * @member trustedCerts IUT cerver certificate, including IUT root ca or internmediate root CA
+	 * @member serverSign Signature Test System certificate for the server side
+	 * @member serverEnc Encryption Test System certificate for the server side
+	 * @member clientSign Signature Test System certificate for the client side
+	 * @member clientEnc Encryption Test System certificate for the client side
+	 * @member psk_identity TLS-PSK identity
+	 * @member psk_key TLS-PSK shared secret
+	 */
+	type record TransportSecurity {
+		charstring rootCert,
+		charstring trustedCerts,
+		charstring serverSign,
+		charstring serverEnc,
+		charstring clientSign,
+		charstring clientEnc,
+		octetstring psk_identity optional,
+		octetstring psk_key optional
+	}
+    
+	/**
+	 * @desc UpperTester component settings
+	 * @member requestId    
+	 * @member url     Test System IP address
+	 */
+	type record UrlDesc {
+		charstring url
+	}
+    
+	/**
+	 * @desc AeSimu component settings
+	 * @member mcaPort   TTCN-3 'mca' protocol for sending to the SUT
+	 * @member mcaPortIn TTCN-3 'mca' protocol for receiving from the SUT
+	 */
+	type record AeSimuComponentDesc {
+		/**
+		 * @desc Test System AE-ID with AE-ID-Stem format (relative) according to TS-0001-7.2-1
+		 */			
+		XSD.ID aeIdStem optional,
+		/**
+		 * @desc Test System APP-ID with App-ID format according to TS-0001-7.2-1
+		 */		
+		XSD.ID appId,
+		PortDesc mcaPort,
+		PortDesc mcaPortIn
+	}
+    
+	/**
+	 * @desc CseSimu component settings
+	 * @member mcaPort   TTCN-3 'mca' protocol for sending to the SUT
+	 * @member mcaPortIn TTCN-3 'mca' protocol for receiving from the SUT
+	 * @member mccPort   TTCN-3 'mcc' protocol for sending to the SUT
+	 * @member mccPortIn TTCN-3 'mcc' protocol for receiving from the SUT
+	 */
+	type record CseSimuComponentDesc {
+		/**
+		 * @desc Test System CSE Name
+		 */	
+		XSD.ID cseName, 
+		/**
+		 * @desc Test System CSE-ID with SP-relative-CSE-ID format (relative) according to TS-0001-7.2-1
+		 */		
+		XSD.ID cseId,
+		/**
+		 * @desc Test System CSE resource ID with Unstructured-CSE-relative-Resource-ID (relative) format according to TS-0001-7.2-1
+		 */			
+		XSD.ID cseResourceId,
+		/**
+		 * @desc Test System M2M-SP-ID with M2M-SP-ID format (absolute) according to TS-0001-7.2-1 Unstructured-CSE-relative -Resource-ID
+		 */
+		XSD.ID spId,
+		/**
+		 * @desc Test System CSE Supported resource type
+		 */	
+		ResourceTypeList_1 supportedResourceType,
+		PortDesc mcaPort,
+		PortDesc mcaPortIn,
+		PortDesc mccPort,
+		PortDesc mccPortIn
+	}
+
+	/**
+	 * @desc ScefSimu component settings
+	 * @member mcnPort   TTCN-3 'mcn' protocol for sending to the SUT
+	 * @member mcnPortIn TTCN-3 'mcn' protocol for receiving from the SUT
+	 */
+	type record ScefSimuComponentDesc {
+		/**
+		 * @desc Test System SCEF ID
+		 */	
+		XSD.ID scefId, 
+		McnPortDesc mcnPort ({t8PortDesc := ?}),
+		McnPortDesc mcnPortIn ({t8PortDesc := ?})
+	}
+	
+} 
+with {
+  encode "adapter";
+} // End of group tsSettings
+	
+	
+group Values {
+	 const XSD.Base64Binary c_validDescriptor := char2oct("<?xml version=""1.0""?>"&c_CRLF&
+						"<rdf:RDF xmlns=""http://www.onem2m.org/ontology/houses_temperature_example#"""&c_CRLF&
+	 c_TAB&c_TAB&"xml:base=""http://www.onem2m.org/ontology/houses_temperature_example"""&c_CRLF&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:temperature_example=""http://www.onem2m.org/ontology/temperature_example#"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:rdf=""http://www.w3.org/1999/02/22-rdf-syntax-ns#"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:owl=""http://www.w3.org/2002/07/owl#"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:xml=""http://www.w3.org/XML/1998/namespace"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:xsd=""http://www.w3.org/2001/XMLSchema#"""&c_CRLF&
+	 c_TAB&c_TAB&"xmlns:rdfs=""http://www.w3.org/2000/01/rdf-schema#"">"&c_CRLF&
+	 "<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#Fridge1"">"&c_CRLF&
+	 "<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#Fridge""/>"&c_CRLF&
+	 "<temperature_example:hasFridgeTemperature rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty""/>"&c_CRLF&
+	"</owl:NamedIndividual>"&c_CRLF&
+	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty"">"&c_CRLF&
+	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureProperty""/>"&c_CRLF&
+	"<temperature_example:hasDatatype>xsd:double</temperature_example:hasDatatype>"&c_CRLF&
+	"<temperature_example:hasUnit rdf:datatype=""http://www.w3.org/2001/XMLSchema#string"">Celsius</temperature_example:hasUnit>"&c_CRLF&
+	"<temperature_example:valueIsStoredIn>http://in.provider.com:7579/server/tempsensorae4/temperature/latest</temperature_example:valueIsStoredIn>"&c_CRLF&
+	"</owl:NamedIndividual>"&c_CRLF&
+	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempSensor"">"&c_CRLF&
+	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureSensor""/>"&c_CRLF&
+	"<temperature_example:hasTemperatureMeasuringFunction rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#TempFunction4""/>"&c_CRLF&
+	"</owl:NamedIndividual>"&c_CRLF&
+	"<owl:NamedIndividual rdf:about=""http://www.onem2m.org/ontology/houses_temperature_example#TempFunction4"">"&c_CRLF&
+	"<rdf:type rdf:resource=""http://www.onem2m.org/ontology/temperature_example#TemperatureMeasuringFunction""/>"&c_CRLF&
+	"<temperature_example:measuresTemperature rdf:resource=""http://www.onem2m.org/ontology/houses_temperature_example#FridgeTempProperty""/>"&c_CRLF&
+	"</owl:NamedIndividual>"&c_CRLF&
+	"</rdf:RDF>");
+	
+	const charstring  c_encodedValidDescriptor := "PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxyZGY6UkRGIHhtbG5zPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjIgogICAgIHhtbDpiYXNlPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUiCiAgICAgeG1sbnM6dGVtcGVyYXR1cmVfZXhhbXBsZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L3RlbXBlcmF0dXJlX2V4YW1wbGUjIgogICAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgICB4bWxuczpvd2w9Imh0dHA6Ly93d3cudzMub3JnLzIwMDIvMDcvb3dsIyIKICAgICB4bWxuczp4bWw9Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIKICAgICB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyIKICAgICB4bWxuczpyZGZzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIj4KCiAgICA8b3dsOk5hbWVkSW5kaXZpZHVhbCByZGY6YWJvdXQ9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSNIb3VzZTEiPgogICAgICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS90ZW1wZXJhdHVyZV9leGFtcGxlI0hvdXNlIi8+CiAgICAgICAgPHRlbXBlcmF0dXJlX2V4YW1wbGU6aGFzSW5kb29yVGVtcGVyYXR1cmUgcmRmOnJlc291cmNlPSJodHRwOi8vd3d3Lm9uZW0ybS5vcmcvb250b2xvZ3kvaG91c2VzX3RlbXBlcmF0dXJlX2V4YW1wbGUjSW5kb29yVGVtcFByb3BlcnR5MSIvPgogICAgPC9vd2w6TmFtZWRJbmRpdmlkdWFsPgoKICAgIDxvd2w6TmFtZWRJbmRpdmlkdWFsIHJkZjphYm91dD0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L2hvdXNlc190ZW1wZXJhdHVyZV9leGFtcGxlI0luZG9vclRlbXBQcm9wZXJ0eTEiPgogICAgICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS90ZW1wZXJhdHVyZV9leGFtcGxlI1RlbXBlcmF0dXJlUHJvcGVydHkiLz4KICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNEYXRhdHlwZT54c2Q6aW50PC90ZW1wZXJhdHVyZV9leGFtcGxlOmhhc0RhdGF0eXBlPgogICAgICAgIDx0ZW1wZXJhdHVyZV9leGFtcGxlOmhhc1VuaXQ+RmFocmVuaGVpdDwvdGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNVbml0PgogICAgICAgIDx0ZW1wZXJhdHVyZV9leGFtcGxlOnZhbHVlSXNTdG9yZWRJbj5odHRwOi8vaW4ucHJvdmlkZXIuY29tOjc1Nzkvc2VydmVyL3RlbXBzZW5zb3JhZTEvdGVtcGVyYXR1cmUvbGF0ZXN0PC90ZW1wZXJhdHVyZV9leGFtcGxlOnZhbHVlSXNTdG9yZWRJbj4KICAgIDwvb3dsOk5hbWVkSW5kaXZpZHVhbD4KCiAgICA8b3dsOk5hbWVkSW5kaXZpZHVhbCByZGY6YWJvdXQ9Imh0dHA6Ly93d3cub25lbTJtLm9yZy9vbnRvbG9neS9ob3VzZXNfdGVtcGVyYXR1cmVfZXhhbXBsZSNJbmRvb3JUZW1wU2Vuc29yMSI+CiAgICAgICAgPHJkZjp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L3RlbXBlcmF0dXJlX2V4YW1wbGUjVGVtcGVyYXR1cmVTZW5zb3IiLz4KICAgICAgICA8dGVtcGVyYXR1cmVfZXhhbXBsZTpoYXNUZW1wZXJhdHVyZU1lYXN1cmluZ0Z1bmN0aW9uIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5vbmVtMm0ub3JnL29udG9sb2d5L2hvdXNlc190ZW1wZXJhdHVyZV9leGFtcGxlI1RlbXBGdW5jdGlvbjEiLz4KICAgIDwvb3dsOk5hbWVkSW5kaXZpZHVhbD4KCjwvcmRmOlJERj4=";
+					
+	
+}//end of Values group
+	
+} 
+// end of module