diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index d03d9c607f7f0a27e30f0e86a25ffd3d05303c0c..7ee882cbd6af024c29163169c7b95a4f5bcc1c18 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -43,8 +43,8 @@ module OneM2M_Functions {
 			
 			f_setProtocolBinding(PX_TS_AE1.mcaPort, PX_TS_AE1.mcaPortIn, v_binding, v_host, v_binding_in);
 			
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] };
-      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, PX_TS_AE1.mcaPort.serialization };
+      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, PX_TS_AE1.mcaPortIn.serialization };
 			
 			activate(a_default());
 			vc_aeSimu := activate(a_cse_cf01());
@@ -82,8 +82,8 @@ module OneM2M_Functions {
 	
 			f_setProtocolBinding(PX_TS_AE2.mcaPort, PX_TS_AE2.mcaPortIn, v_binding, v_host, v_binding_in);
 			
-      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE2.mcaPort.serialization)] };
-      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE2.mcaPortIn.serialization)] };
+      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, PX_TS_AE2.mcaPort.serialization };
+      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, PX_TS_AE2.mcaPortIn.serialization };
 
 			//Initialze the IUT
 							
@@ -114,8 +114,8 @@ module OneM2M_Functions {
 
 			f_setProtocolBinding(PX_TS_AE1.mcaPort, PX_TS_AE1.mcaPortIn, v_binding, v_host, v_binding_in);
 			
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] };
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, PX_TS_AE1.mcaPort.serialization };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, PX_TS_AE1.mcaPortIn.serialization };
 			
 			activate(a_default());
 			vc_aeSimu := activate(a_cse_cf02_ae1());
@@ -151,8 +151,8 @@ module OneM2M_Functions {
 						
 			f_setProtocolBinding(PX_TS_CSE1.mccPort, PX_TS_CSE1.mccPortIn, v_binding, v_host, v_binding_in);
 			  
-		    vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] };
-		    vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] };
+		    vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, PX_TS_CSE1.mccPort.serialization };
+		    vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding, PX_TS_CSE1.mccPortIn.serialization };
       
 			v_cSEBaseResource := f_generateLocalResource(-, -1, int5);
 			vc_cSEBaseIndex := f_setLocalResource(v_cSEBaseResource, int5, -1);
@@ -192,8 +192,8 @@ module OneM2M_Functions {
 			
 			f_setProtocolBinding(PX_TS_CSE1.mccPort, PX_TS_CSE1.mccPortIn, v_binding, v_host, v_binding_in);
 			
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] };
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, PX_TS_CSE1.mccPort.serialization };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding_in, PX_TS_CSE1.mccPortIn.serialization };
 			
 			activate(a_default());
 			vc_cseSimu := activate(a_cse_cf02_cse1());
@@ -225,8 +225,8 @@ module OneM2M_Functions {
 			
 			f_setProtocolBinding(PX_TS_AE1.mcaPort, PX_TS_AE1.mcaPortIn, v_binding, v_host, v_binding_in);
 			
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_AE1.mcaPort.serialization)] };
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_AE1.mcaPortIn.serialization)] };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, PX_TS_AE1.mcaPort.serialization };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, PX_TS_AE1.mcaPortIn.serialization };
       
 			//Initialze the IUT
 							
@@ -259,8 +259,8 @@ module OneM2M_Functions {
 			
 			f_setProtocolBinding(PX_TS_CSE1.mcaPort, PX_TS_CSE1.mcaPortIn, v_binding, v_host, v_binding_in);
 			
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mcaPort.serialization)] };
-			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mcaPortIn.serialization)] };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPort))] := { mcaPort, v_host, v_binding, PX_TS_CSE1.mcaPort.serialization };
+			vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mcaPortIn))] := { mcaPortIn, v_host, v_binding_in, PX_TS_CSE1.mcaPortIn.serialization };
 			
 			if(PX_UT_IMPLEMENTED) {
 				map(self:utPort, system:utPort) param (PX_TS_UT);
@@ -304,8 +304,8 @@ module OneM2M_Functions {
 			
 			f_setProtocolBinding(PX_TS_CSE1.mccPort, PX_TS_CSE1.mccPortIn, v_binding, v_host, v_binding_in);
 			
-      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, c_serializationLabel[enum2int(PX_TS_CSE1.mccPort.serialization)] };
-      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding_in, c_serializationLabel[enum2int(PX_TS_CSE1.mccPortIn.serialization)] };
+      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPort))] := { mccPort, v_host, v_binding, PX_TS_CSE1.mccPort.serialization };
+      		vc_myInterfaces[enum2int(valueof(InterfaceIds:e_mccPortIn))] := { mccPortIn, v_host, v_binding_in, PX_TS_CSE1.mccPortIn.serialization };
       
 			activate(a_default());
 			vc_cseSimu := activate(a_cse_cf04());
diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn
index 6d81ce8ec5d36a1d3cfc29ebcff72339babee63c..e058379368413bd23f9bd52dec7dcc849aae403d 100644
--- a/LibOneM2M/OneM2M_Pixits.ttcn
+++ b/LibOneM2M/OneM2M_Pixits.ttcn
@@ -13,6 +13,7 @@ module OneM2M_Pixits {
 	
 	import from XSD all;
 	import from OneM2M_Types all;
+	import from OneM2M_TypesAndValues all;
 	
 	group TestAdapterParameters {}
 
@@ -154,7 +155,7 @@ module OneM2M_Pixits {
 								}
 						}
 					},
-					serialization := e_xml
+					serialization := "xml"
 				},
 				mcaPortIn := {
 					binding := {
@@ -168,7 +169,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := e_xml
+					serialization := "xml"
 				}
 			};
 			modulepar AeSimuComponentDesc PX_TS_AE2 := { // AE2 component settings
@@ -186,7 +187,7 @@ module OneM2M_Pixits {
 								}
 						}
 					},
-					serialization := e_xml
+					serialization := "xml"
 				},
 				mcaPortIn := {
 					binding := {
@@ -200,7 +201,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := e_xml
+					serialization := "xml"
 				}
 			};
 			modulepar CseSimuComponentDesc PX_TS_CSE1 := { // CSE1 component settings
@@ -221,7 +222,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := e_xml
+					serialization := "xml"
 				},
 				mcaPortIn := {
 					binding := {
@@ -235,7 +236,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := e_xml
+					serialization := "xml"
 				},
 				mccPort := {
 					binding := {
@@ -249,7 +250,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := e_xml
+					serialization := "xml"
 				},
 				mccPortIn := {
 					binding := {
@@ -263,7 +264,7 @@ module OneM2M_Pixits {
 							}
 						}
 					},
-					serialization := e_xml
+					serialization := "xml"
 				}
 			};
 	
diff --git a/LibOneM2M/OneM2M_Ports.ttcn b/LibOneM2M/OneM2M_Ports.ttcn
index 7b0555d029a45957ccc69f72e8b052839fe3a8c7..3a84774a12a1a488f9f0faa67cca883a9d50f50e 100644
--- a/LibOneM2M/OneM2M_Ports.ttcn
+++ b/LibOneM2M/OneM2M_Ports.ttcn
@@ -13,7 +13,9 @@
 module OneM2M_Ports {
 	
 	import from OneM2M_Types all;
+	import from OneM2M_TypesAndValues all;
 	import from XSD all;
+	
 	/* ***************************************
 	 * 		oneM2M Ports 
 	 * ***************************************
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index 898912bcb35e649242c6ddd7517d208c93bee6fc..dcb5356ae5d0ec271ce122cb8db468547f621495 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -12,6 +12,7 @@
 module OneM2M_TestSystem {
 
 	import from OneM2M_Types all;
+	import from OneM2M_TypesAndValues all;
 	import from LibCommon_Time all;
 	import from OneM2M_Ports all;
 
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 223033286155b94898cb807a452dbe8218766423..e2363783042b2d6b74d501e136f9aa57f1f737e7 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -15,7 +15,8 @@ module OneM2M_Types {
 
 
 import from XSD all;
-//import from OneM2M_Types_homedomain all;
+import from OneM2M_TypesAndValues {type Resource_2; type ResourceTypeList_1; type PrimitiveContent};
+import from OneM2M_Types_homeDevice {type Battery; type BatteryAnnc};
 
 
 type record AccessControlPolicy
@@ -2052,116 +2053,6 @@ with {
 
 
 //FIXME Use this type instead type record PrimitiveContent
-type union PrimitiveContent {
-	//TS-0004 - 7.5.2-1 & 7.5.2-2 Common elements to request/response content
-	//ResourceTypes
-	AEAnnc_optional aEAnnc,
-	AE_optional aE,
-	AccessControlPolicy_optional accessControlPolicy,
-	AccessControlPolicyAnnc_optional accessControlPolicyAnnc,
-	ContentInstance_optional contentInstance,
-	ContentInstanceAnnc_optional contentInstanceAnnc,
-	Container_optional container,
-	ContainerAnnc_optional containerAnnc,
-	Delivery_optional delivery,
-	FlexContainerResource_optional flexContainer,
-	CSEBase_optional cSEBase,
-	Group_optional group_,
-	GroupAnnc_optional groupAnnc,
-	LocationPolicy_optional locationPolicy,
-	LocationPolicyAnnc_optional locationPolicyAnnc,
-	MgmtResource_optional mgmtResource,//MgmtResource
-	MgmtCmd_optional mgmtCmd,
-	AnnouncedMgmtResource_optional announcedMgmtResource,//AnnouncedMgmtResource
-	Node_optional node,
-	NodeAnnc_optional nodeAnnc,
-	PollingChannel_optional pollingChannel,
-	Request_optional request, 
-	RemoteCSE_optional remoteCSE,
-	RemoteCSEAnnc_optional remoteCSEAnnc,
-	Schedule_optional schedule,
-	ScheduleAnnc_optional scheduleAnnc,
-	StatsConfig_optional statsConfig,
-	StatsCollect_optional statsCollect,
-	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
-	ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
-	Subscription_optional subscription,
-	SemanticDescriptor_optional semanticDescriptor,
-	TimeSeries_optional timeSeries,
-	TimeSeriesInstance_optional timeSeriesInstance,
-	TimeSeriesAnnc_optional timeSeriesAnnc,
-	TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
-	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,
-	//SecurityInfo
-	SecurityInfo securityInfo,
-	//TS-0004 - 7.5.2-1 Elements used for request content
-	Notification notification,
-	AggregatedNotification aggregatedNotification,
-	AttributeList attributeList,
-	ResponsePrimitive responsePrimitive,
-	//TS-0004 - 7.5.2-2 Elements used for response content
-	Resource resource,
-	URIList uRIList,
-	ResourceRefList resourceRefList,
-	AggregatedResponse aggregatedResponse,
-	URI uRI,
-	RequestPrimitive requestPrimitive,
-	DebugInfo debugInfo,
-	//Invalid types
-	AE_update_invalid aE_update_invalid,
-	ACP_update_invalid aCP_update_invalid,
-	Container_update_invalid container_update_invalid,
-	GenericInterworkingService_invalid genericInterworkingService_invalid,
-	Group_update_invalid group_update_invalid,
-	PollingChannel_update_invalid pollingChannel_update_invalid,
-	Schedule_update_invalid schedule_update_invalid,
-	Subscription_update_invalid subscription_update_invalid,
-	LocationPolicy_update_invalid locationPolicy_update_invalid,
-	TimeSeries_update_invalid timeSeries_update_invalid
-}
 
 
 type record EventNotificationCriteria
@@ -8412,20794 +8303,6 @@ with {
   variant (choice.choice_list[-]) "untagged";
 };
 
-/* **************************************************
- * **************************************************
- * 		oneM2M HOME APPLIANCE INFORMATION MODEL Types
- * **************************************************
- * **************************************************
-*/
-
-
-type ActivateClockTimer_1 ActivateClockTimer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ActivateClockTimer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'activateClockTimer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ActivateClockTimerAnnc_1 ActivateClockTimerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ActivateClockTimerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'activateClockTimerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Answer_1 Answer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Answer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'answer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AnswerAnnc_1 AnswerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AnswerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'answerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Call_1 Call
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Call_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'call'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type CallAnnc_1 CallAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record CallAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'callAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Close_1 Close
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Close_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'close'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type CloseAnnc_1 CloseAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record CloseAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'closeAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeactivateClockTimer_1 DeactivateClockTimer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeactivateClockTimer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'deactivateClockTimer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeactivateClockTimerAnnc_1 DeactivateClockTimerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeactivateClockTimerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'deactivateClockTimerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DecrementNumberValue_1 DecrementNumberValue
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DecrementNumberValue_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'decrementNumberValue'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DecrementNumberValueAnnc_1 DecrementNumberValueAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DecrementNumberValueAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'decrementNumberValueAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DownChannel_1 DownChannel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DownChannel_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'downChannel'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DownChannelAnnc_1 DownChannelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DownChannelAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'downChannelAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DownVolume_1 DownVolume
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DownVolume_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'downVolume'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DownVolumeAnnc_1 DownVolumeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DownVolumeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'downVolumeAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Hangup_1 Hangup
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Hangup_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'hangup'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type HangupAnnc_1 HangupAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record HangupAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'hangupAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type IncrementNumberValue_1 IncrementNumberValue
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record IncrementNumberValue_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'incrementNumberValue'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type IncrementNumberValueAnnc_1 IncrementNumberValueAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record IncrementNumberValueAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'incrementNumberValueAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type NextTrack_1 NextTrack
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record NextTrack_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'nextTrack'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type NextTrackAnnc_1 NextTrackAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record NextTrackAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'nextTrackAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Open_1 Open
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Open_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'open'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OpenAnnc_1 OpenAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OpenAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'openAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PreviousTrack_1 PreviousTrack
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PreviousTrack_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'previousTrack'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PreviousTrackAnnc_1 PreviousTrackAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PreviousTrackAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'previousTrackAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ResetNumberValue_1 ResetNumberValue
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ResetNumberValue_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'resetNumberValue'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ResetNumberValueAnnc_1 ResetNumberValueAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ResetNumberValueAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'resetNumberValueAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ResetTextMessage_1 ResetTextMessage
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ResetTextMessage_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'resetTextMessage'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ResetTextMessageAnnc_1 ResetTextMessageAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ResetTextMessageAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'resetTextMessageAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Start3Dprint_1 Start3Dprint
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Start3Dprint_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'start3Dprint'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Start3DprintAnnc_1 Start3DprintAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Start3DprintAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'start3DprintAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Stop3Dprint_1 Stop3Dprint
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Stop3Dprint_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'stop3Dprint'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Stop3DprintAnnc_1 Stop3DprintAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Stop3DprintAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'stop3DprintAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Toggle_1 Toggle
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Toggle_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'toggle'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ToggleAnnc_1 ToggleAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ToggleAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'toggleAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type UpChannel_1 UpChannel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record UpChannel_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'upChannel'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type UpChannelAnnc_1 UpChannelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record UpChannelAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'upChannelAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type UpVolume_1 UpVolume
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record UpVolume_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink 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 'upVolume'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type UpVolumeAnnc_1 UpVolumeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record UpVolumeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink 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 'upVolumeAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SubDeviceCuff Cuff0
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuffAnnc Cuff0Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuff Cuff1
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuffAnnc Cuff1Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuff Cuff2
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuffAnnc Cuff2Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuff Cuff3
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuffAnnc Cuff3Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuff Cuff4
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuffAnnc Cuff4Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuff Cuff5
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDeviceCuffAnnc Cuff5Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutlet PowerOutlet0
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutletAnnc PowerOutlet0Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutlet PowerOutlet1
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutletAnnc PowerOutlet1Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutlet PowerOutlet2
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutletAnnc PowerOutlet2Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutlet PowerOutlet3
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutletAnnc PowerOutlet3Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutlet PowerOutlet4
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutletAnnc PowerOutlet4Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutlet PowerOutlet5
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type SubDevicePowerOutletAnnc PowerOutlet5Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode AirConOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc AirConOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode AirCleanOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc AirCleanOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type Timer SleepTimer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type TimerAnnc SleepTimerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode AirPurifierOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc AirPurifierOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type MediaSelect MediaInput
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type MediaSelectAnnc MediaInputAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type MediaSelect MediaOutput
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type MediaSelectAnnc MediaOutputAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode ClothesDryerOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc ClothesDryerOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode ClothesWasherOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc ClothesWasherOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode ClothesWasherDryerOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc ClothesWasherDryerOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LiquidRemaining WaterStatus
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LiquidRemainingAnnc WaterStatusAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LiquidRemaining MilkStatus
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LiquidRemainingAnnc MilkStatusAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type Foaming MilkFoaming
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type FoamingAnnc MilkFoamingAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LiquidLevel MilkQuantity
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LiquidLevelAnnc MilkQuantityAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type BinarySwitch BrewingSwitch
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type BinarySwitchAnnc BrewingSwitchAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZone HeatingZone0
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZoneAnnc HeatingZone0Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZone HeatingZone1
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZoneAnnc HeatingZone1Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZone HeatingZone2
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZoneAnnc HeatingZone2Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZone HeatingZone3
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZoneAnnc HeatingZone3Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZone HeatingZone4
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZoneAnnc HeatingZone4Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZone HeatingZone5
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type HeatingZoneAnnc HeatingZone5Annc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode DehumidifierOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc DehumidifierOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type Lock Doorlock
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LockAnnc DoorlockAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type Lock DoorLock
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LockAnnc DoorLockAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type BinarySwitch BoilingSwitch
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type BinarySwitchAnnc BoilingSwitchAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type RunState PrinterRunState
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type RunStateAnnc PrinterRunStateAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type RunState ScannerRunState
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type RunStateAnnc ScannerRunStateAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type Temperature FrozenTemperature
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type TemperatureAnnc FrozenTemperatureAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type Temperature FridgeTemperature
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type TemperatureAnnc FridgeTemperatureAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type Temperature CustomTemperature
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type TemperatureAnnc CustomTemperatureAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type Lock ControlPanelLock
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type LockAnnc ControlPanelLockAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type FilterInfo WaterFilterInfo
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type FilterInfoAnnc WaterFilterInfoAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode RobotCleanerOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc RobotCleanerOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type TelevisionChannel Channel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type TelevisionChannelAnnc ChannelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type NumberValue DimmingLevel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type NumberValueAnnc DimmingLevelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationMode SteamClosetOperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type OperationModeAnnc SteamClosetOperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type DeviceAirConditioner_1 DeviceAirConditioner
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceAirConditioner_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceAirConditioner'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceAirConditionerAnnc_1 DeviceAirConditionerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceAirConditionerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			AirConJobMode airConJobMode,
-			AirConJobModeAnnc airConJobModeAnnc,
-			AirConOperationMode airConOperationMode,
-			AirConOperationModeAnnc airConOperationModeAnnc,
-			AirCleanOperationMode airCleanOperationMode,
-			AirCleanOperationModeAnnc airCleanOperationModeAnnc,
-			Temperature temperature,
-			TemperatureAnnc temperatureAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			SleepTimer sleepTimer,
-			SleepTimerAnnc sleepTimerAnnc,
-			Turbo turbo,
-			TurboAnnc turboAnnc,
-			AirFlow airFlow,
-			AirFlowAnnc airFlowAnnc,
-			PowerSave powerSave,
-			PowerSaveAnnc powerSaveAnnc,
-			AirQualitySensor airQualitySensor,
-			AirQualitySensorAnnc airQualitySensorAnnc,
-			FilterInfo filterInfo,
-			FilterInfoAnnc filterInfoAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceAirConditionerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceAirPurifier_1 DeviceAirPurifier
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceAirPurifier_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			RunState runState,
-			AirPurifierJobMode airPurifierJobMode,
-			AirPurifierOperationMode airPurifierOperationMode,
-			Timer timer_,
-			PowerSave powerSave,
-			AirQualitySensor airQualitySensor,
-			FilterInfo filterInfo,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceAirPurifier'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceAirPurifierAnnc_1 DeviceAirPurifierAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceAirPurifierAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			AirPurifierJobMode airPurifierJobMode,
-			AirPurifierJobModeAnnc airPurifierJobModeAnnc,
-			AirPurifierOperationMode airPurifierOperationMode,
-			AirPurifierOperationModeAnnc airPurifierOperationModeAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			PowerSave powerSave,
-			PowerSaveAnnc powerSaveAnnc,
-			AirQualitySensor airQualitySensor,
-			AirQualitySensorAnnc airQualitySensorAnnc,
-			FilterInfo filterInfo,
-			FilterInfoAnnc filterInfoAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceAirPurifierAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceAirQualityMonitor_1 DeviceAirQualityMonitor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceAirQualityMonitor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			AirQualitySensor airQualitySensor,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceAirQualityMonitor'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceAirQualityMonitorAnnc_1 DeviceAirQualityMonitorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceAirQualityMonitorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			AirQualitySensor airQualitySensor,
-			AirQualitySensorAnnc airQualitySensorAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceAirQualityMonitorAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceAudioReceiver_1 DeviceAudioReceiver
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceAudioReceiver_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			AudioVolume audioVolume,
-			MediaInput mediaInput,
-			MediaOutput mediaOutput,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceAudioReceiver'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceAudioReceiverAnnc_1 DeviceAudioReceiverAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceAudioReceiverAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			AudioVolume audioVolume,
-			AudioVolumeAnnc audioVolumeAnnc,
-			MediaInput mediaInput,
-			MediaInputAnnc mediaInputAnnc,
-			MediaOutput mediaOutput,
-			MediaOutputAnnc mediaOutputAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceAudioReceiverAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceBloodPressureMonitor_1 DeviceBloodPressureMonitor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceBloodPressureMonitor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Battery battery,
-			BinarySwitch binarySwitch,
-			Cuff0 cuff0,
-			Cuff1 cuff1,
-			Cuff2 cuff2,
-			Cuff3 cuff3,
-			Cuff4 cuff4,
-			Cuff5 cuff5,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceBloodPressureMonitor'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceBloodPressureMonitorAnnc_1 DeviceBloodPressureMonitorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceBloodPressureMonitorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			Cuff0 cuff0,
-			Cuff0Annc cuff0Annc,
-			Cuff1 cuff1,
-			Cuff1Annc cuff1Annc,
-			Cuff2 cuff2,
-			Cuff2Annc cuff2Annc,
-			Cuff3 cuff3,
-			Cuff3Annc cuff3Annc,
-			Cuff4 cuff4,
-			Cuff4Annc cuff4Annc,
-			Cuff5 cuff5,
-			Cuff5Annc cuff5Annc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceBloodPressureMonitorAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceCamera_1 DeviceCamera
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceCamera_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			SessionDescription sessionDescription,
-			PlayerControl playerControl,
-			MotionSensor motionSensor,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceCamera'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceCameraAnnc_1 DeviceCameraAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceCameraAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			SessionDescription sessionDescription,
-			SessionDescriptionAnnc sessionDescriptionAnnc,
-			PlayerControl playerControl,
-			PlayerControlAnnc playerControlAnnc,
-			MotionSensor motionSensor,
-			MotionSensorAnnc motionSensorAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceCameraAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceClothesDryer_1 DeviceClothesDryer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceClothesDryer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			RunState runState,
-			ClothesDryerJobMode clothesDryerJobMode,
-			ClothesDryerOperationMode clothesDryerOperationMode,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceClothesDryer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceClothesDryerAnnc_1 DeviceClothesDryerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceClothesDryerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			ClothesDryerJobMode clothesDryerJobMode,
-			ClothesDryerJobModeAnnc clothesDryerJobModeAnnc,
-			ClothesDryerOperationMode clothesDryerOperationMode,
-			ClothesDryerOperationModeAnnc clothesDryerOperationModeAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceClothesDryerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceClothesWasherDryer_1 DeviceClothesWasherDryer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceClothesWasherDryer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceClothesWasherDryer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceClothesWasherDryerAnnc_1 DeviceClothesWasherDryerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceClothesWasherDryerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			ClothesWasherDryerOperationMode clothesWasherDryerOperationMode,
-			ClothesWasherDryerOperationModeAnnc clothesWasherDryerOperationModeAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			ClothesWasherDryerJobMode clothesWasherDryerJobMode,
-			ClothesWasherDryerJobModeAnnc clothesWasherDryerJobModeAnnc,
-			ClothesWasherJobModeOption clothesWasherJobModeOption,
-			ClothesWasherJobModeOptionAnnc clothesWasherJobModeOptionAnnc,
-			RemoteControlEnable remoteControlEnable,
-			RemoteControlEnableAnnc remoteControlEnableAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceClothesWasherDryerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceClothesWasher_1 DeviceClothesWasher
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceClothesWasher_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			ClothesWasherOperationMode clothesWasherOperationMode,
-			RunState runState,
-			ClothesWasherJobMode clothesWasherJobMode,
-			ClothesWasherJobModeOption clothesWasherJobModeOption,
-			RemoteControlEnable remoteControlEnable,
-			Timer timer_,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceClothesWasher'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceClothesWasherAnnc_1 DeviceClothesWasherAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceClothesWasherAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			ClothesWasherOperationMode clothesWasherOperationMode,
-			ClothesWasherOperationModeAnnc clothesWasherOperationModeAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			ClothesWasherJobMode clothesWasherJobMode,
-			ClothesWasherJobModeAnnc clothesWasherJobModeAnnc,
-			ClothesWasherJobModeOption clothesWasherJobModeOption,
-			ClothesWasherJobModeOptionAnnc clothesWasherJobModeOptionAnnc,
-			RemoteControlEnable remoteControlEnable,
-			RemoteControlEnableAnnc remoteControlEnableAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceClothesWasherAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceCoffeeMachine_1 DeviceCoffeeMachine
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceCoffeeMachine_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			RunState runState,
-			Clock clock,
-			Brewing brewing,
-			WaterStatus waterStatus,
-			MilkStatus milkStatus,
-			Grinder grinder,
-			MilkFoaming milkFoaming,
-			MilkQuantity milkQuantity,
-			BrewingSwitch brewingSwitch,
-			KeepWarm keepWarm,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceCoffeeMachine'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceCoffeeMachineAnnc_1 DeviceCoffeeMachineAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceCoffeeMachineAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Clock clock,
-			ClockAnnc clockAnnc,
-			Brewing brewing,
-			BrewingAnnc brewingAnnc,
-			WaterStatus waterStatus,
-			WaterStatusAnnc waterStatusAnnc,
-			MilkStatus milkStatus,
-			MilkStatusAnnc milkStatusAnnc,
-			Grinder grinder,
-			GrinderAnnc grinderAnnc,
-			MilkFoaming milkFoaming,
-			MilkFoamingAnnc milkFoamingAnnc,
-			MilkQuantity milkQuantity,
-			MilkQuantityAnnc milkQuantityAnnc,
-			BrewingSwitch brewingSwitch,
-			BrewingSwitchAnnc brewingSwitchAnnc,
-			KeepWarm keepWarm,
-			KeepWarmAnnc keepWarmAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceCoffeeMachineAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceCookerHood_1 DeviceCookerHood
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceCookerHood_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			RunState runState,
-			AirFlow airFlow,
-			CookerHoodJobMode cookerHoodJobMode,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceCookerHood'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceCookerHoodAnnc_1 DeviceCookerHoodAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceCookerHoodAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			AirFlow airFlow,
-			AirFlowAnnc airFlowAnnc,
-			CookerHoodJobMode cookerHoodJobMode,
-			CookerHoodJobModeAnnc cookerHoodJobModeAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceCookerHoodAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceCooktop_1 DeviceCooktop
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceCooktop_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			HeatingZone0 heatingZone0,
-			HeatingZone1 heatingZone1,
-			HeatingZone2 heatingZone2,
-			HeatingZone3 heatingZone3,
-			HeatingZone4 heatingZone4,
-			HeatingZone5 heatingZone5,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceCooktop'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceCooktopAnnc_1 DeviceCooktopAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceCooktopAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			HeatingZone0 heatingZone0,
-			HeatingZone0Annc heatingZone0Annc,
-			HeatingZone1 heatingZone1,
-			HeatingZone1Annc heatingZone1Annc,
-			HeatingZone2 heatingZone2,
-			HeatingZone2Annc heatingZone2Annc,
-			HeatingZone3 heatingZone3,
-			HeatingZone3Annc heatingZone3Annc,
-			HeatingZone4 heatingZone4,
-			HeatingZone4Annc heatingZone4Annc,
-			HeatingZone5 heatingZone5,
-			HeatingZone5Annc heatingZone5Annc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceCooktopAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceDehumidifier_1 DeviceDehumidifier
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceDehumidifier_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			RelativeHumidity relativeHumidity,
-			RunState runState,
-			DehumidifierJobMode dehumidifierJobMode,
-			DehumidifierOperationMode dehumidifierOperationMode,
-			Timer timer_,
-			PowerSave powerSave,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceDehumidifier'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceDehumidifierAnnc_1 DeviceDehumidifierAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceDehumidifierAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RelativeHumidity relativeHumidity,
-			RelativeHumidityAnnc relativeHumidityAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			DehumidifierJobMode dehumidifierJobMode,
-			DehumidifierJobModeAnnc dehumidifierJobModeAnnc,
-			DehumidifierOperationMode dehumidifierOperationMode,
-			DehumidifierOperationModeAnnc dehumidifierOperationModeAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			PowerSave powerSave,
-			PowerSaveAnnc powerSaveAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceDehumidifierAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceDishWasher_1 DeviceDishWasher
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceDishWasher_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			RunState runState,
-			DishWasherJobMode dishWasherJobMode,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceDishWasher'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceDishWasherAnnc_1 DeviceDishWasherAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceDishWasherAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			DishWasherJobMode dishWasherJobMode,
-			DishWasherJobModeAnnc dishWasherJobModeAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceDishWasherAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceDoorLock_1 DeviceDoorLock
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceDoorLock_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			DoorLock doorLock,
-			DoorStatus doorStatus,
-			Battery battery,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceDoorLock'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceDoorLockAnnc_1 DeviceDoorLockAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceDoorLockAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			DoorLock doorLock,
-			DoorLockAnnc doorLockAnnc,
-			DoorStatus doorStatus,
-			DoorStatusAnnc doorStatusAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceDoorLockAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceDoor_1 DeviceDoor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceDoor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			OpenLevel openLevel,
-			Doorlock doorlock,
-			DoorStatus doorStatus,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceDoor'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceDoorAnnc_1 DeviceDoorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceDoorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			OpenLevel openLevel,
-			OpenLevelAnnc openLevelAnnc,
-			Doorlock doorlock,
-			DoorlockAnnc doorlockAnnc,
-			DoorStatus doorStatus,
-			DoorStatusAnnc doorStatusAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceDoorAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceElectricVehicleCharger_1 DeviceElectricVehicleCharger
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceElectricVehicleCharger_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceElectricVehicleCharger'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceElectricVehicleChargerAnnc_1 DeviceElectricVehicleChargerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceElectricVehicleChargerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			ElectricVehicleConnector electricVehicleConnector,
-			ElectricVehicleConnectorAnnc electricVehicleConnectorAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceElectricVehicleChargerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceFan_1 DeviceFan
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceFan_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceFan'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceFanAnnc_1 DeviceFanAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceFanAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceFanAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceFoodProbe_1 DeviceFoodProbe
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceFoodProbe_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Temperature temperature,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceFoodProbe'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceFoodProbeAnnc_1 DeviceFoodProbeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceFoodProbeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Temperature temperature,
-			TemperatureAnnc temperatureAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceFoodProbeAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceFreezer_1 DeviceFreezer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceFreezer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Temperature temperature,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceFreezer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceFreezerAnnc_1 DeviceFreezerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceFreezerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Temperature temperature,
-			TemperatureAnnc temperatureAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceFreezerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceGlucosemeter_1 DeviceGlucosemeter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceGlucosemeter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Glucometer glucometer,
-			Battery battery,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceGlucosemeter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceGlucosemeterAnnc_1 DeviceGlucosemeterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceGlucosemeterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Glucometer glucometer,
-			GlucometerAnnc glucometerAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceGlucosemeterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceHeartRateMonitor_1 DeviceHeartRateMonitor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceHeartRateMonitor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Pulsemeter pulsemeter,
-			Battery battery,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceHeartRateMonitor'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceHeartRateMonitorAnnc_1 DeviceHeartRateMonitorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceHeartRateMonitorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Pulsemeter pulsemeter,
-			PulsemeterAnnc pulsemeterAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceHeartRateMonitorAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceHomeCCTV_1 DeviceHomeCCTV
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceHomeCCTV_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			SessionDescription sessionDescription,
-			PlayerControl playerControl,
-			RunState runState,
-			MotionSensor motionSensor,
-			AirQualitySensor airQualitySensor,
-			OzoneMeter ozoneMeter,
-			SmokeSensor smokeSensor,
-			AcousticSensor acousticSensor,
-			ImpactSensor impactSensor,
-			FaultDetection faultDetection,
-			AlarmSpeaker alarmSpeaker,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceHomeCCTV'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceHomeCCTVAnnc_1 DeviceHomeCCTVAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceHomeCCTVAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			SessionDescription sessionDescription,
-			SessionDescriptionAnnc sessionDescriptionAnnc,
-			PlayerControl playerControl,
-			PlayerControlAnnc playerControlAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			MotionSensor motionSensor,
-			MotionSensorAnnc motionSensorAnnc,
-			AirQualitySensor airQualitySensor,
-			AirQualitySensorAnnc airQualitySensorAnnc,
-			OzoneMeter ozoneMeter,
-			OzoneMeterAnnc ozoneMeterAnnc,
-			SmokeSensor smokeSensor,
-			SmokeSensorAnnc smokeSensorAnnc,
-			AcousticSensor acousticSensor,
-			AcousticSensorAnnc acousticSensorAnnc,
-			ImpactSensor impactSensor,
-			ImpactSensorAnnc impactSensorAnnc,
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			AlarmSpeaker alarmSpeaker,
-			AlarmSpeakerAnnc alarmSpeakerAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceHomeCCTVAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceHumidifier_1 DeviceHumidifier
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceHumidifier_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceHumidifier'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceHumidifierAnnc_1 DeviceHumidifierAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceHumidifierAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceHumidifierAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceKettle_1 DeviceKettle
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceKettle_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			RunState runState,
-			WaterStatus waterStatus,
-			BoilingSwitch boilingSwitch,
-			Temperature temperature,
-			KeepWarm keepWarm,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceKettle'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceKettleAnnc_1 DeviceKettleAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceKettleAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			WaterStatus waterStatus,
-			WaterStatusAnnc waterStatusAnnc,
-			BoilingSwitch boilingSwitch,
-			BoilingSwitchAnnc boilingSwitchAnnc,
-			Temperature temperature,
-			TemperatureAnnc temperatureAnnc,
-			KeepWarm keepWarm,
-			KeepWarmAnnc keepWarmAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceKettleAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceLight_1 DeviceLight
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceLight_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceLight'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceLightAnnc_1 DeviceLightAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceLightAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Colour colour,
-			ColourAnnc colourAnnc,
-			ColourSaturation colourSaturation,
-			ColourSaturationAnnc colourSaturationAnnc,
-			Brightness brightness,
-			BrightnessAnnc brightnessAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceLightAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceMicrogeneration_1 DeviceMicrogeneration
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceMicrogeneration_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceMicrogeneration'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceMicrogenerationAnnc_1 DeviceMicrogenerationAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceMicrogenerationAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			EnergyGeneration energyGeneration,
-			EnergyGenerationAnnc energyGenerationAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceMicrogenerationAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceMultiFunctionPrinter_1 DeviceMultiFunctionPrinter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceMultiFunctionPrinter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			PrinterRunState printerRunState,
-			ScannerRunState scannerRunState,
-			AutoDocumentFeeder autoDocumentFeeder,
-			PrintQueue printQueue,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceMultiFunctionPrinter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceMultiFunctionPrinterAnnc_1 DeviceMultiFunctionPrinterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceMultiFunctionPrinterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			PrinterRunState printerRunState,
-			PrinterRunStateAnnc printerRunStateAnnc,
-			ScannerRunState scannerRunState,
-			ScannerRunStateAnnc scannerRunStateAnnc,
-			AutoDocumentFeeder autoDocumentFeeder,
-			AutoDocumentFeederAnnc autoDocumentFeederAnnc,
-			PrintQueue printQueue,
-			PrintQueueAnnc printQueueAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceMultiFunctionPrinterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceOutdoorLamp_1 DeviceOutdoorLamp
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceOutdoorLamp_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			Brightness brightness,
-			MotionSensor motionSensor,
-			AirQualitySensor airQualitySensor,
-			UvSensor uvSensor,
-			Timer timer_,
-			FaultDetection faultDetection,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceOutdoorLamp'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceOutdoorLampAnnc_1 DeviceOutdoorLampAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceOutdoorLampAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			Brightness brightness,
-			BrightnessAnnc brightnessAnnc,
-			MotionSensor motionSensor,
-			MotionSensorAnnc motionSensorAnnc,
-			AirQualitySensor airQualitySensor,
-			AirQualitySensorAnnc airQualitySensorAnnc,
-			UvSensor uvSensor,
-			UvSensorAnnc uvSensorAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceOutdoorLampAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceOven_1 DeviceOven
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceOven_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceOven'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceOvenAnnc_1 DeviceOvenAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceOvenAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			Temperature temperature,
-			TemperatureAnnc temperatureAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceOvenAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DevicePrinter_1 DevicePrinter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DevicePrinter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			RunState runState,
-			PrintQueue printQueue,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'devicePrinter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DevicePrinterAnnc_1 DevicePrinterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DevicePrinterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			PrintQueue printQueue,
-			PrintQueueAnnc printQueueAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'devicePrinterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DevicePulseOximeter_1 DevicePulseOximeter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DevicePulseOximeter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Pulsemeter pulsemeter,
-			Oximeter oximeter,
-			Battery battery,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'devicePulseOximeter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DevicePulseOximeterAnnc_1 DevicePulseOximeterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DevicePulseOximeterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Pulsemeter pulsemeter,
-			PulsemeterAnnc pulsemeterAnnc,
-			Oximeter oximeter,
-			OximeterAnnc oximeterAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'devicePulseOximeterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceRefrigerator_1 DeviceRefrigerator
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceRefrigerator_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceRefrigerator'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceRefrigeratorAnnc_1 DeviceRefrigeratorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceRefrigeratorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			PowerSave powerSave,
-			PowerSaveAnnc powerSaveAnnc,
-			DoorStatus doorStatus,
-			DoorStatusAnnc doorStatusAnnc,
-			FrozenTemperature frozenTemperature,
-			FrozenTemperatureAnnc frozenTemperatureAnnc,
-			FridgeTemperature fridgeTemperature,
-			FridgeTemperatureAnnc fridgeTemperatureAnnc,
-			CustomTemperature customTemperature,
-			CustomTemperatureAnnc customTemperatureAnnc,
-			Refrigeration refrigeration,
-			RefrigerationAnnc refrigerationAnnc,
-			ControlPanelLock controlPanelLock,
-			ControlPanelLockAnnc controlPanelLockAnnc,
-			WaterFilterInfo waterFilterInfo,
-			WaterFilterInfoAnnc waterFilterInfoAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceRefrigeratorAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceRobotCleaner_1 DeviceRobotCleaner
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceRobotCleaner_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceRobotCleaner'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceRobotCleanerAnnc_1 DeviceRobotCleanerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceRobotCleanerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			RobotCleanerJobMode robotCleanerJobMode,
-			RobotCleanerJobModeAnnc robotCleanerJobModeAnnc,
-			RobotCleanerOperationMode robotCleanerOperationMode,
-			RobotCleanerOperationModeAnnc robotCleanerOperationModeAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceRobotCleanerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceScanner_1 DeviceScanner
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceScanner_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			RunState runState,
-			AutoDocumentFeeder autoDocumentFeeder,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceScanner'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceScannerAnnc_1 DeviceScannerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceScannerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			AutoDocumentFeeder autoDocumentFeeder,
-			AutoDocumentFeederAnnc autoDocumentFeederAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceScannerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSecurityPanel_1 DeviceSecurityPanel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSecurityPanel_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			SecurityMode securityMode,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSecurityPanel'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSecurityPanelAnnc_1 DeviceSecurityPanelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSecurityPanelAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			SecurityMode securityMode,
-			SecurityModeAnnc securityModeAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSecurityPanelAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSetTopBox_1 DeviceSetTopBox
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSetTopBox_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			AudioVolume audioVolume,
-			Channel channel,
-			MediaInput mediaInput,
-			MediaOutput mediaOutput,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSetTopBox'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSetTopBoxAnnc_1 DeviceSetTopBoxAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSetTopBoxAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			AudioVolume audioVolume,
-			AudioVolumeAnnc audioVolumeAnnc,
-			Channel channel,
-			ChannelAnnc channelAnnc,
-			MediaInput mediaInput,
-			MediaInputAnnc mediaInputAnnc,
-			MediaOutput mediaOutput,
-			MediaOutputAnnc mediaOutputAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSetTopBoxAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSmartElectricMeter_1 DeviceSmartElectricMeter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSmartElectricMeter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceSmartElectricMeter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSmartElectricMeterAnnc_1 DeviceSmartElectricMeterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSmartElectricMeterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Clock clock,
-			ClockAnnc clockAnnc,
-			EnergyConsumption energyConsumption,
-			EnergyConsumptionAnnc energyConsumptionAnnc,
-			EnergyGeneration energyGeneration,
-			EnergyGenerationAnnc energyGenerationAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSmartElectricMeterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSmartPlug_1 DeviceSmartPlug
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSmartPlug_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			FaultDetection faultDetection,
-			RemoteControlEnable remoteControlEnable,
-			PowerOutlet0 powerOutlet0,
-			PowerOutlet1 powerOutlet1,
-			PowerOutlet2 powerOutlet2,
-			PowerOutlet3 powerOutlet3,
-			PowerOutlet4 powerOutlet4,
-			PowerOutlet5 powerOutlet5,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSmartPlug'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSmartPlugAnnc_1 DeviceSmartPlugAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSmartPlugAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			RemoteControlEnable remoteControlEnable,
-			RemoteControlEnableAnnc remoteControlEnableAnnc,
-			PowerOutlet0 powerOutlet0,
-			PowerOutlet0Annc powerOutlet0Annc,
-			PowerOutlet1 powerOutlet1,
-			PowerOutlet1Annc powerOutlet1Annc,
-			PowerOutlet2 powerOutlet2,
-			PowerOutlet2Annc powerOutlet2Annc,
-			PowerOutlet3 powerOutlet3,
-			PowerOutlet3Annc powerOutlet3Annc,
-			PowerOutlet4 powerOutlet4,
-			PowerOutlet4Annc powerOutlet4Annc,
-			PowerOutlet5 powerOutlet5,
-			PowerOutlet5Annc powerOutlet5Annc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSmartPlugAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSteamCloset_1 DeviceSteamCloset
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSteamCloset_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			RunState runState,
-			SteamClosetJobMode steamClosetJobMode,
-			SteamClosetOperationMode steamClosetOperationMode,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSteamCloset'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSteamClosetAnnc_1 DeviceSteamClosetAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSteamClosetAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			SteamClosetJobMode steamClosetJobMode,
-			SteamClosetJobModeAnnc steamClosetJobModeAnnc,
-			SteamClosetOperationMode steamClosetOperationMode,
-			SteamClosetOperationModeAnnc steamClosetOperationModeAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSteamClosetAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceStorageBattery_1 DeviceStorageBattery
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceStorageBattery_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceStorageBattery'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceStorageBatteryAnnc_1 DeviceStorageBatteryAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceStorageBatteryAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceStorageBatteryAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSwitch_1 DeviceSwitch
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSwitch_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSwitch'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceSwitchAnnc_1 DeviceSwitchAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceSwitchAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceSwitchAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceTelevision_1 DeviceTelevision
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceTelevision_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceTelevision'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceTelevisionAnnc_1 DeviceTelevisionAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceTelevisionAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			AudioVolume audioVolume,
-			AudioVolumeAnnc audioVolumeAnnc,
-			TelevisionChannel televisionChannel,
-			TelevisionChannelAnnc televisionChannelAnnc,
-			PlayerControl playerControl,
-			PlayerControlAnnc playerControlAnnc,
-			MediaInput mediaInput,
-			MediaInputAnnc mediaInputAnnc,
-			MediaOutput mediaOutput,
-			MediaOutputAnnc mediaOutputAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceTelevisionAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceThermometer_1 DeviceThermometer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceThermometer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Temperature temperature,
-			Battery battery,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceThermometer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceThermometerAnnc_1 DeviceThermometerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceThermometerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Temperature temperature,
-			TemperatureAnnc temperatureAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceThermometerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceThermostat_1 DeviceThermostat
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceThermostat_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceThermostat'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceThermostatAnnc_1 DeviceThermostatAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceThermostatAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Timer timer_,
-			TimerAnnc timerAnnc,
-			Temperature temperature,
-			TemperatureAnnc temperatureAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceThermostatAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].timer_) "name as 'timer'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceThreeDPrinter_1 DeviceThreeDPrinter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceThreeDPrinter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			FaultDetection faultDetection,
-			ThreeDPrinter threeDPrinter,
-			RunState runState,
-			Temperature temperature,
-			PrintQueue printQueue,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceThreeDPrinter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceThreeDPrinterAnnc_1 DeviceThreeDPrinterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceThreeDPrinterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			ThreeDPrinter threeDPrinter,
-			ThreeDPrinterAnnc threeDPrinterAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Temperature temperature,
-			TemperatureAnnc temperatureAnnc,
-			PrintQueue printQueue,
-			PrintQueueAnnc printQueueAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceThreeDPrinterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceWaterHeater_1 DeviceWaterHeater
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceWaterHeater_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'deviceWaterHeater'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceWaterHeaterAnnc_1 DeviceWaterHeaterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceWaterHeaterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			FaultDetection faultDetection,
-			FaultDetectionAnnc faultDetectionAnnc,
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			RunState runState,
-			RunStateAnnc runStateAnnc,
-			Clock clock,
-			ClockAnnc clockAnnc,
-			Boiler boiler,
-			BoilerAnnc boilerAnnc,
-			HotWaterSupply hotWaterSupply,
-			HotWaterSupplyAnnc hotWaterSupplyAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceWaterHeaterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceWaterValve_1 DeviceWaterValve
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceWaterValve_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			OpenLevel openLevel,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceWaterValve'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceWaterValveAnnc_1 DeviceWaterValveAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceWaterValveAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			OpenLevel openLevel,
-			OpenLevelAnnc openLevelAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceWaterValveAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceWeightScaleAndBodyCompositionAnalyser_1 DeviceWeightScaleAndBodyCompositionAnalyser
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceWeightScaleAndBodyCompositionAnalyser_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Weight weight,
-			BodyCompositionAnalyser bodyCompositionAnalyser,
-			BioElectricalImpedanceAnalysis bioElectricalImpedanceAnalysis,
-			Battery battery,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceWeightScaleAndBodyCompositionAnalyser'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceWeightScaleAndBodyCompositionAnalyserAnnc_1 DeviceWeightScaleAndBodyCompositionAnalyserAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceWeightScaleAndBodyCompositionAnalyserAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Weight weight,
-			WeightAnnc weightAnnc,
-			BodyCompositionAnalyser bodyCompositionAnalyser,
-			BodyCompositionAnalyserAnnc bodyCompositionAnalyserAnnc,
-			BioElectricalImpedanceAnalysis bioElectricalImpedanceAnalysis,
-			BioElectricalImpedanceAnalysisAnnc bioElectricalImpedanceAnalysisAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceWeightScaleAndBodyCompositionAnalyserAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceWindowShade_1 DeviceWindowShade
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceWindowShade_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			OpenLevel openLevel,
-			Battery battery,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceWindowShade'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DeviceWindowShadeAnnc_1 DeviceWindowShadeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DeviceWindowShadeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			OpenLevel openLevel,
-			OpenLevelAnnc openLevelAnnc,
-			Battery battery,
-			BatteryAnnc batteryAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'deviceWindowShadeAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type enumerated Enum3DPrinterTechnology
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumAdfState
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumAirConJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumAirPurifierJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumAlertColourCode
-{
-	int1(1),
-	int2(2)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumCallState
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumClothesDryerJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumClothesWasherDryerJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumClothesWasherJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumCookerHoodJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumDehumidifierJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumDishWasherJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumDoorState
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumFoamStrength
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumGeneralLevel
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumGeneralSpeed
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumGeneralTemperature
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumGrainsLevel
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumGrindCoarseness
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumHorizontalDirection
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumJobState
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumLiquidLevel
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumMachineState
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumOzoneStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumPlayerMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumRobotCleanerJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumSecurityMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumSpinLevelStrength
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumSteamClosetJobMode
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumSupportedMediaSource
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6),
-	int7(7),
-	int8(8),
-	int9(9),
-	int10(10),
-	int11(11)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumTasteStrength
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumTone
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumUvStatus
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumVerticalDirection
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type enumerated EnumWaterFlowStrength
-{
-	int1(1),
-	int2(2),
-	int3(3),
-	int4(4),
-	int5(5),
-	int6(6)
-}
-with {
-  variant "useNumber";
-  variant "name as uncapitalized";
-};
-
-
-type AcousticSensor_1 AcousticSensor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AcousticSensor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float loudness,
-	XSD.Integer acousticStatus 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 'acousticSensor'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AcousticSensorAnnc_1 AcousticSensorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AcousticSensorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float loudness optional,
-	XSD.Integer acousticStatus 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 'acousticSensorAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AirConJobMode_1 AirConJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AirConJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumAirConJobMode currentJobMode,
-	XSD.String currentJobModeName optional,
-	record of EnumAirConJobMode jobModes,
-	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 'airConJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AirConJobModeAnnc_1 AirConJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AirConJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumAirConJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumAirConJobMode jobModes 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 'airConJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AirFlow_1 AirFlow
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AirFlow_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer speed,
-	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 'airFlow'";
-  variant (resourceName) "attribute";
-  variant (supportedVerticalDirection) "list";
-  variant (supportedHorizontalDirection) "list";
-  //variant (automode) "text 'true' as '1'";
-  //variant (automode) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AirFlowAnnc_1 AirFlowAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AirFlowAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'airFlowAnnc'";
-  variant (resourceName) "attribute";
-  variant (supportedVerticalDirection) "list";
-  variant (supportedHorizontalDirection) "list";
-  //variant (automode) "text 'true' as '1'";
-  //variant (automode) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AirPurifierJobMode_1 AirPurifierJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AirPurifierJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumAirPurifierJobMode currentJobMode,
-	XSD.String currentJobModeName optional,
-	record of EnumAirPurifierJobMode jobModes,
-	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 'airPurifierJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AirPurifierJobModeAnnc_1 AirPurifierJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AirPurifierJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumAirPurifierJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumAirPurifierJobMode jobModes 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 'airPurifierJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AirQualitySensor_1 AirQualitySensor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AirQualitySensor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer sensorPM1 optional,
-	XSD.Integer sensorPM2 optional,
-	XSD.Integer sensorPM10 optional,
-	XSD.Integer sensorOdor optional,
-	XSD.Integer sensorHumidity optional,
-	XSD.Boolean monitoringEnabled optional,
-	XSD.Integer co2 optional,
-	XSD.Integer co optional,
-	XSD.Integer ch2o optional,
-	XSD.Integer voc 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 'airQualitySensor'";
-  variant (resourceName) "attribute";
-  //variant (monitoringEnabled) "text 'true' as '1'";
-  //variant (monitoringEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AirQualitySensorAnnc_1 AirQualitySensorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AirQualitySensorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer sensorPM1 optional,
-	XSD.Integer sensorPM2 optional,
-	XSD.Integer sensorPM10 optional,
-	XSD.Integer sensorOdor optional,
-	XSD.Integer sensorHumidity optional,
-	XSD.Boolean monitoringEnabled optional,
-	XSD.Integer co2 optional,
-	XSD.Integer co optional,
-	XSD.Integer ch2o optional,
-	XSD.Integer voc 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 'airQualitySensorAnnc'";
-  variant (resourceName) "attribute";
-  //variant (monitoringEnabled) "text 'true' as '1'";
-  //variant (monitoringEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AlarmSpeaker_1 AlarmSpeaker
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AlarmSpeaker_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumTone tone optional,
-	EnumAlertColourCode light optional,
-	XSD.Boolean alarmStatus,
-	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 'alarmSpeaker'";
-  variant (resourceName) "attribute";
-  //variant (alarmStatus) "text 'true' as '1'";
-  //variant (alarmStatus) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AlarmSpeakerAnnc_1 AlarmSpeakerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AlarmSpeakerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumTone tone optional,
-	EnumAlertColourCode light optional,
-	XSD.Boolean alarmStatus 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 'alarmSpeakerAnnc'";
-  variant (resourceName) "attribute";
-  //variant (alarmStatus) "text 'true' as '1'";
-  //variant (alarmStatus) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AudioVolume_1 AudioVolume
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AudioVolume_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer volumePercentage,
-	XSD.Integer stepValue optional,
-	XSD.Integer maxValue optional,
-	XSD.Boolean muteEnabled,
-	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 'audioVolume'";
-  variant (resourceName) "attribute";
-  //variant (muteEnabled) "text 'true' as '1'";
-  //variant (muteEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AudioVolumeAnnc_1 AudioVolumeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AudioVolumeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'audioVolumeAnnc'";
-  variant (resourceName) "attribute";
-  //variant (muteEnabled) "text 'true' as '1'";
-  //variant (muteEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AutoDocumentFeeder_1 AutoDocumentFeeder
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AutoDocumentFeeder_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumAdfState currentAdfState,
-	record of EnumAdfState adfStates,
-	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 'autoDocumentFeeder'";
-  variant (resourceName) "attribute";
-  variant (adfStates) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type AutoDocumentFeederAnnc_1 AutoDocumentFeederAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record AutoDocumentFeederAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumAdfState currentAdfState optional,
-	record of EnumAdfState adfStates 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 'autoDocumentFeederAnnc'";
-  variant (resourceName) "attribute";
-  variant (adfStates) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Battery_1 Battery
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Battery_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer level,
-	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 'battery'";
-  variant (resourceName) "attribute";
-  //variant (charging) "text 'true' as '1'";
-  //variant (charging) "text 'false' as '0'";
-  //variant (discharging) "text 'true' as '1'";
-  //variant (discharging) "text 'false' as '0'";
-  //variant (lowBattery) "text 'true' as '1'";
-  //variant (lowBattery) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BatteryAnnc_1 BatteryAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BatteryAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'batteryAnnc'";
-  variant (resourceName) "attribute";
-  //variant (charging) "text 'true' as '1'";
-  //variant (charging) "text 'false' as '0'";
-  //variant (discharging) "text 'true' as '1'";
-  //variant (discharging) "text 'false' as '0'";
-  //variant (lowBattery) "text 'true' as '1'";
-  //variant (lowBattery) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BinaryObject_1 BinaryObject
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BinaryObject_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.String object,
-	XSD.String objectType,
-	XSD.Integer size optional,
-	XSD.String hash 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 'binaryObject'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BinaryObjectAnnc_1 BinaryObjectAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BinaryObjectAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.String object optional,
-	XSD.String objectType optional,
-	XSD.Integer size optional,
-	XSD.String hash 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 'binaryObjectAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BinarySwitch_1 BinarySwitch
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BinarySwitch_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean powerState,
-	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 'binarySwitch'";
-  variant (resourceName) "attribute";
-  //variant (powerState) "text 'true' as '1'";
-  //variant (powerState) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BinarySwitchAnnc_1 BinarySwitchAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BinarySwitchAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'binarySwitchAnnc'";
-  variant (resourceName) "attribute";
-  //variant (powerState) "text 'true' as '1'";
-  //variant (powerState) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BioElectricalImpedanceAnalysis_1 BioElectricalImpedanceAnalysis
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BioElectricalImpedanceAnalysis_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float water,
-	XSD.Float fat,
-	XSD.Float muscle,
-	XSD.Float bone,
-	XSD.Float visceraFat,
-	XSD.Float kcal,
-	XSD.Boolean resistance,
-	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 'bioElectricalImpedanceAnalysis'";
-  variant (resourceName) "attribute";
-  //variant (resistance) "text 'true' as '1'";
-  //variant (resistance) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BioElectricalImpedanceAnalysisAnnc_1 BioElectricalImpedanceAnalysisAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BioElectricalImpedanceAnalysisAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float water optional,
-	XSD.Float fat optional,
-	XSD.Float muscle optional,
-	XSD.Float bone optional,
-	XSD.Float visceraFat optional,
-	XSD.Float kcal optional,
-	XSD.Boolean resistance 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 'bioElectricalImpedanceAnalysisAnnc'";
-  variant (resourceName) "attribute";
-  //variant (resistance) "text 'true' as '1'";
-  //variant (resistance) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BodyCompositionAnalyser_1 BodyCompositionAnalyser
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BodyCompositionAnalyser_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float bodyLength optional,
-	XSD.Float bmi optional,
-	XSD.Float fatFreeMass optional,
-	XSD.Float softLeanMass optional,
-	XSD.Float muscleMass optional,
-	XSD.Float basalMetabolism optional,
-	XSD.Float impedance 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 'bodyCompositionAnalyser'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BodyCompositionAnalyserAnnc_1 BodyCompositionAnalyserAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BodyCompositionAnalyserAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float bodyLength optional,
-	XSD.Float bmi optional,
-	XSD.Float fatFreeMass optional,
-	XSD.Float softLeanMass optional,
-	XSD.Float muscleMass optional,
-	XSD.Float basalMetabolism optional,
-	XSD.Float impedance 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 'bodyCompositionAnalyserAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Boiler_1 Boiler
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Boiler_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean status,
-	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 'boiler'";
-  variant (resourceName) "attribute";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BoilerAnnc_1 BoilerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BoilerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'boilerAnnc'";
-  variant (resourceName) "attribute";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Brewing_1 Brewing
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Brewing_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer cupsNumber,
-	EnumTasteStrength strength 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 'brewing'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BrewingAnnc_1 BrewingAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BrewingAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer cupsNumber optional,
-	EnumTasteStrength strength 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 'brewingAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Brightness_1 Brightness
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Brightness_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer brightness,
-	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 'brightness'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type BrightnessAnnc_1 BrightnessAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record BrightnessAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'brightnessAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Clock_1 Clock
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Clock_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	Timestamp currentTime,
-	Timestamp currentDate,
-	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 'clock'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClockAnnc_1 ClockAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClockAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'clockAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClothesDryerJobMode_1 ClothesDryerJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClothesDryerJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumClothesDryerJobMode currentJobMode,
-	XSD.String currentJobModeName 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 'clothesDryerJobMode'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClothesDryerJobModeAnnc_1 ClothesDryerJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClothesDryerJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumClothesDryerJobMode currentJobMode optional,
-	XSD.String currentJobModeName 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 'clothesDryerJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClothesWasherDryerJobMode_1 ClothesWasherDryerJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClothesWasherDryerJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumClothesWasherDryerJobMode currentJobMode,
-	XSD.String currentJobModeName optional,
-	record of EnumClothesWasherDryerJobMode jobModes,
-	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 'clothesWasherDryerJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClothesWasherDryerJobModeAnnc_1 ClothesWasherDryerJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClothesWasherDryerJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumClothesWasherDryerJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumClothesWasherDryerJobMode jobModes 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 'clothesWasherDryerJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClothesWasherJobModeOption_1 ClothesWasherJobModeOption
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClothesWasherJobModeOption_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumGeneralTemperature washTemp optional,
-	EnumGeneralLevel soilLevel optional,
-	EnumGeneralSpeed spinSpeed optional,
-	XSD.Boolean preWash optional,
-	XSD.Boolean speedWash optional,
-	XSD.Boolean steamTreat optional,
-	XSD.Boolean coldWash optional,
-	XSD.Boolean extraRinse 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 'clothesWasherJobModeOption'";
-  variant (resourceName) "attribute";
-  //variant (preWash) "text 'true' as '1'";
-  //variant (preWash) "text 'false' as '0'";
-  //variant (speedWash) "text 'true' as '1'";
-  //variant (speedWash) "text 'false' as '0'";
-  //variant (steamTreat) "text 'true' as '1'";
-  //variant (steamTreat) "text 'false' as '0'";
-  //variant (coldWash) "text 'true' as '1'";
-  //variant (coldWash) "text 'false' as '0'";
-  //variant (extraRinse) "text 'true' as '1'";
-  //variant (extraRinse) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClothesWasherJobModeOptionAnnc_1 ClothesWasherJobModeOptionAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClothesWasherJobModeOptionAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumGeneralTemperature washTemp optional,
-	EnumGeneralLevel soilLevel optional,
-	EnumGeneralSpeed spinSpeed optional,
-	XSD.Boolean preWash optional,
-	XSD.Boolean speedWash optional,
-	XSD.Boolean steamTreat optional,
-	XSD.Boolean coldWash optional,
-	XSD.Boolean extraRinse 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 'clothesWasherJobModeOptionAnnc'";
-  variant (resourceName) "attribute";
-  //variant (preWash) "text 'true' as '1'";
-  //variant (preWash) "text 'false' as '0'";
-  //variant (speedWash) "text 'true' as '1'";
-  //variant (speedWash) "text 'false' as '0'";
-  //variant (steamTreat) "text 'true' as '1'";
-  //variant (steamTreat) "text 'false' as '0'";
-  //variant (coldWash) "text 'true' as '1'";
-  //variant (coldWash) "text 'false' as '0'";
-  //variant (extraRinse) "text 'true' as '1'";
-  //variant (extraRinse) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClothesWasherJobMode_1 ClothesWasherJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClothesWasherJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumClothesWasherJobMode currentJobMode,
-	XSD.String currentJobModeName optional,
-	record of EnumClothesWasherJobMode jobModes,
-	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 'clothesWasherJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ClothesWasherJobModeAnnc_1 ClothesWasherJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ClothesWasherJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumClothesWasherJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumClothesWasherJobMode jobModes 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 'clothesWasherJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ColourSaturation_1 ColourSaturation
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ColourSaturation_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer colourSaturation,
-	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 'colourSaturation'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ColourSaturationAnnc_1 ColourSaturationAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ColourSaturationAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'colourSaturationAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Colour_1 Colour
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Colour_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer red,
-	XSD.Integer green,
-	XSD.Integer blue,
-	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 'colour'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ColourAnnc_1 ColourAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ColourAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'colourAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type CookerHoodJobMode_1 CookerHoodJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record CookerHoodJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumCookerHoodJobMode currentJobMode,
-	XSD.String currentJobModeName optional,
-	record of EnumCookerHoodJobMode jobModes,
-	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 'cookerHoodJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type CookerHoodJobModeAnnc_1 CookerHoodJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record CookerHoodJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumCookerHoodJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumCookerHoodJobMode jobModes 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 'cookerHoodJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Credentials_1 Credentials
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Credentials_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.String loginName optional,
-	XSD.String password optional,
-	XSD.String token 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 'credentials'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type CredentialsAnnc_1 CredentialsAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record CredentialsAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.String loginName optional,
-	XSD.String password optional,
-	XSD.String token 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 'credentialsAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DehumidifierJobMode_1 DehumidifierJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DehumidifierJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumDehumidifierJobMode currentJobMode,
-	XSD.String currentJobModeName optional,
-	record of EnumDehumidifierJobMode jobModes,
-	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 'dehumidifierJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DehumidifierJobModeAnnc_1 DehumidifierJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DehumidifierJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumDehumidifierJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumDehumidifierJobMode jobModes 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 'dehumidifierJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DishWasherJobMode_1 DishWasherJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DishWasherJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumDishWasherJobMode currentJobMode,
-	XSD.String currentJobModeName optional,
-	record of EnumDishWasherJobMode jobModes,
-	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 'dishWasherJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DishWasherJobModeAnnc_1 DishWasherJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DishWasherJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumDishWasherJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumDishWasherJobMode jobModes 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 'dishWasherJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DoorStatus_1 DoorStatus
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DoorStatus_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumDoorState doorState,
-	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 'doorStatus'";
-  variant (resourceName) "attribute";
-  //variant (openAlarm) "text 'true' as '1'";
-  //variant (openAlarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type DoorStatusAnnc_1 DoorStatusAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record DoorStatusAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'doorStatusAnnc'";
-  variant (resourceName) "attribute";
-  //variant (openAlarm) "text 'true' as '1'";
-  //variant (openAlarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ElectricVehicleConnector_1 ElectricVehicleConnector
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ElectricVehicleConnector_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean status,
-	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 'electricVehicleConnector'";
-  variant (resourceName) "attribute";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ElectricVehicleConnectorAnnc_1 ElectricVehicleConnectorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ElectricVehicleConnectorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'electricVehicleConnectorAnnc'";
-  variant (resourceName) "attribute";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type EnergyConsumption_1 EnergyConsumption
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record EnergyConsumption_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float power,
-	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 'energyConsumption'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type EnergyConsumptionAnnc_1 EnergyConsumptionAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record EnergyConsumptionAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'energyConsumptionAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type EnergyGeneration_1 EnergyGeneration
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record EnergyGeneration_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'energyGeneration'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type EnergyGenerationAnnc_1 EnergyGenerationAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record EnergyGenerationAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'energyGenerationAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type FaultDetection_1 FaultDetection
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record FaultDetection_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean status,
-	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 'faultDetection'";
-  variant (resourceName) "attribute";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type FaultDetectionAnnc_1 FaultDetectionAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record FaultDetectionAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'faultDetectionAnnc'";
-  variant (resourceName) "attribute";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type FilterInfo_1 FilterInfo
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record FilterInfo_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean status,
-	XSD.Integer code optional,
-	XSD.Integer filterLifetime 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 'filterInfo'";
-  variant (resourceName) "attribute";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type FilterInfoAnnc_1 FilterInfoAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record FilterInfoAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean status optional,
-	XSD.Integer code optional,
-	XSD.Integer filterLifetime 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 'filterInfoAnnc'";
-  variant (resourceName) "attribute";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Foaming_1 Foaming
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Foaming_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumFoamStrength foamingStrength,
-	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 'foaming'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type FoamingAnnc_1 FoamingAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record FoamingAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumFoamStrength foamingStrength 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 'foamingAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type GeoLocation_1 GeoLocation
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record GeoLocation_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float latitude,
-	XSD.Float longitude,
-	XSD.Float altitude optional,
-	XSD.Float heading optional,
-	XSD.Float horizontalAccuracy optional,
-	XSD.Float verticalAccuracy optional,
-	XSD.Float headingAccuracy optional,
-	XSD.Float targetLatitude optional,
-	XSD.Float targetLongitude optional,
-	XSD.Float targetAltitude 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 'geoLocation'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type GeoLocationAnnc_1 GeoLocationAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record GeoLocationAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float latitude optional,
-	XSD.Float longitude optional,
-	XSD.Float altitude optional,
-	XSD.Float heading optional,
-	XSD.Float horizontalAccuracy optional,
-	XSD.Float verticalAccuracy optional,
-	XSD.Float headingAccuracy optional,
-	XSD.Float targetLatitude optional,
-	XSD.Float targetLongitude optional,
-	XSD.Float targetAltitude 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 'geoLocationAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Glucometer_1 Glucometer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Glucometer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float concentration,
-	XSD.Float hba1c optional,
-	XSD.Float contextExercise optional,
-	XSD.Float contextMedication optional,
-	XSD.Float contextCarbohydratesAmount optional,
-	XSD.String contextCarbohydratesSource optional,
-	XSD.String contextMeal optional,
-	XSD.String contextLocation optional,
-	XSD.String contextTester optional,
-	XSD.String contextHealth 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 'glucometer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type GlucometerAnnc_1 GlucometerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record GlucometerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float concentration optional,
-	XSD.Float hba1c optional,
-	XSD.Float contextExercise optional,
-	XSD.Float contextMedication optional,
-	XSD.Float contextCarbohydratesAmount optional,
-	XSD.String contextCarbohydratesSource optional,
-	XSD.String contextMeal optional,
-	XSD.String contextLocation optional,
-	XSD.String contextTester optional,
-	XSD.String contextHealth 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 'glucometerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Grinder_1 Grinder
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Grinder_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean useGrinder,
-	EnumGrindCoarseness coarseness optional,
-	EnumGrainsLevel grainsRemaining 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 'grinder'";
-  variant (resourceName) "attribute";
-  //variant (useGrinder) "text 'true' as '1'";
-  //variant (useGrinder) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type GrinderAnnc_1 GrinderAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record GrinderAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean useGrinder optional,
-	EnumGrindCoarseness coarseness optional,
-	EnumGrainsLevel grainsRemaining 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 'grinderAnnc'";
-  variant (resourceName) "attribute";
-  //variant (useGrinder) "text 'true' as '1'";
-  //variant (useGrinder) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type HeatingZone_1 HeatingZone
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record HeatingZone_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer heatingLevel,
-	XSD.Integer maxHeatingLevel,
-	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 'heatingZone'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type HeatingZoneAnnc_1 HeatingZoneAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record HeatingZoneAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer heatingLevel optional,
-	XSD.Integer maxHeatingLevel 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 'heatingZoneAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Height_1 Height
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Height_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float height,
-	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 'height'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type HeightAnnc_1 HeightAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record HeightAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float height 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 'heightAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type HotWaterSupply_1 HotWaterSupply
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record HotWaterSupply_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI 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 'hotWaterSupply'";
-  variant (resourceName) "attribute";
-  //variant (bath) "text 'true' as '1'";
-  //variant (bath) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type HotWaterSupplyAnnc_1 HotWaterSupplyAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record HotWaterSupplyAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'hotWaterSupplyAnnc'";
-  variant (resourceName) "attribute";
-  //variant (bath) "text 'true' as '1'";
-  //variant (bath) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ImpactSensor_1 ImpactSensor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ImpactSensor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean impactStatus,
-	XSD.Float impactLevel,
-	XSD.Float impactDirectionHorizontal optional,
-	XSD.Float impactDirectionVertical 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 'impactSensor'";
-  variant (resourceName) "attribute";
-  //variant (impactStatus) "text 'true' as '1'";
-  //variant (impactStatus) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ImpactSensorAnnc_1 ImpactSensorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ImpactSensorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean impactStatus optional,
-	XSD.Float impactLevel optional,
-	XSD.Float impactDirectionHorizontal optional,
-	XSD.Float impactDirectionVertical 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 'impactSensorAnnc'";
-  variant (resourceName) "attribute";
-  //variant (impactStatus) "text 'true' as '1'";
-  //variant (impactStatus) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type KeepWarm_1 KeepWarm
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record KeepWarm_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer time 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 'keepWarm'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type KeepWarmAnnc_1 KeepWarmAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record KeepWarmAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer time 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 'keepWarmAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Keypad_1 Keypad
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Keypad_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer keyNumber,
-	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 'keypad'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type KeypadAnnc_1 KeypadAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record KeypadAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer keyNumber 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 'keypadAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type LiquidLevel_1 LiquidLevel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record LiquidLevel_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumLiquidLevel liquidLevel,
-	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 'liquidLevel'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type LiquidLevelAnnc_1 LiquidLevelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record LiquidLevelAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumLiquidLevel liquidLevel 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 'liquidLevelAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type LiquidRemaining_1 LiquidRemaining
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record LiquidRemaining_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumLiquidLevel liquidRemaining,
-	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 'liquidRemaining'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type LiquidRemainingAnnc_1 LiquidRemainingAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record LiquidRemainingAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumLiquidLevel liquidRemaining 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 'liquidRemainingAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Lock_1 Lock
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Lock_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean lock,
-	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 'lock'";
-  variant (resourceName) "attribute";
-  //variant (lock) "text 'true' as '1'";
-  //variant (lock) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type LockAnnc_1 LockAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record LockAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean lock 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 'lockAnnc'";
-  variant (resourceName) "attribute";
-  //variant (lock) "text 'true' as '1'";
-  //variant (lock) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type MediaSelect_1 MediaSelect
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record MediaSelect_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer mediaID,
-	record of EnumSupportedMediaSource supportedMediaSources,
-	XSD.String mediaName optional,
-	XSD.Boolean status optional,
-	EnumSupportedMediaSource mediaType,
-	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 'mediaSelect'";
-  variant (resourceName) "attribute";
-  variant (supportedMediaSources) "list";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type MediaSelectAnnc_1 MediaSelectAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record MediaSelectAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'mediaSelectAnnc'";
-  variant (resourceName) "attribute";
-  variant (supportedMediaSources) "list";
-  //variant (status) "text 'true' as '1'";
-  //variant (status) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type MotionSensor_1 MotionSensor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record MotionSensor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean alarm,
-	XSD.Integer silentTime optional,
-	XSD.Integer sensitivity 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 'motionSensor'";
-  variant (resourceName) "attribute";
-  //variant (alarm) "text 'true' as '1'";
-  //variant (alarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type MotionSensorAnnc_1 MotionSensorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record MotionSensorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean alarm optional,
-	XSD.Integer silentTime optional,
-	XSD.Integer sensitivity 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 'motionSensorAnnc'";
-  variant (resourceName) "attribute";
-  //variant (alarm) "text 'true' as '1'";
-  //variant (alarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type NumberValue_1 NumberValue
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record NumberValue_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float numberValue,
-	XSD.Float minValue optional,
-	XSD.Float maxValue optional,
-	XSD.Float defaultValue optional,
-	XSD.Float step optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			DecrementNumberValue decrementNumberValue,
-			IncrementNumberValue incrementNumberValue,
-			ResetNumberValue resetNumberValue,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'numberValue'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type NumberValueAnnc_1 NumberValueAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record NumberValueAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float numberValue optional,
-	XSD.Float minValue optional,
-	XSD.Float maxValue optional,
-	XSD.Float defaultValue optional,
-	XSD.Float step optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			DecrementNumberValue decrementNumberValue,
-			IncrementNumberValue incrementNumberValue,
-			ResetNumberValue resetNumberValue,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'numberValueAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OpenLevel_1 OpenLevel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OpenLevel_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer openLevel,
-	XSD.Integer stepValue optional,
-	XSD.Integer minLevel optional,
-	XSD.Integer maxLevel optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Open open,
-			Close close,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'openLevel'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OpenLevelAnnc_1 OpenLevelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OpenLevelAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer openLevel optional,
-	XSD.Integer stepValue optional,
-	XSD.Integer minLevel optional,
-	XSD.Integer maxLevel optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Open open,
-			Close close,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'openLevelAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OperationMode_1 OperationMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OperationMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean startPause,
-	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 'operationMode'";
-  variant (resourceName) "attribute";
-  //variant (startPause) "text 'true' as '1'";
-  //variant (startPause) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OperationModeAnnc_1 OperationModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OperationModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean startPause 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 'operationModeAnnc'";
-  variant (resourceName) "attribute";
-  //variant (startPause) "text 'true' as '1'";
-  //variant (startPause) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OvercurrentSensor_1 OvercurrentSensor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OvercurrentSensor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean overcurrentStatus,
-	Timestamp detectedTime optional,
-	XSD.Float duration 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 'overcurrentSensor'";
-  variant (resourceName) "attribute";
-  //variant (overcurrentStatus) "text 'true' as '1'";
-  //variant (overcurrentStatus) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OvercurrentSensorAnnc_1 OvercurrentSensorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OvercurrentSensorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean overcurrentStatus optional,
-	Timestamp detectedTime optional,
-	XSD.Float duration 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 'overcurrentSensorAnnc'";
-  variant (resourceName) "attribute";
-  //variant (overcurrentStatus) "text 'true' as '1'";
-  //variant (overcurrentStatus) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Oximeter_1 Oximeter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Oximeter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer oxygenSaturation,
-	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 'oximeter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OximeterAnnc_1 OximeterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OximeterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer oxygenSaturation 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 'oximeterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OzoneMeter_1 OzoneMeter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OzoneMeter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float ozoneValuePPM optional,
-	XSD.Float ozoneValueMG optional,
-	EnumOzoneStatus ozoneStatus optional,
-	XSD.Float maxValue 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 'ozoneMeter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type OzoneMeterAnnc_1 OzoneMeterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record OzoneMeterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float ozoneValuePPM optional,
-	XSD.Float ozoneValueMG optional,
-	EnumOzoneStatus ozoneStatus optional,
-	XSD.Float maxValue 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 'ozoneMeterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PhoneCall_1 PhoneCall
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PhoneCall_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.String callerID,
-	XSD.String recipientID,
-	EnumCallState callState optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Call call_,
-			Answer answer,
-			Hangup hangup,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'phoneCall'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].call_) "name as 'call'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PhoneCallAnnc_1 PhoneCallAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PhoneCallAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.String callerID optional,
-	XSD.String recipientID optional,
-	EnumCallState callState optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Call call_,
-			Answer answer,
-			Hangup hangup,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'phoneCallAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].call_) "name as 'call'";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PlayerControl_1 PlayerControl
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PlayerControl_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumPlayerMode currentPlayerMode,
-	XSD.String currentPlayerModeName optional,
-	record of EnumPlayerMode supportedPlayerModes,
-	XSD.Float speedFactor optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			NextTrack nextTrack,
-			PreviousTrack previousTrack,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'playerControl'";
-  variant (resourceName) "attribute";
-  variant (supportedPlayerModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PlayerControlAnnc_1 PlayerControlAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PlayerControlAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumPlayerMode currentPlayerMode optional,
-	XSD.String currentPlayerModeName optional,
-	record of EnumPlayerMode supportedPlayerModes optional,
-	XSD.Float speedFactor optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			NextTrack nextTrack,
-			PreviousTrack previousTrack,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'playerControlAnnc'";
-  variant (resourceName) "attribute";
-  variant (supportedPlayerModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PowerSave_1 PowerSave
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PowerSave_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean powerSaveEnabled,
-	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 'powerSave'";
-  variant (resourceName) "attribute";
-  //variant (powerSaveEnabled) "text 'true' as '1'";
-  //variant (powerSaveEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PowerSaveAnnc_1 PowerSaveAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PowerSaveAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'powerSaveAnnc'";
-  variant (resourceName) "attribute";
-  //variant (powerSaveEnabled) "text 'true' as '1'";
-  //variant (powerSaveEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PrintQueue_1 PrintQueue
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PrintQueue_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	record of XSD.AnyURI uri,
-	record of EnumJobState printingState,
-	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 'printQueue'";
-  variant (resourceName) "attribute";
-  variant (uri) "list";
-  variant (printingState) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PrintQueueAnnc_1 PrintQueueAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PrintQueueAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	record of XSD.AnyURI uri optional,
-	record of EnumJobState printingState 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 'printQueueAnnc'";
-  variant (resourceName) "attribute";
-  variant (uri) "list";
-  variant (printingState) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Pulsemeter_1 Pulsemeter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Pulsemeter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float pulseRate,
-	XSD.Float rr,
-	XSD.Float energy optional,
-	XSD.String modality 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 'pulsemeter'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PulsemeterAnnc_1 PulsemeterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PulsemeterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float pulseRate optional,
-	XSD.Float rr optional,
-	XSD.Float energy optional,
-	XSD.String modality 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 'pulsemeterAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PushButton_1 PushButton
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PushButton_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean pushed,
-	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 'pushButton'";
-  variant (resourceName) "attribute";
-  //variant (pushed) "text 'true' as '1'";
-  //variant (pushed) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type PushButtonAnnc_1 PushButtonAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record PushButtonAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean pushed 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 'pushButtonAnnc'";
-  variant (resourceName) "attribute";
-  //variant (pushed) "text 'true' as '1'";
-  //variant (pushed) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Recorder_1 Recorder
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Recorder_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer duration,
-	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 'recorder'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RecorderAnnc_1 RecorderAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RecorderAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer duration 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 'recorderAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Refrigeration_1 Refrigeration
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Refrigeration_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean rapidFreeze optional,
-	XSD.Boolean rapidCool optional,
-	XSD.Boolean defrost 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 'refrigeration'";
-  variant (resourceName) "attribute";
-  //variant (rapidFreeze) "text 'true' as '1'";
-  //variant (rapidFreeze) "text 'false' as '0'";
-  //variant (rapidCool) "text 'true' as '1'";
-  //variant (rapidCool) "text 'false' as '0'";
-  //variant (defrost) "text 'true' as '1'";
-  //variant (defrost) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RefrigerationAnnc_1 RefrigerationAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RefrigerationAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean rapidFreeze optional,
-	XSD.Boolean rapidCool optional,
-	XSD.Boolean defrost 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 'refrigerationAnnc'";
-  variant (resourceName) "attribute";
-  //variant (rapidFreeze) "text 'true' as '1'";
-  //variant (rapidFreeze) "text 'false' as '0'";
-  //variant (rapidCool) "text 'true' as '1'";
-  //variant (rapidCool) "text 'false' as '0'";
-  //variant (defrost) "text 'true' as '1'";
-  //variant (defrost) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RelativeHumidity_1 RelativeHumidity
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RelativeHumidity_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float relativeHumidity,
-	XSD.Float desiredHumidity 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 'relativeHumidity'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RelativeHumidityAnnc_1 RelativeHumidityAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RelativeHumidityAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float relativeHumidity optional,
-	XSD.Float desiredHumidity 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 'relativeHumidityAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RemoteControlEnable_1 RemoteControlEnable
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RemoteControlEnable_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean remoteControlEnabled,
-	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 'remoteControlEnable'";
-  variant (resourceName) "attribute";
-  //variant (remoteControlEnabled) "text 'true' as '1'";
-  //variant (remoteControlEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RemoteControlEnableAnnc_1 RemoteControlEnableAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RemoteControlEnableAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean remoteControlEnabled 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 'remoteControlEnableAnnc'";
-  variant (resourceName) "attribute";
-  //variant (remoteControlEnabled) "text 'true' as '1'";
-  //variant (remoteControlEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RobotCleanerJobMode_1 RobotCleanerJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RobotCleanerJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumRobotCleanerJobMode currentJobMode,
-	XSD.String currentJobModeName optional,
-	record of EnumRobotCleanerJobMode jobModes,
-	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 'robotCleanerJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RobotCleanerJobModeAnnc_1 RobotCleanerJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RobotCleanerJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumRobotCleanerJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumRobotCleanerJobMode jobModes 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 'robotCleanerJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RunState_1 RunState
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RunState_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumMachineState currentMachineState,
-	record of EnumMachineState machineStates,
-	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 'runState'";
-  variant (resourceName) "attribute";
-  variant (machineStates) "list";
-  variant (jobStates) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type RunStateAnnc_1 RunStateAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record RunStateAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'runStateAnnc'";
-  variant (resourceName) "attribute";
-  variant (machineStates) "list";
-  variant (jobStates) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SecurityMode_1 SecurityMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SecurityMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumSecurityMode currentSecurityMode,
-	record of EnumSecurityMode securityModes,
-	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 'securityMode'";
-  variant (resourceName) "attribute";
-  variant (securityModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SecurityModeAnnc_1 SecurityModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SecurityModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumSecurityMode currentSecurityMode optional,
-	record of EnumSecurityMode securityModes 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 'securityModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (securityModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SessionDescription_1 SessionDescription
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SessionDescription_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.AnyURI url optional,
-	XSD.String sdp 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 'sessionDescription'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SessionDescriptionAnnc_1 SessionDescriptionAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SessionDescriptionAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.AnyURI url optional,
-	XSD.String sdp 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 'sessionDescriptionAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SignalStrength_1 SignalStrength
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SignalStrength_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer lqi,
-	XSD.Float rssi 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 'signalStrength'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SignalStrengthAnnc_1 SignalStrengthAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SignalStrengthAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer lqi optional,
-	XSD.Float rssi 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 'signalStrengthAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SmokeSensor_1 SmokeSensor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SmokeSensor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean alarm,
-	Timestamp detectedTime optional,
-	XSD.Integer smokeThreshold optional,
-	XSD.Integer currentValue 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 'smokeSensor'";
-  variant (resourceName) "attribute";
-  //variant (alarm) "text 'true' as '1'";
-  //variant (alarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SmokeSensorAnnc_1 SmokeSensorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SmokeSensorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean alarm optional,
-	Timestamp detectedTime optional,
-	XSD.Integer smokeThreshold optional,
-	XSD.Integer currentValue 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 'smokeSensorAnnc'";
-  variant (resourceName) "attribute";
-  //variant (alarm) "text 'true' as '1'";
-  //variant (alarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Sphygmomanometer_1 Sphygmomanometer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Sphygmomanometer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float diastolicPressure,
-	XSD.Float systolicPressure,
-	XSD.Float meanPressure,
-	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 'sphygmomanometer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SphygmomanometerAnnc_1 SphygmomanometerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SphygmomanometerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float diastolicPressure optional,
-	XSD.Float systolicPressure optional,
-	XSD.Float meanPressure 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 'sphygmomanometerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SpinLevel_1 SpinLevel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SpinLevel_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumSpinLevelStrength spinLevelStrength,
-	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 'spinLevel'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SpinLevelAnnc_1 SpinLevelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SpinLevelAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'spinLevelAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SteamClosetJobMode_1 SteamClosetJobMode
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SteamClosetJobMode_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumSteamClosetJobMode currentJobMode,
-	XSD.String currentJobModeName,
-	record of EnumSteamClosetJobMode jobModes,
-	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 'steamClosetJobMode'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SteamClosetJobModeAnnc_1 SteamClosetJobModeAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SteamClosetJobModeAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	EnumSteamClosetJobMode currentJobMode optional,
-	XSD.String currentJobModeName optional,
-	record of EnumSteamClosetJobMode jobModes 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 'steamClosetJobModeAnnc'";
-  variant (resourceName) "attribute";
-  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TelevisionChannel_1 TelevisionChannel
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TelevisionChannel_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer channelId,
-	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 'televisionChannel'";
-  variant (resourceName) "attribute";
-  variant (availableChannels) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TelevisionChannelAnnc_1 TelevisionChannelAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TelevisionChannelAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'televisionChannelAnnc'";
-  variant (resourceName) "attribute";
-  variant (availableChannels) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TemperatureAlarm_1 TemperatureAlarm
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TemperatureAlarm_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean alarm,
-	XSD.Float temperature optional,
-	XSD.Integer temperatureThreshold 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 'temperatureAlarm'";
-  variant (resourceName) "attribute";
-  //variant (alarm) "text 'true' as '1'";
-  //variant (alarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TemperatureAlarmAnnc_1 TemperatureAlarmAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TemperatureAlarmAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean alarm optional,
-	XSD.Float temperature optional,
-	XSD.Integer temperatureThreshold 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 'temperatureAlarmAnnc'";
-  variant (resourceName) "attribute";
-  //variant (alarm) "text 'true' as '1'";
-  //variant (alarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Temperature_1 Temperature
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Temperature_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float currentTemperature,
-	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 'temperature'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TemperatureAnnc_1 TemperatureAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TemperatureAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'temperatureAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TextMessage_1 TextMessage
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TextMessage_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.String textMessage,
-	record of XSD.String supportedMessageValues optional,
-	XSD.Integer minLength optional,
-	XSD.Integer maxLength optional,
-	XSD.String messageEncoding optional,
-	XSD.String defaultValue optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ResetTextMessage resetTextMessage,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'textMessage'";
-  variant (resourceName) "attribute";
-  variant (supportedMessageValues) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TextMessageAnnc_1 TextMessageAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TextMessageAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.String textMessage optional,
-	record of XSD.String supportedMessageValues optional,
-	XSD.Integer minLength optional,
-	XSD.Integer maxLength optional,
-	XSD.String messageEncoding optional,
-	XSD.String defaultValue optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ResetTextMessage resetTextMessage,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'textMessageAnnc'";
-  variant (resourceName) "attribute";
-  variant (supportedMessageValues) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ThreeDPrinter_1 ThreeDPrinter
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ThreeDPrinter_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	Enum3DPrinterTechnology printType,
-	XSD.Float printSizeX,
-	XSD.Float printSizeY,
-	XSD.Float printSizeZ,
-	XSD.Boolean network,
-	XSD.Float memorySize,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Start3Dprint start3Dprint,
-			Stop3Dprint stop3Dprint,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'threeDPrinter'";
-  variant (resourceName) "attribute";
-  //variant (network) "text 'true' as '1'";
-  //variant (network) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type ThreeDPrinterAnnc_1 ThreeDPrinterAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record ThreeDPrinterAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	Enum3DPrinterTechnology printType optional,
-	XSD.Float printSizeX optional,
-	XSD.Float printSizeY optional,
-	XSD.Float printSizeZ optional,
-	XSD.Boolean network optional,
-	XSD.Float memorySize optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			Start3Dprint start3Dprint,
-			Stop3Dprint stop3Dprint,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'threeDPrinterAnnc'";
-  variant (resourceName) "attribute";
-  //variant (network) "text 'true' as '1'";
-  //variant (network) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Timer_1 Timer
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Timer_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer referenceTimer optional,
-	XSD.Integer targetTimeToStart optional,
-	XSD.Integer targetTimeToStop optional,
-	XSD.Integer estimatedTimeToEnd optional,
-	XSD.Integer runningTime optional,
-	XSD.Integer targetDuration optional,
-	Timestamp absoluteStartTime optional,
-	Timestamp absoluteStopTime optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ActivateClockTimer activateClockTimer,
-			DeactivateClockTimer deactivateClockTimer,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'timer'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TimerAnnc_1 TimerAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TimerAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Integer referenceTimer optional,
-	XSD.Integer targetTimeToStart optional,
-	XSD.Integer targetTimeToStop optional,
-	XSD.Integer estimatedTimeToEnd optional,
-	XSD.Integer runningTime optional,
-	XSD.Integer targetDuration optional,
-	Timestamp absoluteStartTime optional,
-	Timestamp absoluteStopTime optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			ActivateClockTimer activateClockTimer,
-			DeactivateClockTimer deactivateClockTimer,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'timerAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Turbo_1 Turbo
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Turbo_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean turboEnabled,
-	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 'turbo'";
-  variant (resourceName) "attribute";
-  //variant (turboEnabled) "text 'true' as '1'";
-  //variant (turboEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type TurboAnnc_1 TurboAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record TurboAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'turboAnnc'";
-  variant (resourceName) "attribute";
-  //variant (turboEnabled) "text 'true' as '1'";
-  //variant (turboEnabled) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type UvSensor_1 UvSensor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record UvSensor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float uvValue,
-	EnumUvStatus uvStatus 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 'uvSensor'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type UvSensorAnnc_1 UvSensorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record UvSensorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float uvValue optional,
-	EnumUvStatus uvStatus 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 'uvSensorAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type WaterFlow_1 WaterFlow
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record WaterFlow_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	EnumWaterFlowStrength waterFlowStrength,
-	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 'waterFlow'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type WaterFlowAnnc_1 WaterFlowAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record WaterFlowAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize 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 'waterFlowAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type WaterSensor_1 WaterSensor
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record WaterSensor_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean alarm,
-	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 'waterSensor'";
-  variant (resourceName) "attribute";
-  //variant (alarm) "text 'true' as '1'";
-  //variant (alarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type WaterSensorAnnc_1 WaterSensorAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record WaterSensorAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Boolean alarm 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 'waterSensorAnnc'";
-  variant (resourceName) "attribute";
-  //variant (alarm) "text 'true' as '1'";
-  //variant (alarm) "text 'false' as '0'";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type Weight_1 Weight
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record Weight_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float weight,
-	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 'weight'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type WeightAnnc_1 WeightAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record WeightAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	XSD.Float weight 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 'weightAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SubDeviceCuff_1 SubDeviceCuff
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SubDeviceCuff_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			Sphygmomanometer sphygmomanometer,
-			Pulsemeter pulsemeter,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'subDeviceCuff'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SubDeviceCuffAnnc_1 SubDeviceCuffAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SubDeviceCuffAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			Sphygmomanometer sphygmomanometer,
-			SphygmomanometerAnnc sphygmomanometerAnnc,
-			Pulsemeter pulsemeter,
-			PulsemeterAnnc pulsemeterAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'subDeviceCuffAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SubDevicePowerOutlet_1 SubDevicePowerOutlet
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SubDevicePowerOutlet_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs optional,
-	Timestamp expirationTime optional,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	ListOfURIs announceTo optional,
-	ListOfNCNames announcedAttribute optional,
-	XSD.NonNegativeInteger stateTag,
-	XSD.ID creator optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			EnergyConsumption energyConsumption,
-			OvercurrentSensor overcurrentSensor,
-			DimmingLevel dimmingLevel,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'subDevicePowerOutlet'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-type SubDevicePowerOutletAnnc_1 SubDevicePowerOutletAnnc
-with {
-  variant "name as uncapitalized";
-  variant "element";
-};
-
-
-type record SubDevicePowerOutletAnnc_1
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime optional,
-	Timestamp lastModifiedTime optional,
-	Labels labels optional,
-	AcpType accessControlPolicyIDs,
-	Timestamp expirationTime optional,
-	XSD.AnyURI link,
-	ListOfURIs dynamicAuthorizationConsultationIDs optional,
-	XSD.NonNegativeInteger stateTag optional,
-	XSD.AnyURI containerDefinition,
-	XSD.AnyURI ontologyRef optional,
-	XSD.NonNegativeInteger contentSize optional,
-	XSD.AnyURI nodeLink optional,
-	union {
-		record length(1 .. infinity) of ChildResourceRef childResource_list,
-		record length(1 .. infinity) of union {
-			BinarySwitch binarySwitch,
-			BinarySwitchAnnc binarySwitchAnnc,
-			EnergyConsumption energyConsumption,
-			EnergyConsumptionAnnc energyConsumptionAnnc,
-			OvercurrentSensor overcurrentSensor,
-			OvercurrentSensorAnnc overcurrentSensorAnnc,
-			DimmingLevel dimmingLevel,
-			DimmingLevelAnnc dimmingLevelAnnc,
-			Subscription subscription
-		} choice_list
-	} choice optional
-}
-with {
-  variant "name as 'subDevicePowerOutletAnnc'";
-  variant (resourceName) "attribute";
-  variant (choice) "untagged";
-  variant (choice.childResource_list) "untagged";
-  variant (choice.childResource_list[-]) "name as 'childResource'";
-  variant (choice.choice_list) "untagged";
-  variant (choice.choice_list[-]) "untagged";
-  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
-};
-
-
-/* ******************************************
- * 		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;
-
-/* **********************************
-* 		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
-			} 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,
-		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
-			} 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,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ServiceSubscribedNode serviceSubscribedNode,
-				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 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 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 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
-			} 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 ServiceSubscribedAppRule_optional
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfM2MID applicableCredIDs optional,
-		ListOfM2MID allowedApp_IDs optional,
-		ListOfM2MID allowedAEs optional,
-		record length(1 .. infinity) of RoleID allowedRole_IDs optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription 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";
-	};
-
-	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 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";
-	};
-
-
-}//end group OptionalResourceTypes
-	
-	
-	
-group InvalidTypes {
-		
-	type record AE_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for AE
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.String appName optional,
-		XSD.String app_ID optional,
-		XSD.ID aE_ID optional,
-		PoaList pointOfAccess optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.AnyURI nodeLink optional,
-		XSD.Boolean requestReachability optional,
-		Serializations contentSerialization optional,
-		E2eSecInfo e2eSecInfo optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Container container,
-				Group group_,
-				AccessControlPolicy accessControlPolicy,
-				Subscription subscription,
-				PollingChannel pollingChannel,
-				Schedule schedule,
-				SemanticDescriptor semanticDescriptor,
-				TimeSeries timeSeries,
-				Sg_flexContainerResource_group sg_flexContainerResource
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (app_ID) "name as 'App-ID'";
-	  variant (aE_ID) "name as 'AE-ID'";
-	  //variant (requestReachability) "text 'true' as '1'";
-	  //variant (requestReachability) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	  variant (choice.choice_list[-].group_) "name as 'group'";
-	};
-       
-	type record ACP_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for ACP
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		SetOfAcrs privileges optional,
-		SetOfAcrs selfPrivileges optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of 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_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.Integer stateTag optional,
-		XSD.ID creator optional,
-		XSD.Integer maxNrOfInstances optional,
-		XSD.Integer maxByteSize optional,
-		XSD.Integer maxInstanceAge optional,
-		XSD.Integer currentNrOfInstances optional,
-		XSD.Integer currentByteSize optional,
-		XSD.AnyURI locationID optional,
-		XSD.AnyURI ontologyRef optional,
-		XSD.Boolean disableRetrieval optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				ContentInstance contentInstance,
-				Container container,
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor,
-				Sg_flexContainerResource_group sg_flexContainerResource
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  //variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  //variant (disableRetrieval) "text 'true' as '1'";
-	  //variant (disableRetrieval) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-	          
-	type record 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_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Group
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.ID creator optional,
-		MemberType memberType optional,
-		XSD.NonNegativeInteger currentNrOfMembers optional,
-		XSD.PositiveInteger maxNrOfMembers optional,
-		ListOfURIs memberIDs optional,
-		ListOfURIs membersAccessControlPolicyIDs optional,
-		XSD.Boolean memberTypeValidated optional,
-		ConsistencyStrategy consistencyStrategy optional,
-		XSD.String groupName optional,
-		XSD.Boolean semanticSupportIndicator optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription,
-				SemanticDescriptor semanticDescriptor
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  //variant (memberTypeValidated) "text 'true' as '1'";
-	  //variant (memberTypeValidated) "text 'false' as '0'";
-	  //variant (semanticSupportIndicator) "text 'true' as '1'";
-	  //variant (semanticSupportIndicator) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-
-       
-	type record PollingChannel_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for PollingChannel
-		Labels labels optional,
-		Timestamp expirationTime optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	};
-       
-	type record Schedule_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Schedule
-		Labels labels optional,
-		Timestamp expirationTime optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		ScheduleEntries scheduleElement optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-       
-	type record Subscription_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,//Invalid field, non existing for Subscription
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		XSD.ID creator optional,
-		EventNotificationCriteria eventNotificationCriteria optional,
-		XSD.PositiveInteger expirationCounter optional,
-		ListOfURIs notificationURI optional,
-		XSD.AnyURI groupID optional,
-		XSD.AnyURI notificationForwardingURI optional,
-		BatchNotify batchNotify optional,
-		RateLimit rateLimit optional,
-		XSD.PositiveInteger preSubscriptionNotify optional,
-		PendingNotification pendingNotification optional,
-		XSD.PositiveInteger notificationStoragePriority optional,
-		XSD.Boolean latestNotify optional,
-		NotificationContentType notificationContentType optional,
-		EventCat notificationEventCat optional,
-		XSD.AnyURI subscriberURI optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Schedule schedule,
-				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  //variant (latestNotify) "text 'true' as '1'";
-	  //variant (latestNotify) "text 'false' as '0'";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-	
-	type record TimeSeries_update_invalid
-	{
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for TimeSeries
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		XSD.NonNegativeInteger stateTag optional,
-		XSD.ID creator optional,
-		XSD.NonNegativeInteger maxNrOfInstances optional,
-		XSD.NonNegativeInteger maxByteSize optional,
-		XSD.NonNegativeInteger maxInstanceAge optional,
-		XSD.NonNegativeInteger currentNrOfInstances optional,
-		XSD.NonNegativeInteger currentByteSize optional,
-		XSD.NonNegativeInteger periodicInterval optional,
-		XSD.Boolean missingDataDetect optional,
-		XSD.NonNegativeInteger missingDataMaxNr optional,
-		MissingDataList missingDataList optional,
-		XSD.NonNegativeInteger missingDataCurrentNr optional,
-		XSD.NonNegativeInteger missingDataDetectTimer optional,
-		XSD.AnyURI ontologyRef optional,
-		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_update_invalid {
-		ResourceName resourceName optional,
-		ResourceType resourceType optional,
-		XSD.ID resourceID optional,
-		NhURI parentID optional,
-		Timestamp creationTime optional,
-		Timestamp lastModifiedTime optional,
-		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for LocationPolicy
-		Labels labels optional,
-		AcpType accessControlPolicyIDs optional,
-		Timestamp expirationTime optional,
-		ListOfURIs dynamicAuthorizationConsultationIDs optional,
-		ListOfURIs announceTo optional,
-		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
-		LocationSource locationSource optional,
-		ListOfDuration locationUpdatePeriod optional,
-		LocationTargetID locationTargetID optional,
-		XSD.AnyURI locationServer optional,
-		XSD.AnyURI locationContainerID optional,
-		XSD.String locationContainerName optional,
-		XSD.String locationStatus optional,
-		union {
-			record length(1 .. infinity) of ChildResourceRef childResource_list,
-			record length(1 .. infinity) of union {
-				Subscription subscription
-			} choice_list
-		} choice optional
-	}
-	with {
-	  variant "name as uncapitalized";
-	  variant "element";
-	  variant (resourceName) "attribute";
-	  variant (announcedAttribute) "list";
-	  variant (choice) "untagged";
-	  variant (choice.childResource_list) "untagged";
-	  variant (choice.childResource_list[-]) "name as 'childResource'";
-	  variant (choice.choice_list) "untagged";
-	  variant (choice.choice_list[-]) "untagged";
-	};
-       
-}//end group invalidTypes
-
-group OtherTypes {
-		
-	type enumerated Configurations {
-		e_cf01,
-		e_cf02,
-		e_cf02CseSimuMaster,
-		e_cf03,
-		e_cf04,
-		e_cf06,
-		e_cf06DasSimuMaster
-	};
-	
-	type enumerated TestSystemRole {
-		e_cse,
-		e_ae,
-		e_das
-	};
-		
-	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
-	}
-	with {
-		variant "untagged";
-	}		
-		
-	type record of ResourceType ResourceTypeList_1
-	with {
-		variant "name as uncapitalized";
-		variant "list";
-	};
-}
-
-	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 protocols
-	 * @member e_http  Data serialization using HTTP
-	 * @member e_xml   Data serialization using XML
-	 * @member e_jsaon Data serialization using JSON
-	 * @member e_text  Data serialization using text
-	 * @member e_raw  Data serialization using binary formay
-	 */
-	type enumerated SerializationProtocols {
-		e_xml  (0),
-		e_json (1),
-		e_cbor (2)
-	}
-    
-	type record of charstring SerializationProtocolsLabels;
-	const SerializationProtocolsLabels c_serializationLabel := { "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
-	}
-    
-	/**
-	 * @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,
-	XSD.ID		     receiver
-		// TODO To be completed
-	}
-    
-	/**
-	 * @desc WebSocket binding protocol settings 
-	 */
-	type record WSBindingDesc {
-		ProtocolBindings bindingProtocol (e_wsck),
-		BindingDesc      bindingDesc,
-		charstring       requestUri 
-		// TODO To be completed
-	}
-    
-	type union BindingProtocolsSelect {
-		HttpBindingDesc httpBindingDesc,
-		CoapBindingDesc coapBindingDesc,
-		MqttBindingDesc mqttBindingDesc,
-		WSBindingDesc   wsBindingDesc
-	}
-    
-	/**
-	 * @desc 
-	 * @member binding
-	 * @member serialization
-	 */
-	type record PortDesc {
-		BindingProtocolsSelect binding,
-		SerializationProtocols serialization
-	}
-    
-	type record SutDesc {
-		charstring sutAddress
-	}
-    
-	/**
-	 * @desc UpperTester component settings
-	 * @member requestId    
-	 * @member url     Test System IP address
-	 */
-	type record UtDesc {
-		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,
-		/**
-		 * @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
-	}
-
-} 
-with {
-  encode "adapter";
-} // End of group tsSettings
-
 }
 with {
   encode "XML";
diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn
index deaf92cd0527c8ab19ee35d65e944674f9b0bab7..c11f6f1abccbebdef69cdc3bbe8a9b8a9deaac33 100644
--- a/LibOneM2M/OneM2M_TypesAndValues.ttcn
+++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn
@@ -12,112 +12,4250 @@
 module OneM2M_TypesAndValues {
 
 	import from XSD all;
+	import from OneM2M_Types all;
+	import from OneM2M_Types_HAIM all;
 
-	/* 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_defaultMgmtObjResourceName := "MyMgmtObjResource";
-	const XSD.String c_defaultMgmtCmdResourceName := "MyMgmtCmdResource";
-	const XSD.String c_defaultAeResourceName := "MyAeResource";
-	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_defaultStatsCollectResourceName := "MyStatsCollectResource";
-	const XSD.String c_defaultm2mServiceSubscriptionProfileResourceName := "Mym2mServiceSubscriptionProfileResource";
-	const XSD.String c_defaultServiceSubscribedAppRuleResourceName := "MyServiceSubscribedAppRuleResource";
-	const XSD.String c_defaultTimeSeriesResourceName := "MyTimeSeriesResource";
-	const XSD.String c_defaultTimeSeriesAnncResourceName := "MyTimeSeriesAnncResource";
-	const XSD.String c_defaultTimeSeriesInstanceResourceName := "MyTimeSeriesInstanceResource";
-	const XSD.String c_defaultRoleResourceName := "MyRoleResource";
-	const XSD.String c_defaultTokenResourceName := "MyTokenResource";
-	const XSD.String c_defaultGenericInterworkingServiceResourceName := "MyGenericInterworkingServiceResource"; //<genericInterworkingService>
-	const XSD.ID c_aeAuxName := "MyAe";
-	const XSD.String c_defaultAE2Name := "MyAe2";
-	const XSD.String c_acpAuxName := "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>
-	
-	//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;	
+	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_defaultMgmtObjResourceName := "MyMgmtObjResource";
+		const XSD.String c_defaultMgmtCmdResourceName := "MyMgmtCmdResource";
+		const XSD.String c_defaultAeResourceName := "MyAeResource";
+		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_defaultStatsCollectResourceName := "MyStatsCollectResource";
+		const XSD.String c_defaultm2mServiceSubscriptionProfileResourceName := "Mym2mServiceSubscriptionProfileResource";
+		const XSD.String c_defaultServiceSubscribedAppRuleResourceName := "MyServiceSubscribedAppRuleResource";
+		const XSD.String c_defaultTimeSeriesResourceName := "MyTimeSeriesResource";
+		const XSD.String c_defaultTimeSeriesAnncResourceName := "MyTimeSeriesAnncResource";
+		const XSD.String c_defaultTimeSeriesInstanceResourceName := "MyTimeSeriesInstanceResource";
+		const XSD.String c_defaultRoleResourceName := "MyRoleResource";
+		const XSD.String c_defaultTokenResourceName := "MyTokenResource";
+		const XSD.String c_defaultGenericInterworkingServiceResourceName := "MyGenericInterworkingServiceResource"; //<genericInterworkingService>
+		const XSD.ID c_aeAuxName := "MyAe";
+		const XSD.String c_defaultAE2Name := "MyAe2";
+		const XSD.String c_acpAuxName := "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>
+	}
+	
+	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;
+
+/* **********************************
+* 		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
+			} 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,
+		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
+			} 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,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ServiceSubscribedNode serviceSubscribedNode,
+				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 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 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 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
+			} 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 ServiceSubscribedAppRule_optional
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfM2MID applicableCredIDs optional,
+		ListOfM2MID allowedApp_IDs optional,
+		ListOfM2MID allowedAEs optional,
+		record length(1 .. infinity) of RoleID allowedRole_IDs optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription 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";
+	};
+
+	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 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";
+	};
+
+
+}//end group OptionalResourceTypes
+	
+	
+	
+group InvalidTypes {
+		
+	type record AE_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for AE
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		XSD.String appName optional,
+		XSD.String app_ID optional,
+		XSD.ID aE_ID optional,
+		PoaList pointOfAccess optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.AnyURI nodeLink optional,
+		XSD.Boolean requestReachability optional,
+		Serializations contentSerialization optional,
+		E2eSecInfo e2eSecInfo optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Container container,
+				Group group_,
+				AccessControlPolicy accessControlPolicy,
+				Subscription subscription,
+				PollingChannel pollingChannel,
+				Schedule schedule,
+				SemanticDescriptor semanticDescriptor,
+				TimeSeries timeSeries,
+				Sg_flexContainerResource_group sg_flexContainerResource
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (app_ID) "name as 'App-ID'";
+	  variant (aE_ID) "name as 'AE-ID'";
+	  //variant (requestReachability) "text 'true' as '1'";
+	  //variant (requestReachability) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	  variant (choice.choice_list[-].group_) "name as 'group'";
+	};
+       
+	type record ACP_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for ACP
+		Labels labels optional,
+		Timestamp expirationTime optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		SetOfAcrs privileges optional,
+		SetOfAcrs selfPrivileges optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of 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_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Container
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		XSD.Integer stateTag optional,
+		XSD.ID creator optional,
+		XSD.Integer maxNrOfInstances optional,
+		XSD.Integer maxByteSize optional,
+		XSD.Integer maxInstanceAge optional,
+		XSD.Integer currentNrOfInstances optional,
+		XSD.Integer currentByteSize optional,
+		XSD.AnyURI locationID optional,
+		XSD.AnyURI ontologyRef optional,
+		XSD.Boolean disableRetrieval optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				ContentInstance contentInstance,
+				Container container,
+				Subscription subscription,
+				SemanticDescriptor semanticDescriptor,
+				Sg_flexContainerResource_group sg_flexContainerResource
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  //variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (disableRetrieval) "text 'true' as '1'";
+	  //variant (disableRetrieval) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+	          
+	type record 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_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Group
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		XSD.ID creator optional,
+		MemberType memberType optional,
+		XSD.NonNegativeInteger currentNrOfMembers optional,
+		XSD.PositiveInteger maxNrOfMembers optional,
+		ListOfURIs memberIDs optional,
+		ListOfURIs membersAccessControlPolicyIDs optional,
+		XSD.Boolean memberTypeValidated optional,
+		ConsistencyStrategy consistencyStrategy optional,
+		XSD.String groupName optional,
+		XSD.Boolean semanticSupportIndicator optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription,
+				SemanticDescriptor semanticDescriptor
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  //variant (memberTypeValidated) "text 'true' as '1'";
+	  //variant (memberTypeValidated) "text 'false' as '0'";
+	  //variant (semanticSupportIndicator) "text 'true' as '1'";
+	  //variant (semanticSupportIndicator) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+
+       
+	type record PollingChannel_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for PollingChannel
+		Labels labels optional,
+		Timestamp expirationTime optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	};
+       
+	type record Schedule_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for Schedule
+		Labels labels optional,
+		Timestamp expirationTime optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		ScheduleEntries scheduleElement optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+       
+	type record Subscription_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.NonNegativeInteger maxNrOfInstances optional,//Invalid field, non existing for Subscription
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		XSD.ID creator optional,
+		EventNotificationCriteria eventNotificationCriteria optional,
+		XSD.PositiveInteger expirationCounter optional,
+		ListOfURIs notificationURI optional,
+		XSD.AnyURI groupID optional,
+		XSD.AnyURI notificationForwardingURI optional,
+		BatchNotify batchNotify optional,
+		RateLimit rateLimit optional,
+		XSD.PositiveInteger preSubscriptionNotify optional,
+		PendingNotification pendingNotification optional,
+		XSD.PositiveInteger notificationStoragePriority optional,
+		XSD.Boolean latestNotify optional,
+		NotificationContentType notificationContentType optional,
+		EventCat notificationEventCat optional,
+		XSD.AnyURI subscriberURI optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Schedule schedule,
+				NotificationTargetMgmtPolicyRef notificationTargetMgmtPolicyRef
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  //variant (latestNotify) "text 'true' as '1'";
+	  //variant (latestNotify) "text 'false' as '0'";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+	
+	type record TimeSeries_update_invalid
+	{
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for TimeSeries
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		XSD.NonNegativeInteger stateTag optional,
+		XSD.ID creator optional,
+		XSD.NonNegativeInteger maxNrOfInstances optional,
+		XSD.NonNegativeInteger maxByteSize optional,
+		XSD.NonNegativeInteger maxInstanceAge optional,
+		XSD.NonNegativeInteger currentNrOfInstances optional,
+		XSD.NonNegativeInteger currentByteSize optional,
+		XSD.NonNegativeInteger periodicInterval optional,
+		XSD.Boolean missingDataDetect optional,
+		XSD.NonNegativeInteger missingDataMaxNr optional,
+		MissingDataList missingDataList optional,
+		XSD.NonNegativeInteger missingDataCurrentNr optional,
+		XSD.NonNegativeInteger missingDataDetectTimer optional,
+		XSD.AnyURI ontologyRef optional,
+		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_update_invalid {
+		ResourceName resourceName optional,
+		ResourceType resourceType optional,
+		XSD.ID resourceID optional,
+		NhURI parentID optional,
+		Timestamp creationTime optional,
+		Timestamp lastModifiedTime optional,
+		XSD.PositiveInteger expirationCounter optional,//Invalid field, non existing for LocationPolicy
+		Labels labels optional,
+		AcpType accessControlPolicyIDs optional,
+		Timestamp expirationTime optional,
+		ListOfURIs dynamicAuthorizationConsultationIDs optional,
+		ListOfURIs announceTo optional,
+		record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
+		LocationSource locationSource optional,
+		ListOfDuration locationUpdatePeriod optional,
+		LocationTargetID locationTargetID optional,
+		XSD.AnyURI locationServer optional,
+		XSD.AnyURI locationContainerID optional,
+		XSD.String locationContainerName optional,
+		XSD.String locationStatus optional,
+		union {
+			record length(1 .. infinity) of ChildResourceRef childResource_list,
+			record length(1 .. infinity) of union {
+				Subscription subscription
+			} choice_list
+		} choice optional
+	}
+	with {
+	  variant "name as uncapitalized";
+	  variant "element";
+	  variant (resourceName) "attribute";
+	  variant (announcedAttribute) "list";
+	  variant (choice) "untagged";
+	  variant (choice.childResource_list) "untagged";
+	  variant (choice.childResource_list[-]) "name as 'childResource'";
+	  variant (choice.choice_list) "untagged";
+	  variant (choice.choice_list[-]) "untagged";
+	};
+       
+}//end group invalidTypes
+
+group OtherTypes {
+		
+	type enumerated Configurations {
+		e_cf01,
+		e_cf02,
+		e_cf02CseSimuMaster,
+		e_cf03,
+		e_cf04,
+		e_cf06,
+		e_cf06DasSimuMaster
+	};
+	
+	type enumerated TestSystemRole {
+		e_cse,
+		e_ae,
+		e_das
+	};
+		
+	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
+	}
+	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,
+	PollingChannel_optional pollingChannel,
+	Request_optional request, 
+	RemoteCSE_optional remoteCSE,
+	RemoteCSEAnnc_optional remoteCSEAnnc,
+	Schedule_optional schedule,
+	ScheduleAnnc_optional scheduleAnnc,
+	StatsConfig_optional statsConfig,
+	StatsCollect_optional statsCollect,
+	M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile,
+	ServiceSubscribedAppRule_optional serviceSubscribedAppRule,
+	Subscription_optional subscription,
+	SemanticDescriptor_optional semanticDescriptor,
+	TimeSeries_optional timeSeries,
+	TimeSeriesInstance_optional timeSeriesInstance,
+	TimeSeriesAnnc_optional timeSeriesAnnc,
+	TimeSeriesInstanceAnnc_optional timeSeriesInstanceAnnc,
+	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,
+	//SecurityInfo
+	SecurityInfo securityInfo,
+	//TS-0004 - 7.5.2-1 Elements used for request content
+	Notification notification,
+	AggregatedNotification aggregatedNotification,
+	AttributeList attributeList,
+	ResponsePrimitive responsePrimitive,
+	//TS-0004 - 7.5.2-2 Elements used for response content
+	Resource resource,
+	URIList uRIList,
+	ResourceRefList resourceRefList,
+	AggregatedResponse aggregatedResponse,
+	URI uRI,
+	RequestPrimitive requestPrimitive,
+	DebugInfo debugInfo,
+	//Invalid types
+	AE_update_invalid aE_update_invalid,
+	ACP_update_invalid aCP_update_invalid,
+	Container_update_invalid container_update_invalid,
+	GenericInterworkingService_invalid genericInterworkingService_invalid,
+	Group_update_invalid group_update_invalid,
+	PollingChannel_update_invalid pollingChannel_update_invalid,
+	Schedule_update_invalid schedule_update_invalid,
+	Subscription_update_invalid subscription_update_invalid,
+	LocationPolicy_update_invalid locationPolicy_update_invalid,
+	TimeSeries_update_invalid timeSeries_update_invalid
+}
+	
+}
+
+	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
+	}
+    
+	/**
+	 * @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,
+		XSD.ID		     receiver
+	}
+    
+	/**
+	 * @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
+	}
+    
+	/**
+	 * @desc 
+	 * @member binding
+	 * @member serialization
+	 */
+	type record PortDesc {
+		BindingProtocolsSelect binding,
+		SerializationRepresentations serialization
+	}
+    
+	/**
+	 * @desc UpperTester component settings
+	 * @member requestId    
+	 * @member url     Test System IP address
+	 */
+	type record UtDesc {
+		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,
+		/**
+		 * @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
+	}
+
+} 
+with {
+  encode "adapter";
+} // End of group tsSettings
+	
 	
 } 
 // end of module
diff --git a/LibOneM2M/OneM2M_Types_homeDevice.ttcn b/LibOneM2M/OneM2M_Types_homeDevice.ttcn
new file mode 100644
index 0000000000000000000000000000000000000000..c8af7f25674295201921826ee84f722042abe4a1
--- /dev/null
+++ b/LibOneM2M/OneM2M_Types_homeDevice.ttcn
@@ -0,0 +1,16781 @@
+/**
+ *  Copyright Notification
+ *  No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
+ *  The copyright and the foregoing restriction extend to reproduction in all media.
+ *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
+ *  All rights reserved.
+ *  
+ *  @author     oneM2M
+ *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Types.ttcn $
+ *              $Id: OneM2M_Types.ttcn 356 2017-08-21 12:25:14Z reinaortega $
+ *  @desc       OneM2M data types module 
+ *
+ */
+module OneM2M_Types_homeDevice {
+
+
+import from XSD all;
+import from OneM2M_Types all;
+import from OneM2M_TypesAndValues {type Resource_2; type ResourceTypeList_1; type PrimitiveContent};
+
+/* **************************************************
+ * **************************************************
+ * 		oneM2M HOME APPLIANCE INFORMATION MODEL Types
+ * **************************************************
+ * **************************************************
+*/
+
+
+type ActivateClockTimer_1 ActivateClockTimer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ActivateClockTimer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'activateClockTimer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ActivateClockTimerAnnc_1 ActivateClockTimerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ActivateClockTimerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'activateClockTimerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Answer_1 Answer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Answer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'answer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AnswerAnnc_1 AnswerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AnswerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'answerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Call_1 Call
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Call_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'call'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type CallAnnc_1 CallAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record CallAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'callAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Close_1 Close
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Close_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'close'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type CloseAnnc_1 CloseAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record CloseAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'closeAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeactivateClockTimer_1 DeactivateClockTimer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeactivateClockTimer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'deactivateClockTimer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeactivateClockTimerAnnc_1 DeactivateClockTimerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeactivateClockTimerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'deactivateClockTimerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DecrementNumberValue_1 DecrementNumberValue
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DecrementNumberValue_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'decrementNumberValue'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DecrementNumberValueAnnc_1 DecrementNumberValueAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DecrementNumberValueAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'decrementNumberValueAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DownChannel_1 DownChannel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DownChannel_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'downChannel'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DownChannelAnnc_1 DownChannelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DownChannelAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'downChannelAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DownVolume_1 DownVolume
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DownVolume_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'downVolume'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DownVolumeAnnc_1 DownVolumeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DownVolumeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'downVolumeAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Hangup_1 Hangup
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Hangup_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'hangup'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type HangupAnnc_1 HangupAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record HangupAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'hangupAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type IncrementNumberValue_1 IncrementNumberValue
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record IncrementNumberValue_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'incrementNumberValue'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type IncrementNumberValueAnnc_1 IncrementNumberValueAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record IncrementNumberValueAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'incrementNumberValueAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type NextTrack_1 NextTrack
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record NextTrack_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'nextTrack'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type NextTrackAnnc_1 NextTrackAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record NextTrackAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'nextTrackAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Open_1 Open
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Open_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'open'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OpenAnnc_1 OpenAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OpenAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'openAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PreviousTrack_1 PreviousTrack
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PreviousTrack_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'previousTrack'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PreviousTrackAnnc_1 PreviousTrackAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PreviousTrackAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'previousTrackAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ResetNumberValue_1 ResetNumberValue
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ResetNumberValue_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'resetNumberValue'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ResetNumberValueAnnc_1 ResetNumberValueAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ResetNumberValueAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'resetNumberValueAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ResetTextMessage_1 ResetTextMessage
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ResetTextMessage_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'resetTextMessage'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ResetTextMessageAnnc_1 ResetTextMessageAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ResetTextMessageAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'resetTextMessageAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Start3Dprint_1 Start3Dprint
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Start3Dprint_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'start3Dprint'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Start3DprintAnnc_1 Start3DprintAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Start3DprintAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'start3DprintAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Stop3Dprint_1 Stop3Dprint
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Stop3Dprint_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'stop3Dprint'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Stop3DprintAnnc_1 Stop3DprintAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Stop3DprintAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'stop3DprintAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Toggle_1 Toggle
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Toggle_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'toggle'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ToggleAnnc_1 ToggleAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ToggleAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'toggleAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type UpChannel_1 UpChannel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record UpChannel_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'upChannel'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type UpChannelAnnc_1 UpChannelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record UpChannelAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'upChannelAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type UpVolume_1 UpVolume
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record UpVolume_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink 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 'upVolume'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type UpVolumeAnnc_1 UpVolumeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record UpVolumeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink 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 'upVolumeAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SubDeviceCuff Cuff0
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuffAnnc Cuff0Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuff Cuff1
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuffAnnc Cuff1Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuff Cuff2
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuffAnnc Cuff2Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuff Cuff3
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuffAnnc Cuff3Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuff Cuff4
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuffAnnc Cuff4Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuff Cuff5
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDeviceCuffAnnc Cuff5Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutlet PowerOutlet0
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutletAnnc PowerOutlet0Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutlet PowerOutlet1
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutletAnnc PowerOutlet1Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutlet PowerOutlet2
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutletAnnc PowerOutlet2Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutlet PowerOutlet3
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutletAnnc PowerOutlet3Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutlet PowerOutlet4
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutletAnnc PowerOutlet4Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutlet PowerOutlet5
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type SubDevicePowerOutletAnnc PowerOutlet5Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode AirConOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc AirConOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode AirCleanOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc AirCleanOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type Timer SleepTimer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type TimerAnnc SleepTimerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode AirPurifierOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc AirPurifierOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type MediaSelect MediaInput
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type MediaSelectAnnc MediaInputAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type MediaSelect MediaOutput
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type MediaSelectAnnc MediaOutputAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode ClothesDryerOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc ClothesDryerOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode ClothesWasherOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc ClothesWasherOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode ClothesWasherDryerOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc ClothesWasherDryerOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LiquidRemaining WaterStatus
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LiquidRemainingAnnc WaterStatusAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LiquidRemaining MilkStatus
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LiquidRemainingAnnc MilkStatusAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type Foaming MilkFoaming
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type FoamingAnnc MilkFoamingAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LiquidLevel MilkQuantity
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LiquidLevelAnnc MilkQuantityAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type BinarySwitch BrewingSwitch
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type BinarySwitchAnnc BrewingSwitchAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZone HeatingZone0
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZoneAnnc HeatingZone0Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZone HeatingZone1
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZoneAnnc HeatingZone1Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZone HeatingZone2
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZoneAnnc HeatingZone2Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZone HeatingZone3
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZoneAnnc HeatingZone3Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZone HeatingZone4
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZoneAnnc HeatingZone4Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZone HeatingZone5
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type HeatingZoneAnnc HeatingZone5Annc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode DehumidifierOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc DehumidifierOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type Lock Doorlock
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LockAnnc DoorlockAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type Lock DoorLock
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LockAnnc DoorLockAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type BinarySwitch BoilingSwitch
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type BinarySwitchAnnc BoilingSwitchAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type RunState PrinterRunState
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type RunStateAnnc PrinterRunStateAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type RunState ScannerRunState
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type RunStateAnnc ScannerRunStateAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type Temperature FrozenTemperature
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type TemperatureAnnc FrozenTemperatureAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type Temperature FridgeTemperature
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type TemperatureAnnc FridgeTemperatureAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type Temperature CustomTemperature
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type TemperatureAnnc CustomTemperatureAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type Lock ControlPanelLock
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type LockAnnc ControlPanelLockAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type FilterInfo WaterFilterInfo
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type FilterInfoAnnc WaterFilterInfoAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode RobotCleanerOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc RobotCleanerOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type TelevisionChannel Channel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type TelevisionChannelAnnc ChannelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type NumberValue DimmingLevel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type NumberValueAnnc DimmingLevelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationMode SteamClosetOperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type OperationModeAnnc SteamClosetOperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type DeviceAirConditioner_1 DeviceAirConditioner
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceAirConditioner_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceAirConditioner'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceAirConditionerAnnc_1 DeviceAirConditionerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceAirConditionerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			AirConJobMode airConJobMode,
+			AirConJobModeAnnc airConJobModeAnnc,
+			AirConOperationMode airConOperationMode,
+			AirConOperationModeAnnc airConOperationModeAnnc,
+			AirCleanOperationMode airCleanOperationMode,
+			AirCleanOperationModeAnnc airCleanOperationModeAnnc,
+			Temperature temperature,
+			TemperatureAnnc temperatureAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			SleepTimer sleepTimer,
+			SleepTimerAnnc sleepTimerAnnc,
+			Turbo turbo,
+			TurboAnnc turboAnnc,
+			AirFlow airFlow,
+			AirFlowAnnc airFlowAnnc,
+			PowerSave powerSave,
+			PowerSaveAnnc powerSaveAnnc,
+			AirQualitySensor airQualitySensor,
+			AirQualitySensorAnnc airQualitySensorAnnc,
+			FilterInfo filterInfo,
+			FilterInfoAnnc filterInfoAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceAirConditionerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceAirPurifier_1 DeviceAirPurifier
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceAirPurifier_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			RunState runState,
+			AirPurifierJobMode airPurifierJobMode,
+			AirPurifierOperationMode airPurifierOperationMode,
+			Timer timer_,
+			PowerSave powerSave,
+			AirQualitySensor airQualitySensor,
+			FilterInfo filterInfo,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceAirPurifier'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceAirPurifierAnnc_1 DeviceAirPurifierAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceAirPurifierAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			AirPurifierJobMode airPurifierJobMode,
+			AirPurifierJobModeAnnc airPurifierJobModeAnnc,
+			AirPurifierOperationMode airPurifierOperationMode,
+			AirPurifierOperationModeAnnc airPurifierOperationModeAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			PowerSave powerSave,
+			PowerSaveAnnc powerSaveAnnc,
+			AirQualitySensor airQualitySensor,
+			AirQualitySensorAnnc airQualitySensorAnnc,
+			FilterInfo filterInfo,
+			FilterInfoAnnc filterInfoAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceAirPurifierAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceAirQualityMonitor_1 DeviceAirQualityMonitor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceAirQualityMonitor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			AirQualitySensor airQualitySensor,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceAirQualityMonitor'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceAirQualityMonitorAnnc_1 DeviceAirQualityMonitorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceAirQualityMonitorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			AirQualitySensor airQualitySensor,
+			AirQualitySensorAnnc airQualitySensorAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceAirQualityMonitorAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceAudioReceiver_1 DeviceAudioReceiver
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceAudioReceiver_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			AudioVolume audioVolume,
+			MediaInput mediaInput,
+			MediaOutput mediaOutput,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceAudioReceiver'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceAudioReceiverAnnc_1 DeviceAudioReceiverAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceAudioReceiverAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			AudioVolume audioVolume,
+			AudioVolumeAnnc audioVolumeAnnc,
+			MediaInput mediaInput,
+			MediaInputAnnc mediaInputAnnc,
+			MediaOutput mediaOutput,
+			MediaOutputAnnc mediaOutputAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceAudioReceiverAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceBloodPressureMonitor_1 DeviceBloodPressureMonitor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceBloodPressureMonitor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Battery battery,
+			BinarySwitch binarySwitch,
+			Cuff0 cuff0,
+			Cuff1 cuff1,
+			Cuff2 cuff2,
+			Cuff3 cuff3,
+			Cuff4 cuff4,
+			Cuff5 cuff5,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceBloodPressureMonitor'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceBloodPressureMonitorAnnc_1 DeviceBloodPressureMonitorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceBloodPressureMonitorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			Cuff0 cuff0,
+			Cuff0Annc cuff0Annc,
+			Cuff1 cuff1,
+			Cuff1Annc cuff1Annc,
+			Cuff2 cuff2,
+			Cuff2Annc cuff2Annc,
+			Cuff3 cuff3,
+			Cuff3Annc cuff3Annc,
+			Cuff4 cuff4,
+			Cuff4Annc cuff4Annc,
+			Cuff5 cuff5,
+			Cuff5Annc cuff5Annc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceBloodPressureMonitorAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceCamera_1 DeviceCamera
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceCamera_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			SessionDescription sessionDescription,
+			PlayerControl playerControl,
+			MotionSensor motionSensor,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceCamera'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceCameraAnnc_1 DeviceCameraAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceCameraAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			SessionDescription sessionDescription,
+			SessionDescriptionAnnc sessionDescriptionAnnc,
+			PlayerControl playerControl,
+			PlayerControlAnnc playerControlAnnc,
+			MotionSensor motionSensor,
+			MotionSensorAnnc motionSensorAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceCameraAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceClothesDryer_1 DeviceClothesDryer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceClothesDryer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			RunState runState,
+			ClothesDryerJobMode clothesDryerJobMode,
+			ClothesDryerOperationMode clothesDryerOperationMode,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceClothesDryer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceClothesDryerAnnc_1 DeviceClothesDryerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceClothesDryerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			ClothesDryerJobMode clothesDryerJobMode,
+			ClothesDryerJobModeAnnc clothesDryerJobModeAnnc,
+			ClothesDryerOperationMode clothesDryerOperationMode,
+			ClothesDryerOperationModeAnnc clothesDryerOperationModeAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceClothesDryerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceClothesWasherDryer_1 DeviceClothesWasherDryer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceClothesWasherDryer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceClothesWasherDryer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceClothesWasherDryerAnnc_1 DeviceClothesWasherDryerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceClothesWasherDryerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			ClothesWasherDryerOperationMode clothesWasherDryerOperationMode,
+			ClothesWasherDryerOperationModeAnnc clothesWasherDryerOperationModeAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			ClothesWasherDryerJobMode clothesWasherDryerJobMode,
+			ClothesWasherDryerJobModeAnnc clothesWasherDryerJobModeAnnc,
+			ClothesWasherJobModeOption clothesWasherJobModeOption,
+			ClothesWasherJobModeOptionAnnc clothesWasherJobModeOptionAnnc,
+			RemoteControlEnable remoteControlEnable,
+			RemoteControlEnableAnnc remoteControlEnableAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceClothesWasherDryerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceClothesWasher_1 DeviceClothesWasher
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceClothesWasher_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			ClothesWasherOperationMode clothesWasherOperationMode,
+			RunState runState,
+			ClothesWasherJobMode clothesWasherJobMode,
+			ClothesWasherJobModeOption clothesWasherJobModeOption,
+			RemoteControlEnable remoteControlEnable,
+			Timer timer_,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceClothesWasher'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceClothesWasherAnnc_1 DeviceClothesWasherAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceClothesWasherAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			ClothesWasherOperationMode clothesWasherOperationMode,
+			ClothesWasherOperationModeAnnc clothesWasherOperationModeAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			ClothesWasherJobMode clothesWasherJobMode,
+			ClothesWasherJobModeAnnc clothesWasherJobModeAnnc,
+			ClothesWasherJobModeOption clothesWasherJobModeOption,
+			ClothesWasherJobModeOptionAnnc clothesWasherJobModeOptionAnnc,
+			RemoteControlEnable remoteControlEnable,
+			RemoteControlEnableAnnc remoteControlEnableAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceClothesWasherAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceCoffeeMachine_1 DeviceCoffeeMachine
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceCoffeeMachine_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			RunState runState,
+			Clock clock,
+			Brewing brewing,
+			WaterStatus waterStatus,
+			MilkStatus milkStatus,
+			Grinder grinder,
+			MilkFoaming milkFoaming,
+			MilkQuantity milkQuantity,
+			BrewingSwitch brewingSwitch,
+			KeepWarm keepWarm,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceCoffeeMachine'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceCoffeeMachineAnnc_1 DeviceCoffeeMachineAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceCoffeeMachineAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Clock clock,
+			ClockAnnc clockAnnc,
+			Brewing brewing,
+			BrewingAnnc brewingAnnc,
+			WaterStatus waterStatus,
+			WaterStatusAnnc waterStatusAnnc,
+			MilkStatus milkStatus,
+			MilkStatusAnnc milkStatusAnnc,
+			Grinder grinder,
+			GrinderAnnc grinderAnnc,
+			MilkFoaming milkFoaming,
+			MilkFoamingAnnc milkFoamingAnnc,
+			MilkQuantity milkQuantity,
+			MilkQuantityAnnc milkQuantityAnnc,
+			BrewingSwitch brewingSwitch,
+			BrewingSwitchAnnc brewingSwitchAnnc,
+			KeepWarm keepWarm,
+			KeepWarmAnnc keepWarmAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceCoffeeMachineAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceCookerHood_1 DeviceCookerHood
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceCookerHood_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			RunState runState,
+			AirFlow airFlow,
+			CookerHoodJobMode cookerHoodJobMode,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceCookerHood'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceCookerHoodAnnc_1 DeviceCookerHoodAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceCookerHoodAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			AirFlow airFlow,
+			AirFlowAnnc airFlowAnnc,
+			CookerHoodJobMode cookerHoodJobMode,
+			CookerHoodJobModeAnnc cookerHoodJobModeAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceCookerHoodAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceCooktop_1 DeviceCooktop
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceCooktop_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			HeatingZone0 heatingZone0,
+			HeatingZone1 heatingZone1,
+			HeatingZone2 heatingZone2,
+			HeatingZone3 heatingZone3,
+			HeatingZone4 heatingZone4,
+			HeatingZone5 heatingZone5,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceCooktop'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceCooktopAnnc_1 DeviceCooktopAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceCooktopAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			HeatingZone0 heatingZone0,
+			HeatingZone0Annc heatingZone0Annc,
+			HeatingZone1 heatingZone1,
+			HeatingZone1Annc heatingZone1Annc,
+			HeatingZone2 heatingZone2,
+			HeatingZone2Annc heatingZone2Annc,
+			HeatingZone3 heatingZone3,
+			HeatingZone3Annc heatingZone3Annc,
+			HeatingZone4 heatingZone4,
+			HeatingZone4Annc heatingZone4Annc,
+			HeatingZone5 heatingZone5,
+			HeatingZone5Annc heatingZone5Annc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceCooktopAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceDehumidifier_1 DeviceDehumidifier
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceDehumidifier_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			RelativeHumidity relativeHumidity,
+			RunState runState,
+			DehumidifierJobMode dehumidifierJobMode,
+			DehumidifierOperationMode dehumidifierOperationMode,
+			Timer timer_,
+			PowerSave powerSave,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceDehumidifier'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceDehumidifierAnnc_1 DeviceDehumidifierAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceDehumidifierAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RelativeHumidity relativeHumidity,
+			RelativeHumidityAnnc relativeHumidityAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			DehumidifierJobMode dehumidifierJobMode,
+			DehumidifierJobModeAnnc dehumidifierJobModeAnnc,
+			DehumidifierOperationMode dehumidifierOperationMode,
+			DehumidifierOperationModeAnnc dehumidifierOperationModeAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			PowerSave powerSave,
+			PowerSaveAnnc powerSaveAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceDehumidifierAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceDishWasher_1 DeviceDishWasher
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceDishWasher_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			RunState runState,
+			DishWasherJobMode dishWasherJobMode,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceDishWasher'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceDishWasherAnnc_1 DeviceDishWasherAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceDishWasherAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			DishWasherJobMode dishWasherJobMode,
+			DishWasherJobModeAnnc dishWasherJobModeAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceDishWasherAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceDoorLock_1 DeviceDoorLock
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceDoorLock_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			DoorLock doorLock,
+			DoorStatus doorStatus,
+			Battery battery,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceDoorLock'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceDoorLockAnnc_1 DeviceDoorLockAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceDoorLockAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			DoorLock doorLock,
+			DoorLockAnnc doorLockAnnc,
+			DoorStatus doorStatus,
+			DoorStatusAnnc doorStatusAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceDoorLockAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceDoor_1 DeviceDoor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceDoor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			OpenLevel openLevel,
+			Doorlock doorlock,
+			DoorStatus doorStatus,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceDoor'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceDoorAnnc_1 DeviceDoorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceDoorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			OpenLevel openLevel,
+			OpenLevelAnnc openLevelAnnc,
+			Doorlock doorlock,
+			DoorlockAnnc doorlockAnnc,
+			DoorStatus doorStatus,
+			DoorStatusAnnc doorStatusAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceDoorAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceElectricVehicleCharger_1 DeviceElectricVehicleCharger
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceElectricVehicleCharger_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceElectricVehicleCharger'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceElectricVehicleChargerAnnc_1 DeviceElectricVehicleChargerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceElectricVehicleChargerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			ElectricVehicleConnector electricVehicleConnector,
+			ElectricVehicleConnectorAnnc electricVehicleConnectorAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceElectricVehicleChargerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceFan_1 DeviceFan
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceFan_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceFan'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceFanAnnc_1 DeviceFanAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceFanAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceFanAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceFoodProbe_1 DeviceFoodProbe
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceFoodProbe_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Temperature temperature,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceFoodProbe'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceFoodProbeAnnc_1 DeviceFoodProbeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceFoodProbeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Temperature temperature,
+			TemperatureAnnc temperatureAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceFoodProbeAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceFreezer_1 DeviceFreezer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceFreezer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Temperature temperature,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceFreezer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceFreezerAnnc_1 DeviceFreezerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceFreezerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Temperature temperature,
+			TemperatureAnnc temperatureAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceFreezerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceGlucosemeter_1 DeviceGlucosemeter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceGlucosemeter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Glucometer glucometer,
+			Battery battery,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceGlucosemeter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceGlucosemeterAnnc_1 DeviceGlucosemeterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceGlucosemeterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Glucometer glucometer,
+			GlucometerAnnc glucometerAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceGlucosemeterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceHeartRateMonitor_1 DeviceHeartRateMonitor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceHeartRateMonitor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Pulsemeter pulsemeter,
+			Battery battery,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceHeartRateMonitor'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceHeartRateMonitorAnnc_1 DeviceHeartRateMonitorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceHeartRateMonitorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Pulsemeter pulsemeter,
+			PulsemeterAnnc pulsemeterAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceHeartRateMonitorAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceHomeCCTV_1 DeviceHomeCCTV
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceHomeCCTV_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			SessionDescription sessionDescription,
+			PlayerControl playerControl,
+			RunState runState,
+			MotionSensor motionSensor,
+			AirQualitySensor airQualitySensor,
+			OzoneMeter ozoneMeter,
+			SmokeSensor smokeSensor,
+			AcousticSensor acousticSensor,
+			ImpactSensor impactSensor,
+			FaultDetection faultDetection,
+			AlarmSpeaker alarmSpeaker,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceHomeCCTV'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceHomeCCTVAnnc_1 DeviceHomeCCTVAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceHomeCCTVAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			SessionDescription sessionDescription,
+			SessionDescriptionAnnc sessionDescriptionAnnc,
+			PlayerControl playerControl,
+			PlayerControlAnnc playerControlAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			MotionSensor motionSensor,
+			MotionSensorAnnc motionSensorAnnc,
+			AirQualitySensor airQualitySensor,
+			AirQualitySensorAnnc airQualitySensorAnnc,
+			OzoneMeter ozoneMeter,
+			OzoneMeterAnnc ozoneMeterAnnc,
+			SmokeSensor smokeSensor,
+			SmokeSensorAnnc smokeSensorAnnc,
+			AcousticSensor acousticSensor,
+			AcousticSensorAnnc acousticSensorAnnc,
+			ImpactSensor impactSensor,
+			ImpactSensorAnnc impactSensorAnnc,
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			AlarmSpeaker alarmSpeaker,
+			AlarmSpeakerAnnc alarmSpeakerAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceHomeCCTVAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceHumidifier_1 DeviceHumidifier
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceHumidifier_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceHumidifier'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceHumidifierAnnc_1 DeviceHumidifierAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceHumidifierAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceHumidifierAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceKettle_1 DeviceKettle
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceKettle_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			RunState runState,
+			WaterStatus waterStatus,
+			BoilingSwitch boilingSwitch,
+			Temperature temperature,
+			KeepWarm keepWarm,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceKettle'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceKettleAnnc_1 DeviceKettleAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceKettleAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			WaterStatus waterStatus,
+			WaterStatusAnnc waterStatusAnnc,
+			BoilingSwitch boilingSwitch,
+			BoilingSwitchAnnc boilingSwitchAnnc,
+			Temperature temperature,
+			TemperatureAnnc temperatureAnnc,
+			KeepWarm keepWarm,
+			KeepWarmAnnc keepWarmAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceKettleAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceLight_1 DeviceLight
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceLight_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceLight'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceLightAnnc_1 DeviceLightAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceLightAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Colour colour,
+			ColourAnnc colourAnnc,
+			ColourSaturation colourSaturation,
+			ColourSaturationAnnc colourSaturationAnnc,
+			Brightness brightness,
+			BrightnessAnnc brightnessAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceLightAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceMicrogeneration_1 DeviceMicrogeneration
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceMicrogeneration_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceMicrogeneration'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceMicrogenerationAnnc_1 DeviceMicrogenerationAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceMicrogenerationAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			EnergyGeneration energyGeneration,
+			EnergyGenerationAnnc energyGenerationAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceMicrogenerationAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceMultiFunctionPrinter_1 DeviceMultiFunctionPrinter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceMultiFunctionPrinter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			PrinterRunState printerRunState,
+			ScannerRunState scannerRunState,
+			AutoDocumentFeeder autoDocumentFeeder,
+			PrintQueue printQueue,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceMultiFunctionPrinter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceMultiFunctionPrinterAnnc_1 DeviceMultiFunctionPrinterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceMultiFunctionPrinterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			PrinterRunState printerRunState,
+			PrinterRunStateAnnc printerRunStateAnnc,
+			ScannerRunState scannerRunState,
+			ScannerRunStateAnnc scannerRunStateAnnc,
+			AutoDocumentFeeder autoDocumentFeeder,
+			AutoDocumentFeederAnnc autoDocumentFeederAnnc,
+			PrintQueue printQueue,
+			PrintQueueAnnc printQueueAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceMultiFunctionPrinterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceOutdoorLamp_1 DeviceOutdoorLamp
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceOutdoorLamp_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			Brightness brightness,
+			MotionSensor motionSensor,
+			AirQualitySensor airQualitySensor,
+			UvSensor uvSensor,
+			Timer timer_,
+			FaultDetection faultDetection,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceOutdoorLamp'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceOutdoorLampAnnc_1 DeviceOutdoorLampAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceOutdoorLampAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			Brightness brightness,
+			BrightnessAnnc brightnessAnnc,
+			MotionSensor motionSensor,
+			MotionSensorAnnc motionSensorAnnc,
+			AirQualitySensor airQualitySensor,
+			AirQualitySensorAnnc airQualitySensorAnnc,
+			UvSensor uvSensor,
+			UvSensorAnnc uvSensorAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceOutdoorLampAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceOven_1 DeviceOven
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceOven_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceOven'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceOvenAnnc_1 DeviceOvenAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceOvenAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			Temperature temperature,
+			TemperatureAnnc temperatureAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceOvenAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DevicePrinter_1 DevicePrinter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DevicePrinter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			RunState runState,
+			PrintQueue printQueue,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'devicePrinter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DevicePrinterAnnc_1 DevicePrinterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DevicePrinterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			PrintQueue printQueue,
+			PrintQueueAnnc printQueueAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'devicePrinterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DevicePulseOximeter_1 DevicePulseOximeter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DevicePulseOximeter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Pulsemeter pulsemeter,
+			Oximeter oximeter,
+			Battery battery,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'devicePulseOximeter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DevicePulseOximeterAnnc_1 DevicePulseOximeterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DevicePulseOximeterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Pulsemeter pulsemeter,
+			PulsemeterAnnc pulsemeterAnnc,
+			Oximeter oximeter,
+			OximeterAnnc oximeterAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'devicePulseOximeterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceRefrigerator_1 DeviceRefrigerator
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceRefrigerator_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceRefrigerator'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceRefrigeratorAnnc_1 DeviceRefrigeratorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceRefrigeratorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			PowerSave powerSave,
+			PowerSaveAnnc powerSaveAnnc,
+			DoorStatus doorStatus,
+			DoorStatusAnnc doorStatusAnnc,
+			FrozenTemperature frozenTemperature,
+			FrozenTemperatureAnnc frozenTemperatureAnnc,
+			FridgeTemperature fridgeTemperature,
+			FridgeTemperatureAnnc fridgeTemperatureAnnc,
+			CustomTemperature customTemperature,
+			CustomTemperatureAnnc customTemperatureAnnc,
+			Refrigeration refrigeration,
+			RefrigerationAnnc refrigerationAnnc,
+			ControlPanelLock controlPanelLock,
+			ControlPanelLockAnnc controlPanelLockAnnc,
+			WaterFilterInfo waterFilterInfo,
+			WaterFilterInfoAnnc waterFilterInfoAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceRefrigeratorAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceRobotCleaner_1 DeviceRobotCleaner
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceRobotCleaner_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceRobotCleaner'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceRobotCleanerAnnc_1 DeviceRobotCleanerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceRobotCleanerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			RobotCleanerJobMode robotCleanerJobMode,
+			RobotCleanerJobModeAnnc robotCleanerJobModeAnnc,
+			RobotCleanerOperationMode robotCleanerOperationMode,
+			RobotCleanerOperationModeAnnc robotCleanerOperationModeAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceRobotCleanerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceScanner_1 DeviceScanner
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceScanner_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			RunState runState,
+			AutoDocumentFeeder autoDocumentFeeder,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceScanner'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceScannerAnnc_1 DeviceScannerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceScannerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			AutoDocumentFeeder autoDocumentFeeder,
+			AutoDocumentFeederAnnc autoDocumentFeederAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceScannerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSecurityPanel_1 DeviceSecurityPanel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSecurityPanel_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			SecurityMode securityMode,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSecurityPanel'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSecurityPanelAnnc_1 DeviceSecurityPanelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSecurityPanelAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			SecurityMode securityMode,
+			SecurityModeAnnc securityModeAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSecurityPanelAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSetTopBox_1 DeviceSetTopBox
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSetTopBox_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			AudioVolume audioVolume,
+			Channel channel,
+			MediaInput mediaInput,
+			MediaOutput mediaOutput,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSetTopBox'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSetTopBoxAnnc_1 DeviceSetTopBoxAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSetTopBoxAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			AudioVolume audioVolume,
+			AudioVolumeAnnc audioVolumeAnnc,
+			Channel channel,
+			ChannelAnnc channelAnnc,
+			MediaInput mediaInput,
+			MediaInputAnnc mediaInputAnnc,
+			MediaOutput mediaOutput,
+			MediaOutputAnnc mediaOutputAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSetTopBoxAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSmartElectricMeter_1 DeviceSmartElectricMeter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSmartElectricMeter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceSmartElectricMeter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSmartElectricMeterAnnc_1 DeviceSmartElectricMeterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSmartElectricMeterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Clock clock,
+			ClockAnnc clockAnnc,
+			EnergyConsumption energyConsumption,
+			EnergyConsumptionAnnc energyConsumptionAnnc,
+			EnergyGeneration energyGeneration,
+			EnergyGenerationAnnc energyGenerationAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSmartElectricMeterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSmartPlug_1 DeviceSmartPlug
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSmartPlug_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			FaultDetection faultDetection,
+			RemoteControlEnable remoteControlEnable,
+			PowerOutlet0 powerOutlet0,
+			PowerOutlet1 powerOutlet1,
+			PowerOutlet2 powerOutlet2,
+			PowerOutlet3 powerOutlet3,
+			PowerOutlet4 powerOutlet4,
+			PowerOutlet5 powerOutlet5,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSmartPlug'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSmartPlugAnnc_1 DeviceSmartPlugAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSmartPlugAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			RemoteControlEnable remoteControlEnable,
+			RemoteControlEnableAnnc remoteControlEnableAnnc,
+			PowerOutlet0 powerOutlet0,
+			PowerOutlet0Annc powerOutlet0Annc,
+			PowerOutlet1 powerOutlet1,
+			PowerOutlet1Annc powerOutlet1Annc,
+			PowerOutlet2 powerOutlet2,
+			PowerOutlet2Annc powerOutlet2Annc,
+			PowerOutlet3 powerOutlet3,
+			PowerOutlet3Annc powerOutlet3Annc,
+			PowerOutlet4 powerOutlet4,
+			PowerOutlet4Annc powerOutlet4Annc,
+			PowerOutlet5 powerOutlet5,
+			PowerOutlet5Annc powerOutlet5Annc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSmartPlugAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSteamCloset_1 DeviceSteamCloset
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSteamCloset_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			RunState runState,
+			SteamClosetJobMode steamClosetJobMode,
+			SteamClosetOperationMode steamClosetOperationMode,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSteamCloset'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSteamClosetAnnc_1 DeviceSteamClosetAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSteamClosetAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			SteamClosetJobMode steamClosetJobMode,
+			SteamClosetJobModeAnnc steamClosetJobModeAnnc,
+			SteamClosetOperationMode steamClosetOperationMode,
+			SteamClosetOperationModeAnnc steamClosetOperationModeAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSteamClosetAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceStorageBattery_1 DeviceStorageBattery
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceStorageBattery_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceStorageBattery'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceStorageBatteryAnnc_1 DeviceStorageBatteryAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceStorageBatteryAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceStorageBatteryAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSwitch_1 DeviceSwitch
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSwitch_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSwitch'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceSwitchAnnc_1 DeviceSwitchAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceSwitchAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceSwitchAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceTelevision_1 DeviceTelevision
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceTelevision_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceTelevision'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceTelevisionAnnc_1 DeviceTelevisionAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceTelevisionAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			AudioVolume audioVolume,
+			AudioVolumeAnnc audioVolumeAnnc,
+			TelevisionChannel televisionChannel,
+			TelevisionChannelAnnc televisionChannelAnnc,
+			PlayerControl playerControl,
+			PlayerControlAnnc playerControlAnnc,
+			MediaInput mediaInput,
+			MediaInputAnnc mediaInputAnnc,
+			MediaOutput mediaOutput,
+			MediaOutputAnnc mediaOutputAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceTelevisionAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceThermometer_1 DeviceThermometer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceThermometer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Temperature temperature,
+			Battery battery,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceThermometer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceThermometerAnnc_1 DeviceThermometerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceThermometerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Temperature temperature,
+			TemperatureAnnc temperatureAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceThermometerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceThermostat_1 DeviceThermostat
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceThermostat_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceThermostat'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceThermostatAnnc_1 DeviceThermostatAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceThermostatAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Timer timer_,
+			TimerAnnc timerAnnc,
+			Temperature temperature,
+			TemperatureAnnc temperatureAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceThermostatAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].timer_) "name as 'timer'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceThreeDPrinter_1 DeviceThreeDPrinter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceThreeDPrinter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			FaultDetection faultDetection,
+			ThreeDPrinter threeDPrinter,
+			RunState runState,
+			Temperature temperature,
+			PrintQueue printQueue,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceThreeDPrinter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceThreeDPrinterAnnc_1 DeviceThreeDPrinterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceThreeDPrinterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			ThreeDPrinter threeDPrinter,
+			ThreeDPrinterAnnc threeDPrinterAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Temperature temperature,
+			TemperatureAnnc temperatureAnnc,
+			PrintQueue printQueue,
+			PrintQueueAnnc printQueueAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceThreeDPrinterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceWaterHeater_1 DeviceWaterHeater
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceWaterHeater_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'deviceWaterHeater'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceWaterHeaterAnnc_1 DeviceWaterHeaterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceWaterHeaterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			FaultDetection faultDetection,
+			FaultDetectionAnnc faultDetectionAnnc,
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			RunState runState,
+			RunStateAnnc runStateAnnc,
+			Clock clock,
+			ClockAnnc clockAnnc,
+			Boiler boiler,
+			BoilerAnnc boilerAnnc,
+			HotWaterSupply hotWaterSupply,
+			HotWaterSupplyAnnc hotWaterSupplyAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceWaterHeaterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceWaterValve_1 DeviceWaterValve
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceWaterValve_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			OpenLevel openLevel,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceWaterValve'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceWaterValveAnnc_1 DeviceWaterValveAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceWaterValveAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			OpenLevel openLevel,
+			OpenLevelAnnc openLevelAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceWaterValveAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceWeightScaleAndBodyCompositionAnalyser_1 DeviceWeightScaleAndBodyCompositionAnalyser
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceWeightScaleAndBodyCompositionAnalyser_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Weight weight,
+			BodyCompositionAnalyser bodyCompositionAnalyser,
+			BioElectricalImpedanceAnalysis bioElectricalImpedanceAnalysis,
+			Battery battery,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceWeightScaleAndBodyCompositionAnalyser'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceWeightScaleAndBodyCompositionAnalyserAnnc_1 DeviceWeightScaleAndBodyCompositionAnalyserAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceWeightScaleAndBodyCompositionAnalyserAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Weight weight,
+			WeightAnnc weightAnnc,
+			BodyCompositionAnalyser bodyCompositionAnalyser,
+			BodyCompositionAnalyserAnnc bodyCompositionAnalyserAnnc,
+			BioElectricalImpedanceAnalysis bioElectricalImpedanceAnalysis,
+			BioElectricalImpedanceAnalysisAnnc bioElectricalImpedanceAnalysisAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceWeightScaleAndBodyCompositionAnalyserAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceWindowShade_1 DeviceWindowShade
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceWindowShade_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			OpenLevel openLevel,
+			Battery battery,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceWindowShade'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DeviceWindowShadeAnnc_1 DeviceWindowShadeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DeviceWindowShadeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			OpenLevel openLevel,
+			OpenLevelAnnc openLevelAnnc,
+			Battery battery,
+			BatteryAnnc batteryAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'deviceWindowShadeAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type enumerated Enum3DPrinterTechnology
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumAdfState
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8),
+	int9(9),
+	int10(10),
+	int11(11)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumAirConJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumAirPurifierJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumAlertColourCode
+{
+	int1(1),
+	int2(2)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumCallState
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumClothesDryerJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumClothesWasherDryerJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumClothesWasherJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumCookerHoodJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumDehumidifierJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumDishWasherJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumDoorState
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumFoamStrength
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumGeneralLevel
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumGeneralSpeed
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumGeneralTemperature
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumGrainsLevel
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumGrindCoarseness
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumHorizontalDirection
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumJobState
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumLiquidLevel
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumMachineState
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8),
+	int9(9),
+	int10(10),
+	int11(11)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumOzoneStatus
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumPlayerMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8),
+	int9(9),
+	int10(10),
+	int11(11)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumRobotCleanerJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumSecurityMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumSpinLevelStrength
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumSteamClosetJobMode
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumSupportedMediaSource
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6),
+	int7(7),
+	int8(8),
+	int9(9),
+	int10(10),
+	int11(11)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumTasteStrength
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumTone
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumUvStatus
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumVerticalDirection
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type enumerated EnumWaterFlowStrength
+{
+	int1(1),
+	int2(2),
+	int3(3),
+	int4(4),
+	int5(5),
+	int6(6)
+}
+with {
+  variant "useNumber";
+  variant "name as uncapitalized";
+};
+
+
+type AcousticSensor_1 AcousticSensor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AcousticSensor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float loudness,
+	XSD.Integer acousticStatus 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 'acousticSensor'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AcousticSensorAnnc_1 AcousticSensorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AcousticSensorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float loudness optional,
+	XSD.Integer acousticStatus 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 'acousticSensorAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AirConJobMode_1 AirConJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AirConJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumAirConJobMode currentJobMode,
+	XSD.String currentJobModeName optional,
+	record of EnumAirConJobMode jobModes,
+	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 'airConJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AirConJobModeAnnc_1 AirConJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AirConJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumAirConJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumAirConJobMode jobModes 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 'airConJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AirFlow_1 AirFlow
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AirFlow_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer speed,
+	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 'airFlow'";
+  variant (resourceName) "attribute";
+  variant (supportedVerticalDirection) "list";
+  variant (supportedHorizontalDirection) "list";
+  //variant (automode) "text 'true' as '1'";
+  //variant (automode) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AirFlowAnnc_1 AirFlowAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AirFlowAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'airFlowAnnc'";
+  variant (resourceName) "attribute";
+  variant (supportedVerticalDirection) "list";
+  variant (supportedHorizontalDirection) "list";
+  //variant (automode) "text 'true' as '1'";
+  //variant (automode) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AirPurifierJobMode_1 AirPurifierJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AirPurifierJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumAirPurifierJobMode currentJobMode,
+	XSD.String currentJobModeName optional,
+	record of EnumAirPurifierJobMode jobModes,
+	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 'airPurifierJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AirPurifierJobModeAnnc_1 AirPurifierJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AirPurifierJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumAirPurifierJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumAirPurifierJobMode jobModes 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 'airPurifierJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AirQualitySensor_1 AirQualitySensor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AirQualitySensor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer sensorPM1 optional,
+	XSD.Integer sensorPM2 optional,
+	XSD.Integer sensorPM10 optional,
+	XSD.Integer sensorOdor optional,
+	XSD.Integer sensorHumidity optional,
+	XSD.Boolean monitoringEnabled optional,
+	XSD.Integer co2 optional,
+	XSD.Integer co optional,
+	XSD.Integer ch2o optional,
+	XSD.Integer voc 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 'airQualitySensor'";
+  variant (resourceName) "attribute";
+  //variant (monitoringEnabled) "text 'true' as '1'";
+  //variant (monitoringEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AirQualitySensorAnnc_1 AirQualitySensorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AirQualitySensorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer sensorPM1 optional,
+	XSD.Integer sensorPM2 optional,
+	XSD.Integer sensorPM10 optional,
+	XSD.Integer sensorOdor optional,
+	XSD.Integer sensorHumidity optional,
+	XSD.Boolean monitoringEnabled optional,
+	XSD.Integer co2 optional,
+	XSD.Integer co optional,
+	XSD.Integer ch2o optional,
+	XSD.Integer voc 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 'airQualitySensorAnnc'";
+  variant (resourceName) "attribute";
+  //variant (monitoringEnabled) "text 'true' as '1'";
+  //variant (monitoringEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AlarmSpeaker_1 AlarmSpeaker
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AlarmSpeaker_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumTone tone optional,
+	EnumAlertColourCode light optional,
+	XSD.Boolean alarmStatus,
+	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 'alarmSpeaker'";
+  variant (resourceName) "attribute";
+  //variant (alarmStatus) "text 'true' as '1'";
+  //variant (alarmStatus) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AlarmSpeakerAnnc_1 AlarmSpeakerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AlarmSpeakerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumTone tone optional,
+	EnumAlertColourCode light optional,
+	XSD.Boolean alarmStatus 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 'alarmSpeakerAnnc'";
+  variant (resourceName) "attribute";
+  //variant (alarmStatus) "text 'true' as '1'";
+  //variant (alarmStatus) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AudioVolume_1 AudioVolume
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AudioVolume_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer volumePercentage,
+	XSD.Integer stepValue optional,
+	XSD.Integer maxValue optional,
+	XSD.Boolean muteEnabled,
+	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 'audioVolume'";
+  variant (resourceName) "attribute";
+  //variant (muteEnabled) "text 'true' as '1'";
+  //variant (muteEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AudioVolumeAnnc_1 AudioVolumeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AudioVolumeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'audioVolumeAnnc'";
+  variant (resourceName) "attribute";
+  //variant (muteEnabled) "text 'true' as '1'";
+  //variant (muteEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AutoDocumentFeeder_1 AutoDocumentFeeder
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AutoDocumentFeeder_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumAdfState currentAdfState,
+	record of EnumAdfState adfStates,
+	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 'autoDocumentFeeder'";
+  variant (resourceName) "attribute";
+  variant (adfStates) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type AutoDocumentFeederAnnc_1 AutoDocumentFeederAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record AutoDocumentFeederAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumAdfState currentAdfState optional,
+	record of EnumAdfState adfStates 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 'autoDocumentFeederAnnc'";
+  variant (resourceName) "attribute";
+  variant (adfStates) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Battery_1 Battery
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Battery_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer level,
+	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 'battery'";
+  variant (resourceName) "attribute";
+  //variant (charging) "text 'true' as '1'";
+  //variant (charging) "text 'false' as '0'";
+  //variant (discharging) "text 'true' as '1'";
+  //variant (discharging) "text 'false' as '0'";
+  //variant (lowBattery) "text 'true' as '1'";
+  //variant (lowBattery) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BatteryAnnc_1 BatteryAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BatteryAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'batteryAnnc'";
+  variant (resourceName) "attribute";
+  //variant (charging) "text 'true' as '1'";
+  //variant (charging) "text 'false' as '0'";
+  //variant (discharging) "text 'true' as '1'";
+  //variant (discharging) "text 'false' as '0'";
+  //variant (lowBattery) "text 'true' as '1'";
+  //variant (lowBattery) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BinaryObject_1 BinaryObject
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BinaryObject_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.String object,
+	XSD.String objectType,
+	XSD.Integer size optional,
+	XSD.String hash 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 'binaryObject'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BinaryObjectAnnc_1 BinaryObjectAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BinaryObjectAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.String object optional,
+	XSD.String objectType optional,
+	XSD.Integer size optional,
+	XSD.String hash 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 'binaryObjectAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BinarySwitch_1 BinarySwitch
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BinarySwitch_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean powerState,
+	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 'binarySwitch'";
+  variant (resourceName) "attribute";
+  //variant (powerState) "text 'true' as '1'";
+  //variant (powerState) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BinarySwitchAnnc_1 BinarySwitchAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BinarySwitchAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'binarySwitchAnnc'";
+  variant (resourceName) "attribute";
+  //variant (powerState) "text 'true' as '1'";
+  //variant (powerState) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BioElectricalImpedanceAnalysis_1 BioElectricalImpedanceAnalysis
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BioElectricalImpedanceAnalysis_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float water,
+	XSD.Float fat,
+	XSD.Float muscle,
+	XSD.Float bone,
+	XSD.Float visceraFat,
+	XSD.Float kcal,
+	XSD.Boolean resistance,
+	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 'bioElectricalImpedanceAnalysis'";
+  variant (resourceName) "attribute";
+  //variant (resistance) "text 'true' as '1'";
+  //variant (resistance) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BioElectricalImpedanceAnalysisAnnc_1 BioElectricalImpedanceAnalysisAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BioElectricalImpedanceAnalysisAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float water optional,
+	XSD.Float fat optional,
+	XSD.Float muscle optional,
+	XSD.Float bone optional,
+	XSD.Float visceraFat optional,
+	XSD.Float kcal optional,
+	XSD.Boolean resistance 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 'bioElectricalImpedanceAnalysisAnnc'";
+  variant (resourceName) "attribute";
+  //variant (resistance) "text 'true' as '1'";
+  //variant (resistance) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BodyCompositionAnalyser_1 BodyCompositionAnalyser
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BodyCompositionAnalyser_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float bodyLength optional,
+	XSD.Float bmi optional,
+	XSD.Float fatFreeMass optional,
+	XSD.Float softLeanMass optional,
+	XSD.Float muscleMass optional,
+	XSD.Float basalMetabolism optional,
+	XSD.Float impedance 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 'bodyCompositionAnalyser'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BodyCompositionAnalyserAnnc_1 BodyCompositionAnalyserAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BodyCompositionAnalyserAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float bodyLength optional,
+	XSD.Float bmi optional,
+	XSD.Float fatFreeMass optional,
+	XSD.Float softLeanMass optional,
+	XSD.Float muscleMass optional,
+	XSD.Float basalMetabolism optional,
+	XSD.Float impedance 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 'bodyCompositionAnalyserAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Boiler_1 Boiler
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Boiler_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean status,
+	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 'boiler'";
+  variant (resourceName) "attribute";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BoilerAnnc_1 BoilerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BoilerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'boilerAnnc'";
+  variant (resourceName) "attribute";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Brewing_1 Brewing
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Brewing_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer cupsNumber,
+	EnumTasteStrength strength 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 'brewing'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BrewingAnnc_1 BrewingAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BrewingAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer cupsNumber optional,
+	EnumTasteStrength strength 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 'brewingAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Brightness_1 Brightness
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Brightness_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer brightness,
+	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 'brightness'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type BrightnessAnnc_1 BrightnessAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record BrightnessAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'brightnessAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Clock_1 Clock
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Clock_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	Timestamp currentTime,
+	Timestamp currentDate,
+	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 'clock'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClockAnnc_1 ClockAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClockAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'clockAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClothesDryerJobMode_1 ClothesDryerJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClothesDryerJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumClothesDryerJobMode currentJobMode,
+	XSD.String currentJobModeName 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 'clothesDryerJobMode'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClothesDryerJobModeAnnc_1 ClothesDryerJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClothesDryerJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumClothesDryerJobMode currentJobMode optional,
+	XSD.String currentJobModeName 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 'clothesDryerJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClothesWasherDryerJobMode_1 ClothesWasherDryerJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClothesWasherDryerJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumClothesWasherDryerJobMode currentJobMode,
+	XSD.String currentJobModeName optional,
+	record of EnumClothesWasherDryerJobMode jobModes,
+	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 'clothesWasherDryerJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClothesWasherDryerJobModeAnnc_1 ClothesWasherDryerJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClothesWasherDryerJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumClothesWasherDryerJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumClothesWasherDryerJobMode jobModes 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 'clothesWasherDryerJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClothesWasherJobModeOption_1 ClothesWasherJobModeOption
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClothesWasherJobModeOption_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumGeneralTemperature washTemp optional,
+	EnumGeneralLevel soilLevel optional,
+	EnumGeneralSpeed spinSpeed optional,
+	XSD.Boolean preWash optional,
+	XSD.Boolean speedWash optional,
+	XSD.Boolean steamTreat optional,
+	XSD.Boolean coldWash optional,
+	XSD.Boolean extraRinse 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 'clothesWasherJobModeOption'";
+  variant (resourceName) "attribute";
+  //variant (preWash) "text 'true' as '1'";
+  //variant (preWash) "text 'false' as '0'";
+  //variant (speedWash) "text 'true' as '1'";
+  //variant (speedWash) "text 'false' as '0'";
+  //variant (steamTreat) "text 'true' as '1'";
+  //variant (steamTreat) "text 'false' as '0'";
+  //variant (coldWash) "text 'true' as '1'";
+  //variant (coldWash) "text 'false' as '0'";
+  //variant (extraRinse) "text 'true' as '1'";
+  //variant (extraRinse) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClothesWasherJobModeOptionAnnc_1 ClothesWasherJobModeOptionAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClothesWasherJobModeOptionAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumGeneralTemperature washTemp optional,
+	EnumGeneralLevel soilLevel optional,
+	EnumGeneralSpeed spinSpeed optional,
+	XSD.Boolean preWash optional,
+	XSD.Boolean speedWash optional,
+	XSD.Boolean steamTreat optional,
+	XSD.Boolean coldWash optional,
+	XSD.Boolean extraRinse 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 'clothesWasherJobModeOptionAnnc'";
+  variant (resourceName) "attribute";
+  //variant (preWash) "text 'true' as '1'";
+  //variant (preWash) "text 'false' as '0'";
+  //variant (speedWash) "text 'true' as '1'";
+  //variant (speedWash) "text 'false' as '0'";
+  //variant (steamTreat) "text 'true' as '1'";
+  //variant (steamTreat) "text 'false' as '0'";
+  //variant (coldWash) "text 'true' as '1'";
+  //variant (coldWash) "text 'false' as '0'";
+  //variant (extraRinse) "text 'true' as '1'";
+  //variant (extraRinse) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClothesWasherJobMode_1 ClothesWasherJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClothesWasherJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumClothesWasherJobMode currentJobMode,
+	XSD.String currentJobModeName optional,
+	record of EnumClothesWasherJobMode jobModes,
+	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 'clothesWasherJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ClothesWasherJobModeAnnc_1 ClothesWasherJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ClothesWasherJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumClothesWasherJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumClothesWasherJobMode jobModes 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 'clothesWasherJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ColourSaturation_1 ColourSaturation
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ColourSaturation_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer colourSaturation,
+	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 'colourSaturation'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ColourSaturationAnnc_1 ColourSaturationAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ColourSaturationAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'colourSaturationAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Colour_1 Colour
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Colour_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer red,
+	XSD.Integer green,
+	XSD.Integer blue,
+	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 'colour'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ColourAnnc_1 ColourAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ColourAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'colourAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type CookerHoodJobMode_1 CookerHoodJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record CookerHoodJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumCookerHoodJobMode currentJobMode,
+	XSD.String currentJobModeName optional,
+	record of EnumCookerHoodJobMode jobModes,
+	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 'cookerHoodJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type CookerHoodJobModeAnnc_1 CookerHoodJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record CookerHoodJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumCookerHoodJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumCookerHoodJobMode jobModes 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 'cookerHoodJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Credentials_1 Credentials
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Credentials_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.String loginName optional,
+	XSD.String password optional,
+	XSD.String token 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 'credentials'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type CredentialsAnnc_1 CredentialsAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record CredentialsAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.String loginName optional,
+	XSD.String password optional,
+	XSD.String token 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 'credentialsAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DehumidifierJobMode_1 DehumidifierJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DehumidifierJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumDehumidifierJobMode currentJobMode,
+	XSD.String currentJobModeName optional,
+	record of EnumDehumidifierJobMode jobModes,
+	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 'dehumidifierJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DehumidifierJobModeAnnc_1 DehumidifierJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DehumidifierJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumDehumidifierJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumDehumidifierJobMode jobModes 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 'dehumidifierJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DishWasherJobMode_1 DishWasherJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DishWasherJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumDishWasherJobMode currentJobMode,
+	XSD.String currentJobModeName optional,
+	record of EnumDishWasherJobMode jobModes,
+	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 'dishWasherJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DishWasherJobModeAnnc_1 DishWasherJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DishWasherJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumDishWasherJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumDishWasherJobMode jobModes 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 'dishWasherJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DoorStatus_1 DoorStatus
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DoorStatus_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumDoorState doorState,
+	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 'doorStatus'";
+  variant (resourceName) "attribute";
+  //variant (openAlarm) "text 'true' as '1'";
+  //variant (openAlarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type DoorStatusAnnc_1 DoorStatusAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record DoorStatusAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'doorStatusAnnc'";
+  variant (resourceName) "attribute";
+  //variant (openAlarm) "text 'true' as '1'";
+  //variant (openAlarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ElectricVehicleConnector_1 ElectricVehicleConnector
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ElectricVehicleConnector_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean status,
+	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 'electricVehicleConnector'";
+  variant (resourceName) "attribute";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ElectricVehicleConnectorAnnc_1 ElectricVehicleConnectorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ElectricVehicleConnectorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'electricVehicleConnectorAnnc'";
+  variant (resourceName) "attribute";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type EnergyConsumption_1 EnergyConsumption
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record EnergyConsumption_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float power,
+	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 'energyConsumption'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type EnergyConsumptionAnnc_1 EnergyConsumptionAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record EnergyConsumptionAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'energyConsumptionAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type EnergyGeneration_1 EnergyGeneration
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record EnergyGeneration_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'energyGeneration'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type EnergyGenerationAnnc_1 EnergyGenerationAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record EnergyGenerationAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'energyGenerationAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type FaultDetection_1 FaultDetection
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record FaultDetection_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean status,
+	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 'faultDetection'";
+  variant (resourceName) "attribute";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type FaultDetectionAnnc_1 FaultDetectionAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record FaultDetectionAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'faultDetectionAnnc'";
+  variant (resourceName) "attribute";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type FilterInfo_1 FilterInfo
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record FilterInfo_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean status,
+	XSD.Integer code optional,
+	XSD.Integer filterLifetime 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 'filterInfo'";
+  variant (resourceName) "attribute";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type FilterInfoAnnc_1 FilterInfoAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record FilterInfoAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean status optional,
+	XSD.Integer code optional,
+	XSD.Integer filterLifetime 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 'filterInfoAnnc'";
+  variant (resourceName) "attribute";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Foaming_1 Foaming
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Foaming_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumFoamStrength foamingStrength,
+	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 'foaming'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type FoamingAnnc_1 FoamingAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record FoamingAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumFoamStrength foamingStrength 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 'foamingAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type GeoLocation_1 GeoLocation
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record GeoLocation_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float latitude,
+	XSD.Float longitude,
+	XSD.Float altitude optional,
+	XSD.Float heading optional,
+	XSD.Float horizontalAccuracy optional,
+	XSD.Float verticalAccuracy optional,
+	XSD.Float headingAccuracy optional,
+	XSD.Float targetLatitude optional,
+	XSD.Float targetLongitude optional,
+	XSD.Float targetAltitude 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 'geoLocation'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type GeoLocationAnnc_1 GeoLocationAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record GeoLocationAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float latitude optional,
+	XSD.Float longitude optional,
+	XSD.Float altitude optional,
+	XSD.Float heading optional,
+	XSD.Float horizontalAccuracy optional,
+	XSD.Float verticalAccuracy optional,
+	XSD.Float headingAccuracy optional,
+	XSD.Float targetLatitude optional,
+	XSD.Float targetLongitude optional,
+	XSD.Float targetAltitude 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 'geoLocationAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Glucometer_1 Glucometer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Glucometer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float concentration,
+	XSD.Float hba1c optional,
+	XSD.Float contextExercise optional,
+	XSD.Float contextMedication optional,
+	XSD.Float contextCarbohydratesAmount optional,
+	XSD.String contextCarbohydratesSource optional,
+	XSD.String contextMeal optional,
+	XSD.String contextLocation optional,
+	XSD.String contextTester optional,
+	XSD.String contextHealth 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 'glucometer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type GlucometerAnnc_1 GlucometerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record GlucometerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float concentration optional,
+	XSD.Float hba1c optional,
+	XSD.Float contextExercise optional,
+	XSD.Float contextMedication optional,
+	XSD.Float contextCarbohydratesAmount optional,
+	XSD.String contextCarbohydratesSource optional,
+	XSD.String contextMeal optional,
+	XSD.String contextLocation optional,
+	XSD.String contextTester optional,
+	XSD.String contextHealth 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 'glucometerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Grinder_1 Grinder
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Grinder_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean useGrinder,
+	EnumGrindCoarseness coarseness optional,
+	EnumGrainsLevel grainsRemaining 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 'grinder'";
+  variant (resourceName) "attribute";
+  //variant (useGrinder) "text 'true' as '1'";
+  //variant (useGrinder) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type GrinderAnnc_1 GrinderAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record GrinderAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean useGrinder optional,
+	EnumGrindCoarseness coarseness optional,
+	EnumGrainsLevel grainsRemaining 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 'grinderAnnc'";
+  variant (resourceName) "attribute";
+  //variant (useGrinder) "text 'true' as '1'";
+  //variant (useGrinder) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type HeatingZone_1 HeatingZone
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record HeatingZone_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer heatingLevel,
+	XSD.Integer maxHeatingLevel,
+	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 'heatingZone'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type HeatingZoneAnnc_1 HeatingZoneAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record HeatingZoneAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer heatingLevel optional,
+	XSD.Integer maxHeatingLevel 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 'heatingZoneAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Height_1 Height
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Height_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float height,
+	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 'height'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type HeightAnnc_1 HeightAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record HeightAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float height 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 'heightAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type HotWaterSupply_1 HotWaterSupply
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record HotWaterSupply_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI 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 'hotWaterSupply'";
+  variant (resourceName) "attribute";
+  //variant (bath) "text 'true' as '1'";
+  //variant (bath) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type HotWaterSupplyAnnc_1 HotWaterSupplyAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record HotWaterSupplyAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'hotWaterSupplyAnnc'";
+  variant (resourceName) "attribute";
+  //variant (bath) "text 'true' as '1'";
+  //variant (bath) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ImpactSensor_1 ImpactSensor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ImpactSensor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean impactStatus,
+	XSD.Float impactLevel,
+	XSD.Float impactDirectionHorizontal optional,
+	XSD.Float impactDirectionVertical 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 'impactSensor'";
+  variant (resourceName) "attribute";
+  //variant (impactStatus) "text 'true' as '1'";
+  //variant (impactStatus) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ImpactSensorAnnc_1 ImpactSensorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ImpactSensorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean impactStatus optional,
+	XSD.Float impactLevel optional,
+	XSD.Float impactDirectionHorizontal optional,
+	XSD.Float impactDirectionVertical 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 'impactSensorAnnc'";
+  variant (resourceName) "attribute";
+  //variant (impactStatus) "text 'true' as '1'";
+  //variant (impactStatus) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type KeepWarm_1 KeepWarm
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record KeepWarm_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer time 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 'keepWarm'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type KeepWarmAnnc_1 KeepWarmAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record KeepWarmAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer time 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 'keepWarmAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Keypad_1 Keypad
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Keypad_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer keyNumber,
+	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 'keypad'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type KeypadAnnc_1 KeypadAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record KeypadAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer keyNumber 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 'keypadAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type LiquidLevel_1 LiquidLevel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record LiquidLevel_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumLiquidLevel liquidLevel,
+	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 'liquidLevel'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type LiquidLevelAnnc_1 LiquidLevelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record LiquidLevelAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumLiquidLevel liquidLevel 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 'liquidLevelAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type LiquidRemaining_1 LiquidRemaining
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record LiquidRemaining_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumLiquidLevel liquidRemaining,
+	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 'liquidRemaining'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type LiquidRemainingAnnc_1 LiquidRemainingAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record LiquidRemainingAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumLiquidLevel liquidRemaining 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 'liquidRemainingAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Lock_1 Lock
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Lock_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean lock,
+	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 'lock'";
+  variant (resourceName) "attribute";
+  //variant (lock) "text 'true' as '1'";
+  //variant (lock) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type LockAnnc_1 LockAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record LockAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean lock 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 'lockAnnc'";
+  variant (resourceName) "attribute";
+  //variant (lock) "text 'true' as '1'";
+  //variant (lock) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type MediaSelect_1 MediaSelect
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record MediaSelect_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer mediaID,
+	record of EnumSupportedMediaSource supportedMediaSources,
+	XSD.String mediaName optional,
+	XSD.Boolean status optional,
+	EnumSupportedMediaSource mediaType,
+	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 'mediaSelect'";
+  variant (resourceName) "attribute";
+  variant (supportedMediaSources) "list";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type MediaSelectAnnc_1 MediaSelectAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record MediaSelectAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'mediaSelectAnnc'";
+  variant (resourceName) "attribute";
+  variant (supportedMediaSources) "list";
+  //variant (status) "text 'true' as '1'";
+  //variant (status) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type MotionSensor_1 MotionSensor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record MotionSensor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean alarm,
+	XSD.Integer silentTime optional,
+	XSD.Integer sensitivity 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 'motionSensor'";
+  variant (resourceName) "attribute";
+  //variant (alarm) "text 'true' as '1'";
+  //variant (alarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type MotionSensorAnnc_1 MotionSensorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record MotionSensorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean alarm optional,
+	XSD.Integer silentTime optional,
+	XSD.Integer sensitivity 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 'motionSensorAnnc'";
+  variant (resourceName) "attribute";
+  //variant (alarm) "text 'true' as '1'";
+  //variant (alarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type NumberValue_1 NumberValue
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record NumberValue_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float numberValue,
+	XSD.Float minValue optional,
+	XSD.Float maxValue optional,
+	XSD.Float defaultValue optional,
+	XSD.Float step optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			DecrementNumberValue decrementNumberValue,
+			IncrementNumberValue incrementNumberValue,
+			ResetNumberValue resetNumberValue,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'numberValue'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type NumberValueAnnc_1 NumberValueAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record NumberValueAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float numberValue optional,
+	XSD.Float minValue optional,
+	XSD.Float maxValue optional,
+	XSD.Float defaultValue optional,
+	XSD.Float step optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			DecrementNumberValue decrementNumberValue,
+			IncrementNumberValue incrementNumberValue,
+			ResetNumberValue resetNumberValue,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'numberValueAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OpenLevel_1 OpenLevel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OpenLevel_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer openLevel,
+	XSD.Integer stepValue optional,
+	XSD.Integer minLevel optional,
+	XSD.Integer maxLevel optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Open open,
+			Close close,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'openLevel'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OpenLevelAnnc_1 OpenLevelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OpenLevelAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer openLevel optional,
+	XSD.Integer stepValue optional,
+	XSD.Integer minLevel optional,
+	XSD.Integer maxLevel optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Open open,
+			Close close,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'openLevelAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OperationMode_1 OperationMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OperationMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean startPause,
+	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 'operationMode'";
+  variant (resourceName) "attribute";
+  //variant (startPause) "text 'true' as '1'";
+  //variant (startPause) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OperationModeAnnc_1 OperationModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OperationModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean startPause 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 'operationModeAnnc'";
+  variant (resourceName) "attribute";
+  //variant (startPause) "text 'true' as '1'";
+  //variant (startPause) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OvercurrentSensor_1 OvercurrentSensor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OvercurrentSensor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean overcurrentStatus,
+	Timestamp detectedTime optional,
+	XSD.Float duration 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 'overcurrentSensor'";
+  variant (resourceName) "attribute";
+  //variant (overcurrentStatus) "text 'true' as '1'";
+  //variant (overcurrentStatus) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OvercurrentSensorAnnc_1 OvercurrentSensorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OvercurrentSensorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean overcurrentStatus optional,
+	Timestamp detectedTime optional,
+	XSD.Float duration 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 'overcurrentSensorAnnc'";
+  variant (resourceName) "attribute";
+  //variant (overcurrentStatus) "text 'true' as '1'";
+  //variant (overcurrentStatus) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Oximeter_1 Oximeter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Oximeter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer oxygenSaturation,
+	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 'oximeter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OximeterAnnc_1 OximeterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OximeterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer oxygenSaturation 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 'oximeterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OzoneMeter_1 OzoneMeter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OzoneMeter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float ozoneValuePPM optional,
+	XSD.Float ozoneValueMG optional,
+	EnumOzoneStatus ozoneStatus optional,
+	XSD.Float maxValue 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 'ozoneMeter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type OzoneMeterAnnc_1 OzoneMeterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record OzoneMeterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float ozoneValuePPM optional,
+	XSD.Float ozoneValueMG optional,
+	EnumOzoneStatus ozoneStatus optional,
+	XSD.Float maxValue 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 'ozoneMeterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PhoneCall_1 PhoneCall
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PhoneCall_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.String callerID,
+	XSD.String recipientID,
+	EnumCallState callState optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Call call_,
+			Answer answer,
+			Hangup hangup,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'phoneCall'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].call_) "name as 'call'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PhoneCallAnnc_1 PhoneCallAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PhoneCallAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.String callerID optional,
+	XSD.String recipientID optional,
+	EnumCallState callState optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Call call_,
+			Answer answer,
+			Hangup hangup,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'phoneCallAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].call_) "name as 'call'";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PlayerControl_1 PlayerControl
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PlayerControl_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumPlayerMode currentPlayerMode,
+	XSD.String currentPlayerModeName optional,
+	record of EnumPlayerMode supportedPlayerModes,
+	XSD.Float speedFactor optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			NextTrack nextTrack,
+			PreviousTrack previousTrack,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'playerControl'";
+  variant (resourceName) "attribute";
+  variant (supportedPlayerModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PlayerControlAnnc_1 PlayerControlAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PlayerControlAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumPlayerMode currentPlayerMode optional,
+	XSD.String currentPlayerModeName optional,
+	record of EnumPlayerMode supportedPlayerModes optional,
+	XSD.Float speedFactor optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			NextTrack nextTrack,
+			PreviousTrack previousTrack,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'playerControlAnnc'";
+  variant (resourceName) "attribute";
+  variant (supportedPlayerModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PowerSave_1 PowerSave
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PowerSave_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean powerSaveEnabled,
+	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 'powerSave'";
+  variant (resourceName) "attribute";
+  //variant (powerSaveEnabled) "text 'true' as '1'";
+  //variant (powerSaveEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PowerSaveAnnc_1 PowerSaveAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PowerSaveAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'powerSaveAnnc'";
+  variant (resourceName) "attribute";
+  //variant (powerSaveEnabled) "text 'true' as '1'";
+  //variant (powerSaveEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PrintQueue_1 PrintQueue
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PrintQueue_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	record of XSD.AnyURI uri,
+	record of EnumJobState printingState,
+	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 'printQueue'";
+  variant (resourceName) "attribute";
+  variant (uri) "list";
+  variant (printingState) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PrintQueueAnnc_1 PrintQueueAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PrintQueueAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	record of XSD.AnyURI uri optional,
+	record of EnumJobState printingState 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 'printQueueAnnc'";
+  variant (resourceName) "attribute";
+  variant (uri) "list";
+  variant (printingState) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Pulsemeter_1 Pulsemeter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Pulsemeter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float pulseRate,
+	XSD.Float rr,
+	XSD.Float energy optional,
+	XSD.String modality 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 'pulsemeter'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PulsemeterAnnc_1 PulsemeterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PulsemeterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float pulseRate optional,
+	XSD.Float rr optional,
+	XSD.Float energy optional,
+	XSD.String modality 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 'pulsemeterAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PushButton_1 PushButton
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PushButton_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean pushed,
+	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 'pushButton'";
+  variant (resourceName) "attribute";
+  //variant (pushed) "text 'true' as '1'";
+  //variant (pushed) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type PushButtonAnnc_1 PushButtonAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record PushButtonAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean pushed 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 'pushButtonAnnc'";
+  variant (resourceName) "attribute";
+  //variant (pushed) "text 'true' as '1'";
+  //variant (pushed) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Recorder_1 Recorder
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Recorder_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer duration,
+	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 'recorder'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RecorderAnnc_1 RecorderAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RecorderAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer duration 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 'recorderAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Refrigeration_1 Refrigeration
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Refrigeration_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean rapidFreeze optional,
+	XSD.Boolean rapidCool optional,
+	XSD.Boolean defrost 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 'refrigeration'";
+  variant (resourceName) "attribute";
+  //variant (rapidFreeze) "text 'true' as '1'";
+  //variant (rapidFreeze) "text 'false' as '0'";
+  //variant (rapidCool) "text 'true' as '1'";
+  //variant (rapidCool) "text 'false' as '0'";
+  //variant (defrost) "text 'true' as '1'";
+  //variant (defrost) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RefrigerationAnnc_1 RefrigerationAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RefrigerationAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean rapidFreeze optional,
+	XSD.Boolean rapidCool optional,
+	XSD.Boolean defrost 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 'refrigerationAnnc'";
+  variant (resourceName) "attribute";
+  //variant (rapidFreeze) "text 'true' as '1'";
+  //variant (rapidFreeze) "text 'false' as '0'";
+  //variant (rapidCool) "text 'true' as '1'";
+  //variant (rapidCool) "text 'false' as '0'";
+  //variant (defrost) "text 'true' as '1'";
+  //variant (defrost) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RelativeHumidity_1 RelativeHumidity
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RelativeHumidity_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float relativeHumidity,
+	XSD.Float desiredHumidity 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 'relativeHumidity'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RelativeHumidityAnnc_1 RelativeHumidityAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RelativeHumidityAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float relativeHumidity optional,
+	XSD.Float desiredHumidity 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 'relativeHumidityAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RemoteControlEnable_1 RemoteControlEnable
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RemoteControlEnable_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean remoteControlEnabled,
+	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 'remoteControlEnable'";
+  variant (resourceName) "attribute";
+  //variant (remoteControlEnabled) "text 'true' as '1'";
+  //variant (remoteControlEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RemoteControlEnableAnnc_1 RemoteControlEnableAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RemoteControlEnableAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean remoteControlEnabled 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 'remoteControlEnableAnnc'";
+  variant (resourceName) "attribute";
+  //variant (remoteControlEnabled) "text 'true' as '1'";
+  //variant (remoteControlEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RobotCleanerJobMode_1 RobotCleanerJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RobotCleanerJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumRobotCleanerJobMode currentJobMode,
+	XSD.String currentJobModeName optional,
+	record of EnumRobotCleanerJobMode jobModes,
+	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 'robotCleanerJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RobotCleanerJobModeAnnc_1 RobotCleanerJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RobotCleanerJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumRobotCleanerJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumRobotCleanerJobMode jobModes 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 'robotCleanerJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RunState_1 RunState
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RunState_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumMachineState currentMachineState,
+	record of EnumMachineState machineStates,
+	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 'runState'";
+  variant (resourceName) "attribute";
+  variant (machineStates) "list";
+  variant (jobStates) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type RunStateAnnc_1 RunStateAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record RunStateAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'runStateAnnc'";
+  variant (resourceName) "attribute";
+  variant (machineStates) "list";
+  variant (jobStates) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SecurityMode_1 SecurityMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SecurityMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumSecurityMode currentSecurityMode,
+	record of EnumSecurityMode securityModes,
+	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 'securityMode'";
+  variant (resourceName) "attribute";
+  variant (securityModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SecurityModeAnnc_1 SecurityModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SecurityModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumSecurityMode currentSecurityMode optional,
+	record of EnumSecurityMode securityModes 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 'securityModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (securityModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SessionDescription_1 SessionDescription
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SessionDescription_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.AnyURI url optional,
+	XSD.String sdp 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 'sessionDescription'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SessionDescriptionAnnc_1 SessionDescriptionAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SessionDescriptionAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.AnyURI url optional,
+	XSD.String sdp 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 'sessionDescriptionAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SignalStrength_1 SignalStrength
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SignalStrength_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer lqi,
+	XSD.Float rssi 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 'signalStrength'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SignalStrengthAnnc_1 SignalStrengthAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SignalStrengthAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer lqi optional,
+	XSD.Float rssi 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 'signalStrengthAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SmokeSensor_1 SmokeSensor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SmokeSensor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean alarm,
+	Timestamp detectedTime optional,
+	XSD.Integer smokeThreshold optional,
+	XSD.Integer currentValue 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 'smokeSensor'";
+  variant (resourceName) "attribute";
+  //variant (alarm) "text 'true' as '1'";
+  //variant (alarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SmokeSensorAnnc_1 SmokeSensorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SmokeSensorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean alarm optional,
+	Timestamp detectedTime optional,
+	XSD.Integer smokeThreshold optional,
+	XSD.Integer currentValue 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 'smokeSensorAnnc'";
+  variant (resourceName) "attribute";
+  //variant (alarm) "text 'true' as '1'";
+  //variant (alarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Sphygmomanometer_1 Sphygmomanometer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Sphygmomanometer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float diastolicPressure,
+	XSD.Float systolicPressure,
+	XSD.Float meanPressure,
+	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 'sphygmomanometer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SphygmomanometerAnnc_1 SphygmomanometerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SphygmomanometerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float diastolicPressure optional,
+	XSD.Float systolicPressure optional,
+	XSD.Float meanPressure 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 'sphygmomanometerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SpinLevel_1 SpinLevel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SpinLevel_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumSpinLevelStrength spinLevelStrength,
+	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 'spinLevel'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SpinLevelAnnc_1 SpinLevelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SpinLevelAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'spinLevelAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SteamClosetJobMode_1 SteamClosetJobMode
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SteamClosetJobMode_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumSteamClosetJobMode currentJobMode,
+	XSD.String currentJobModeName,
+	record of EnumSteamClosetJobMode jobModes,
+	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 'steamClosetJobMode'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SteamClosetJobModeAnnc_1 SteamClosetJobModeAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SteamClosetJobModeAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	EnumSteamClosetJobMode currentJobMode optional,
+	XSD.String currentJobModeName optional,
+	record of EnumSteamClosetJobMode jobModes 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 'steamClosetJobModeAnnc'";
+  variant (resourceName) "attribute";
+  variant (jobModes) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TelevisionChannel_1 TelevisionChannel
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TelevisionChannel_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer channelId,
+	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 'televisionChannel'";
+  variant (resourceName) "attribute";
+  variant (availableChannels) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TelevisionChannelAnnc_1 TelevisionChannelAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TelevisionChannelAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'televisionChannelAnnc'";
+  variant (resourceName) "attribute";
+  variant (availableChannels) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TemperatureAlarm_1 TemperatureAlarm
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TemperatureAlarm_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean alarm,
+	XSD.Float temperature optional,
+	XSD.Integer temperatureThreshold 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 'temperatureAlarm'";
+  variant (resourceName) "attribute";
+  //variant (alarm) "text 'true' as '1'";
+  //variant (alarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TemperatureAlarmAnnc_1 TemperatureAlarmAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TemperatureAlarmAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean alarm optional,
+	XSD.Float temperature optional,
+	XSD.Integer temperatureThreshold 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 'temperatureAlarmAnnc'";
+  variant (resourceName) "attribute";
+  //variant (alarm) "text 'true' as '1'";
+  //variant (alarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Temperature_1 Temperature
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Temperature_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float currentTemperature,
+	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 'temperature'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TemperatureAnnc_1 TemperatureAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TemperatureAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'temperatureAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TextMessage_1 TextMessage
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TextMessage_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.String textMessage,
+	record of XSD.String supportedMessageValues optional,
+	XSD.Integer minLength optional,
+	XSD.Integer maxLength optional,
+	XSD.String messageEncoding optional,
+	XSD.String defaultValue optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			ResetTextMessage resetTextMessage,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'textMessage'";
+  variant (resourceName) "attribute";
+  variant (supportedMessageValues) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TextMessageAnnc_1 TextMessageAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TextMessageAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.String textMessage optional,
+	record of XSD.String supportedMessageValues optional,
+	XSD.Integer minLength optional,
+	XSD.Integer maxLength optional,
+	XSD.String messageEncoding optional,
+	XSD.String defaultValue optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			ResetTextMessage resetTextMessage,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'textMessageAnnc'";
+  variant (resourceName) "attribute";
+  variant (supportedMessageValues) "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[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ThreeDPrinter_1 ThreeDPrinter
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ThreeDPrinter_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	Enum3DPrinterTechnology printType,
+	XSD.Float printSizeX,
+	XSD.Float printSizeY,
+	XSD.Float printSizeZ,
+	XSD.Boolean network,
+	XSD.Float memorySize,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Start3Dprint start3Dprint,
+			Stop3Dprint stop3Dprint,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'threeDPrinter'";
+  variant (resourceName) "attribute";
+  //variant (network) "text 'true' as '1'";
+  //variant (network) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type ThreeDPrinterAnnc_1 ThreeDPrinterAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record ThreeDPrinterAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	Enum3DPrinterTechnology printType optional,
+	XSD.Float printSizeX optional,
+	XSD.Float printSizeY optional,
+	XSD.Float printSizeZ optional,
+	XSD.Boolean network optional,
+	XSD.Float memorySize optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			Start3Dprint start3Dprint,
+			Stop3Dprint stop3Dprint,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'threeDPrinterAnnc'";
+  variant (resourceName) "attribute";
+  //variant (network) "text 'true' as '1'";
+  //variant (network) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Timer_1 Timer
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Timer_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer referenceTimer optional,
+	XSD.Integer targetTimeToStart optional,
+	XSD.Integer targetTimeToStop optional,
+	XSD.Integer estimatedTimeToEnd optional,
+	XSD.Integer runningTime optional,
+	XSD.Integer targetDuration optional,
+	Timestamp absoluteStartTime optional,
+	Timestamp absoluteStopTime optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			ActivateClockTimer activateClockTimer,
+			DeactivateClockTimer deactivateClockTimer,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'timer'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TimerAnnc_1 TimerAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TimerAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Integer referenceTimer optional,
+	XSD.Integer targetTimeToStart optional,
+	XSD.Integer targetTimeToStop optional,
+	XSD.Integer estimatedTimeToEnd optional,
+	XSD.Integer runningTime optional,
+	XSD.Integer targetDuration optional,
+	Timestamp absoluteStartTime optional,
+	Timestamp absoluteStopTime optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			ActivateClockTimer activateClockTimer,
+			DeactivateClockTimer deactivateClockTimer,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'timerAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Turbo_1 Turbo
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Turbo_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean turboEnabled,
+	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 'turbo'";
+  variant (resourceName) "attribute";
+  //variant (turboEnabled) "text 'true' as '1'";
+  //variant (turboEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type TurboAnnc_1 TurboAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record TurboAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'turboAnnc'";
+  variant (resourceName) "attribute";
+  //variant (turboEnabled) "text 'true' as '1'";
+  //variant (turboEnabled) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type UvSensor_1 UvSensor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record UvSensor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float uvValue,
+	EnumUvStatus uvStatus 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 'uvSensor'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type UvSensorAnnc_1 UvSensorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record UvSensorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float uvValue optional,
+	EnumUvStatus uvStatus 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 'uvSensorAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type WaterFlow_1 WaterFlow
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record WaterFlow_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	EnumWaterFlowStrength waterFlowStrength,
+	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 'waterFlow'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type WaterFlowAnnc_1 WaterFlowAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record WaterFlowAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize 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 'waterFlowAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type WaterSensor_1 WaterSensor
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record WaterSensor_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean alarm,
+	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 'waterSensor'";
+  variant (resourceName) "attribute";
+  //variant (alarm) "text 'true' as '1'";
+  //variant (alarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type WaterSensorAnnc_1 WaterSensorAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record WaterSensorAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Boolean alarm 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 'waterSensorAnnc'";
+  variant (resourceName) "attribute";
+  //variant (alarm) "text 'true' as '1'";
+  //variant (alarm) "text 'false' as '0'";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type Weight_1 Weight
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record Weight_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float weight,
+	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 'weight'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type WeightAnnc_1 WeightAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record WeightAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	XSD.Float weight 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 'weightAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SubDeviceCuff_1 SubDeviceCuff
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SubDeviceCuff_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			Sphygmomanometer sphygmomanometer,
+			Pulsemeter pulsemeter,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'subDeviceCuff'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SubDeviceCuffAnnc_1 SubDeviceCuffAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SubDeviceCuffAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			Sphygmomanometer sphygmomanometer,
+			SphygmomanometerAnnc sphygmomanometerAnnc,
+			Pulsemeter pulsemeter,
+			PulsemeterAnnc pulsemeterAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'subDeviceCuffAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SubDevicePowerOutlet_1 SubDevicePowerOutlet
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SubDevicePowerOutlet_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs optional,
+	Timestamp expirationTime optional,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	ListOfURIs announceTo optional,
+	ListOfNCNames announcedAttribute optional,
+	XSD.NonNegativeInteger stateTag,
+	XSD.ID creator optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			EnergyConsumption energyConsumption,
+			OvercurrentSensor overcurrentSensor,
+			DimmingLevel dimmingLevel,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'subDevicePowerOutlet'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+type SubDevicePowerOutletAnnc_1 SubDevicePowerOutletAnnc
+with {
+  variant "name as uncapitalized";
+  variant "element";
+};
+
+
+type record SubDevicePowerOutletAnnc_1
+{
+	ResourceName resourceName,
+	ResourceType resourceType,
+	XSD.ID resourceID,
+	NhURI parentID,
+	Timestamp creationTime optional,
+	Timestamp lastModifiedTime optional,
+	Labels labels optional,
+	AcpType accessControlPolicyIDs,
+	Timestamp expirationTime optional,
+	XSD.AnyURI link,
+	ListOfURIs dynamicAuthorizationConsultationIDs optional,
+	XSD.NonNegativeInteger stateTag optional,
+	XSD.AnyURI containerDefinition,
+	XSD.AnyURI ontologyRef optional,
+	XSD.NonNegativeInteger contentSize optional,
+	XSD.AnyURI nodeLink optional,
+	union {
+		record length(1 .. infinity) of ChildResourceRef childResource_list,
+		record length(1 .. infinity) of union {
+			BinarySwitch binarySwitch,
+			BinarySwitchAnnc binarySwitchAnnc,
+			EnergyConsumption energyConsumption,
+			EnergyConsumptionAnnc energyConsumptionAnnc,
+			OvercurrentSensor overcurrentSensor,
+			OvercurrentSensorAnnc overcurrentSensorAnnc,
+			DimmingLevel dimmingLevel,
+			DimmingLevelAnnc dimmingLevelAnnc,
+			Subscription subscription
+		} choice_list
+	} choice optional
+}
+with {
+  variant "name as 'subDevicePowerOutletAnnc'";
+  variant (resourceName) "attribute";
+  variant (choice) "untagged";
+  variant (choice.childResource_list) "untagged";
+  variant (choice.childResource_list[-]) "name as 'childResource'";
+  variant (choice.choice_list) "untagged";
+  variant (choice.choice_list[-]) "untagged";
+  variant (choice.choice_list[-].subscription) "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+};
+
+
+
+}
+with {
+  encode "XML";
+  //variant "namespace as 'http://www.onem2m.org/xml/protocols' prefix 'm2m'";
+  //variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
+	extension "anytype Resource, URI, Notification, AggregatedNotification, AggregatedResponse, ServiceSubscribedAppRule_optional, charstring, AnyURI, AttributeList, AE, AccessControlPolicy, AccessControlPolicy_optional, AccessControlPolicyAnnc_optional, ACP_update_invalid, AE_optional, AE_update_invalid,AEAnnc_optional, Container_optional, ContainerAnnc_optional, ContentInstanceAnnc_optional, CSEBase_optional, Container_update_invalid, ContentInstance_optional, Group_optional, Group_update_invalid,  GroupAnnc_optional, LocationPolicyAnnc_optional, MgmtResource_optional, AnnouncedMgmtResource_optional, Node_optional, NodeAnnc_optional, Schedule_optional, ScheduleAnnc_optional,  Schedule_update_invalid, Subscription_optional, Subscription_update_invalid, PollingChannel_optional, PollingChannel_update_invalid, LocationPolicy_optional, LocationPolicy_update_invalid, SemanticDescriptor_optional, FlexContainerResource_optional, GenericInterworkingOperationInstance_optional"
+}
+
diff --git a/OneM2M_Testcases_AE_Release_3.ttcn b/OneM2M_Testcases_AE_Release_3.ttcn
index 8c6750c9f39db868342c897d3cc873e5c6f0c2fa..c932ef693d8a8c278aa53d081594462daa305d0c 100644
--- a/OneM2M_Testcases_AE_Release_3.ttcn
+++ b/OneM2M_Testcases_AE_Release_3.ttcn
@@ -13,7 +13,8 @@ module OneM2M_Testcases_AE_Release_3 {
 
 	import from OneM2M_TestSystem all;
 	import from OneM2M_Templates all;
-	import from OneM2M_Types all;//{type XSD.ID};
+	import from OneM2M_Types all;
+	import from OneM2M_Types_homeDevice all;
 	import from OneM2M_TypesAndValues all;
 	import from OneM2M_Pixits all;
 	import from LibCommon_Time all;