From de435ebe883b707cf2db10768833454b26ce1027 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Wed, 4 Apr 2018 09:37:20 +0200
Subject: [PATCH] Moved to XSD v2_17_0

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 LibOneM2M/OneM2M_Templates.ttcn | 143 +++++++++++++++----
 LibOneM2M/OneM2M_Types.ttcn     | 240 +++++++++++++++++++-------------
 2 files changed, 263 insertions(+), 120 deletions(-)

diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 1865fb3..38a2868 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -124,7 +124,9 @@ module OneM2M_Templates {
 				tokens := omit,
 				tokenIDs := omit,
 				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				tokenRequestIndicator := omit,
+				releaseVersionIndicator := "2a",
+				vendorInformation := omit
 			};
         	
 			/**
@@ -154,7 +156,9 @@ module OneM2M_Templates {
 				tokens := *,
 				tokenIDs := *,
 				localTokenIDs := *,
-				tokenRequestIndicator := *
+				tokenRequestIndicator := *,
+				releaseVersionIndicator := ?,
+				vendorInformation := *
 			};
         	
 			/**
@@ -185,7 +189,9 @@ module OneM2M_Templates {
 				tokens := omit,
 				tokenIDs := omit,
 				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				tokenRequestIndicator := omit,
+				releaseVersionIndicator := "2a",
+				vendorInformation := omit
         	};
         	
 			/**
@@ -217,7 +223,9 @@ module OneM2M_Templates {
 				tokens := omit,
 				tokenIDs := omit,
 				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				tokenRequestIndicator := omit,
+				releaseVersionIndicator := "2a",
+				vendorInformation := omit
 			};
 			
 			/**
@@ -426,7 +434,9 @@ module OneM2M_Templates {
 				tokens := omit,
 				tokenIDs := omit,
 				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				tokenRequestIndicator := omit,
+				releaseVersionIndicator := "2a",
+				vendorInformation := omit
 			};
         	
 						
@@ -453,7 +463,9 @@ module OneM2M_Templates {
 				tokens := *,
 				tokenIDs := *,
 				localTokenIDs := *,
-				tokenRequestIndicator := *
+				tokenRequestIndicator := *,
+				releaseVersionIndicator := ?,
+				vendorInformation := *
 			};
         	
 			/**
@@ -598,7 +610,9 @@ module OneM2M_Templates {
 				tokens := omit,
 				tokenIDs := omit,
 				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				tokenRequestIndicator := omit,
+				releaseVersionIndicator := "2a",
+				vendorInformation := omit
 
 			};
         	
@@ -628,7 +642,9 @@ module OneM2M_Templates {
 				tokens := *,
 				tokenIDs := *,
 				localTokenIDs := *,
-				tokenRequestIndicator := *
+				tokenRequestIndicator := *,
+				releaseVersionIndicator := ?,
+				vendorInformation := *
 			}
 			
 			
@@ -1176,7 +1192,9 @@ module OneM2M_Templates {
 				tokens := omit,
 				tokenIDs := omit,
 				localTokenIDs := omit, 
-				tokenRequestIndicator := omit
+				tokenRequestIndicator := omit,
+				releaseVersionIndicator := "2a",
+				vendorInformation := omit
 			};
 
 			template RequestPrimitive mw_delete(template XSD.ID p_resourceAddress := ?, template XSD.ID p_from := *) := {
@@ -1202,7 +1220,9 @@ module OneM2M_Templates {
 				tokens := *,
 				tokenIDs := *,
 				localTokenIDs := *,
-				tokenRequestIndicator := *
+				tokenRequestIndicator := *,
+				releaseVersionIndicator := ?,
+				vendorInformation := *
         	};
         	
     	}//end group Delete
@@ -1235,7 +1255,9 @@ module OneM2M_Templates {
 				tokens := omit,
 				tokenIDs := omit,
 				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				tokenRequestIndicator := omit,
+				releaseVersionIndicator := "2a",
+				vendorInformation := omit
 			};
 			
 			/**
@@ -1264,7 +1286,9 @@ module OneM2M_Templates {
 				tokens := omit,
 				tokenIDs := omit,
 				localTokenIDs := omit,
-				tokenRequestIndicator := omit
+				tokenRequestIndicator := omit,
+				releaseVersionIndicator := "2a",
+				vendorInformation := omit
 			};
     		
     		/**
@@ -1293,7 +1317,9 @@ module OneM2M_Templates {
 				tokens := *,
 				tokenIDs := *,
 				localTokenIDs := *,
-				tokenRequestIndicator := *
+				tokenRequestIndicator := *,
+				releaseVersionIndicator := ?,
+				vendorInformation := *
 			};
 			
 			/**
@@ -1369,6 +1395,7 @@ module OneM2M_Templates {
 			requestReachability := true,//M
 			contentSerialization := omit,//O
 			e2eSecInfo := omit, //O TODO Check whether it is optional or mandatory for create operation
+			supportedReleaseVersions := {"2a"}, //M
 			choice := omit//NP
 		};	
 
@@ -1400,6 +1427,7 @@ module OneM2M_Templates {
 			requestReachability := omit,//OA
 			contentSerialization := omit,//OA
 			e2eSecInfo := ?, //MA
+			supportedReleaseVersions := ?, //MA
 			choice := omit//NA
 		};	
 		
@@ -1431,6 +1459,7 @@ module OneM2M_Templates {
     		requestReachability := true,//M
     		contentSerialization := omit,//O
 			e2eSecInfo := omit, //O
+			supportedReleaseVersions := {"2a"}, //M
     		choice := omit//NP
     	};	
     	
@@ -1529,6 +1558,7 @@ module OneM2M_Templates {
 			nodeLink := omit,
 			dynamicAuthorizationConsultationIDs := omit,
 			e2eSecInfo := omit, 
+			supportedReleaseVersions := {"2a"},
 			choice := omit
 		};
 		
@@ -2003,6 +2033,7 @@ module OneM2M_Templates {
 			nodeLink := omit,//O
 			triggerReferenceNumber := omit,//O
 			e2eSecInfo := omit,//O
+			supportedReleaseVersions := {"2a"}, //M
 			choice := omit//O
 		};
     	
@@ -2121,6 +2152,9 @@ module OneM2M_Templates {
     	  subscriptionReference := p_subReference,
     	  creator := omit,
     	  notificationForwardingURI := p_notifForwardingURI,
+		  notificationTarget := omit,
+		  targetRemovalRequest := omit,
+		  targetRemovalAllowance := omit,
     	  iPEDiscoveryRequest := omit
     	};
     			
@@ -2138,6 +2172,9 @@ module OneM2M_Templates {
 		  subscriptionReference := omit,
 		  creator := omit,
 		  notificationForwardingURI := omit, 
+		  notificationTarget := omit,
+		  targetRemovalRequest := omit,
+		  targetRemovalAllowance := omit,
 		  iPEDiscoveryRequest := omit
 		};
 		/**
@@ -2305,6 +2342,7 @@ module OneM2M_Templates {
 			requestReachability := omit,//O
 			contentSerialization := omit,//O
 			e2eSecInfo := omit, //O
+			supportedReleaseVersions := {"2a"},//M
 			choice := omit//NP
 		};	
     	
@@ -2381,6 +2419,7 @@ module OneM2M_Templates {
 			nodeLink := omit,
 			dynamicAuthorizationConsultationIDs := omit,
 			e2eSecInfo := omit, 
+			supportedReleaseVersions := {"2a"},//M
 			choice := omit
 
 		};
@@ -2567,6 +2606,7 @@ module OneM2M_Templates {
 			nodeLink := omit,
 			triggerReferenceNumber := omit,
 			e2eSecInfo := omit,
+			supportedReleaseVersions := omit,//M
 			choice := omit
     	}
     	
@@ -2591,6 +2631,7 @@ module OneM2M_Templates {
 			requestReachability := omit,
 			contentSerialization := omit,
 			e2eSecInfo := omit,
+			supportedReleaseVersions := omit,
 			choice := omit
     	}
  		
@@ -2652,6 +2693,7 @@ module OneM2M_Templates {
 			requestReachability := ?,//M
 			contentSerialization := *,//O
 			e2eSecInfo:= *, //O
+			supportedReleaseVersions := omit,//M
 			choice := *//O
 		};
     	
@@ -2677,6 +2719,7 @@ module OneM2M_Templates {
 			requestReachability := omit,//M
 			contentSerialization := omit,//O
 			e2eSecInfo:= omit, //O
+			supportedReleaseVersions := omit,//M
 			choice := omit//O
 		};
 		
@@ -2702,6 +2745,7 @@ module OneM2M_Templates {
 			requestReachability := *,//M
 			contentSerialization := *,//O
 			e2eSecInfo:= *, //O
+			supportedReleaseVersions := ?,//M
 			choice := *//O
 		};
     	
@@ -3057,6 +3101,7 @@ module OneM2M_Templates {
 			nodeLink := omit,//O
 			triggerReferenceNumber := omit,//O
 			e2eSecInfo := omit,//O
+			supportedReleaseVersions := omit,//M
 			choice := omit//O
 		};
 		
@@ -3093,6 +3138,7 @@ module OneM2M_Templates {
 			nodeLink := *,//O
 			triggerReferenceNumber := *,//O
 			e2eSecInfo := *,//O
+			supportedReleaseVersions := ?,//M
 			choice := *//O
 		};
 		
@@ -3574,6 +3620,9 @@ module OneM2M_Templates {
 			subscriptionReference := omit,
 			creator := omit,
 			notificationForwardingURI := omit,
+			notificationTarget := omit,
+			targetRemovalRequest := omit,
+			targetRemovalAllowance := omit,
 			iPEDiscoveryRequest := omit
 		};
 		
@@ -3584,6 +3633,9 @@ module OneM2M_Templates {
 			subscriptionReference := *,
 			creator := *,
 			notificationForwardingURI := *,
+			notificationTarget := *,
+			targetRemovalRequest := *,
+			targetRemovalAllowance := *,
 			iPEDiscoveryRequest := *
 		};
 		
@@ -3595,6 +3647,9 @@ module OneM2M_Templates {
 			subscriptionReference := *,//M //TODO Put it back to ? subscriptionReference is mandatory
 			creator := *,//O
 			notificationForwardingURI := *,//O
+			notificationTarget := *,
+			targetRemovalRequest := *,
+			targetRemovalAllowance := *,
 			iPEDiscoveryRequest := *//O
 		};
 		
@@ -3649,6 +3704,7 @@ module OneM2M_Templates {
 			nodeLink := *,//O
 			dynamicAuthorizationConsultationIDs := omit,
 			e2eSecInfo := *,//O			
+			supportedReleaseVersions := ?,//M
 			choice := *//O
 		};
 
@@ -3683,6 +3739,7 @@ module OneM2M_Templates {
 			requestReachability := omit,//M
 			contentSerialization := omit,//O
 			e2eSecInfo:= omit, //O
+			supportedReleaseVersions := {"2a"},//M
 			choice := omit//O
 		};	
         
@@ -3708,6 +3765,7 @@ module OneM2M_Templates {
 			requestReachability := omit,//M
 			contentSerialization := *,//O
 			e2eSecInfo:= *, //O
+			supportedReleaseVersions := {"2a"},//M
 			choice := *//O
 		};	
 
@@ -3887,7 +3945,9 @@ module OneM2M_Templates {
 			contentStatus := omit,
 			contentOffset := omit,
 			assignedTokenIdentifiers := omit,
-			tokenRequestInformation := omit
+			tokenRequestInformation := omit,
+			releaseVersionIndicator := "2a",
+			vendorInformation := omit
 		};
 		
 		/**
@@ -3915,7 +3975,10 @@ module OneM2M_Templates {
 			contentStatus := *,
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,
+			vendorInformation := *
+			
     	};
     	
 		template ResponsePrimitive mw_responsePrimitiveInverse(ResponseStatusCode p_statusCode) := {
@@ -3930,7 +3993,10 @@ module OneM2M_Templates {
 			contentStatus := *,
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,
+			vendorInformation := *
+			
 		};
     	
     	template ResponsePrimitive mw_responsePrimitiveOK(in template PrimitiveContent p_content := *) := {
@@ -3945,7 +4011,9 @@ module OneM2M_Templates {
 			contentStatus := *,
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,
+			vendorInformation := *
     	};
         		 
     	template ResponsePrimitive mw_responsePrimitiveKO := {
@@ -3960,7 +4028,9 @@ module OneM2M_Templates {
 			contentStatus := *,
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,
+			vendorInformation := *
     	};
     	
 		template ResponsePrimitive mw_responseDiscovery (template URIList p_uriList := ?) := {
@@ -3975,7 +4045,9 @@ module OneM2M_Templates {
 			contentStatus := *,
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,
+			vendorInformation := *
 		};
     	
 		template ResponsePrimitive m_responseNotification(ResponseStatusCode p_statusCode, in template(omit) PrimitiveContent p_notification := omit) := {
@@ -3990,7 +4062,9 @@ module OneM2M_Templates {
 			contentStatus := omit,
 			contentOffset := omit,
 			assignedTokenIdentifiers := omit,
-			tokenRequestInformation := omit
+			tokenRequestInformation := omit,
+			releaseVersionIndicator := "2a",
+			vendorInformation := omit
 		};
     	
 		group InfoPortTemplates {
@@ -4025,7 +4099,9 @@ module OneM2M_Templates {
 			tokens := omit,
 			tokenIDs := omit,
 			localTokenIDs := omit, 
-			tokenRequestIndicator := omit
+			tokenRequestIndicator := omit,
+			releaseVersionIndicator := "2a",//FIXME
+			vendorInformation := omit
 		};
 		
 		template (value) UtTriggerPrimitive m_utCreateContainer modifies m_utCreate := {
@@ -4075,7 +4151,9 @@ module OneM2M_Templates {
 			tokens := omit,
 			tokenIDs := omit,
 			localTokenIDs := omit, 
-			tokenRequestIndicator := omit
+			tokenRequestIndicator := omit,
+			releaseVersionIndicator := "2a",//FIXME
+			vendorInformation := omit
 		};
 		
 		template (value) UtTriggerPrimitive m_utUpdate := {
@@ -4101,7 +4179,9 @@ module OneM2M_Templates {
 			tokens := omit,
 			tokenIDs := omit,
 			localTokenIDs := omit, 
-			tokenRequestIndicator := omit
+			tokenRequestIndicator := omit,
+			releaseVersionIndicator := "2a",//FIXME
+			vendorInformation := omit
 		};
 		
 		template (value) UtTriggerPrimitive m_utUpdateContainer modifies m_utUpdate := {
@@ -4133,7 +4213,9 @@ module OneM2M_Templates {
 			tokens := omit,
 			tokenIDs := omit,
 			localTokenIDs := omit, 
-			tokenRequestIndicator := omit
+			tokenRequestIndicator := omit,
+			releaseVersionIndicator := "2a",//FIXME
+			vendorInformation := omit
 		};
 		
 		template (value) UtTriggerPrimitive m_utDeleteResource(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_utDeleteRequest := {
@@ -4155,7 +4237,10 @@ module OneM2M_Templates {
 			contentStatus := *,
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,//FIXME
+			vendorInformation := *
+
 		}
 		
 		template UtTriggerAckPrimitive mw_utResponseKO := {
@@ -4170,7 +4255,9 @@ module OneM2M_Templates {
 			contentStatus := *,
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,//FIXME
+			vendorInformation := *
 
 		}
 		
@@ -4186,7 +4273,9 @@ module OneM2M_Templates {
 			contentStatus := *,
 			contentOffset := *,
 			assignedTokenIdentifiers := *,
-			tokenRequestInformation := *
+			tokenRequestInformation := *,
+			releaseVersionIndicator := ?,//FIXME
+			vendorInformation := *
 
 		}
 	 }	
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 3e8e31e..ccf8705 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -28,7 +28,7 @@ type record AccessControlPolicy
 	Labels labels optional,
 	Timestamp expirationTime,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	SetOfAcrs privileges,
 	SetOfAcrs selfPrivileges,
 	union {
@@ -98,7 +98,7 @@ type record ActiveCmdhPolicy
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -126,7 +126,7 @@ type record AE
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	XSD.String appName optional,
 	XSD.String app_ID,
 	XSD.ID aE_ID,
@@ -136,6 +136,7 @@ type record AE
 	XSD.Boolean requestReachability,
 	Serializations contentSerialization optional,
 	E2eSecInfo e2eSecInfo optional,
+	SupportedReleaseVersions supportedReleaseVersions,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
 		record length(1 .. infinity) of union {
@@ -191,6 +192,7 @@ type record AEAnnc
 	XSD.Boolean requestReachability optional,
 	Serializations contentSerialization optional,
 	E2eSecInfo e2eSecInfo optional,
+	SupportedReleaseVersions supportedReleaseVersions,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
 		record length(1 .. infinity) of union {
@@ -725,7 +727,7 @@ type record AreaNwkDeviceInfo
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -809,7 +811,7 @@ type record AreaNwkInfo
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -883,7 +885,7 @@ type record Battery
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -957,7 +959,7 @@ type record CmdhBuffer
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -987,7 +989,7 @@ type record CmdhDefaults
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -1017,7 +1019,7 @@ type record CmdhDefEcValue
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -1052,7 +1054,7 @@ type record CmdhEcDefParamValues
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -1087,7 +1089,7 @@ type record CmdhLimits
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -1134,7 +1136,7 @@ type record CmdhNetworkAccessRules
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -1165,7 +1167,7 @@ type record CmdhNwAccessRule
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -1198,7 +1200,7 @@ type record CmdhPolicy
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -1345,7 +1347,13 @@ with {
 };
 
 
-type record length(1 .. infinity) of XSD.String PoaList
+type XSD.AnyURI PointOfAccess //TODO fixme (pattern "(http|HTTP|coap|COAP|mqtt|MQTT|ws|WS)(s|S)#(0,1)://[\w/!#$\^_.+\q{0, 0, 0, 38}&\-:;=]+")
+with {
+  variant "name as uncapitalized";
+};
+
+
+type record length(1 .. infinity) of PointOfAccess PoaList
 with {
   variant "name as uncapitalized";
   variant "list";
@@ -1489,7 +1497,7 @@ with {
 };
 
 
-type XSD.String ScheduleEntry //FIXME To be fixed (pattern "(([*]|[1-5]#(0,1)\d([,-/][1-5]#(0,1)\d)*)[\q{0,0,0,20}\q{0,0,0,10}\t\r]+)#(2)([*]|((1#(0,1)\d|2[0-3])([,-/](1#(0,1)\d|2[0-3]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1\d|2\d|3[01])([,-/]([1-9]|1\d|2\d|3[01]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|(([1-9]|1[0-2])([,-/]([1-9]|1[0-2]))*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|([0-6]([,-/][0-6])*))[\q{0,0,0,20}\q{0,0,0,10}\t\r]+([*]|([2-9]\d\d\d)(([,-]([2-9]\d\d\d)([/][\d]#(0,1)[\d]#(0,1)[\d]#(0,1)[\d])#(0,1))*))")
+type XSD.String ScheduleEntry //TODO To fix pattern (pattern "(([\*]|[1-5]#(0,1)\d([,\-\/][1-5]#(0,1)\d)#(0,))[\q{0,0,0,20}\q{0,0,0,10}\t\r]#(1,))#2([\*]|((1#(0,1)\d|2[0-3])([,\-\/](1#(0,1)\d|2[0-3]))#(0,)))[\q{0,0,0,20}\q{0,0,0,10}\t\r]#(1,)([\*]|(([1-9]|1\d|2\d|3[01])([,\-\/]([1-9]|1\d|2\d|3[01]))#(0,)))[\q{0,0,0,20}\q{0,0,0,10}\t\r]#(1,)([\*]|(([1-9]|1[0-2])([,\-\/]([1-9]|1[0-2]))#(0,)))[\q{0,0,0,20}\q{0,0,0,10}\t\r]#(1,)([\*]|([0-6]([,\-\/][0-6])#(0,)))[\q{0,0,0,20}\q{0,0,0,10}\t\r]#(1,)([\*]|([2-9]\d\d\d)(([,\-]([2-9]\d\d\d)([\/][\d]#(0,1)[\d]#(0,1)[\d]#(0,1)[\d])#(0,1))#(0,)))")
 with {
   variant "name as uncapitalized";
 };
@@ -1502,14 +1510,14 @@ with {
 };
 
 
-type record of XSD.Duration ListOfDuration
+type record length(1 .. infinity) of XSD.Duration ListOfDuration
 with {
   variant "name as uncapitalized";
   variant "list";
 };
 
 
-type record of XSD.NCName AttributeList_1
+type record length(1 .. infinity) of XSD.NCName AttributeList_1
 with {
   variant "name as 'attributeList'";
   variant "list";
@@ -1535,7 +1543,7 @@ with {
 };
 
 
-type XSD.String E2eCompactJWS (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]*).([A-Za-z0-9\-_=])+")
+type XSD.String E2eCompactJWS (pattern "([a-zA-Z0-9\-_=]+).([a-zA-Z0-9\-_=]#(0,)).([A-Za-z0-9\-_=])+")
 with {
   variant "name as uncapitalized";
 };
@@ -1581,10 +1589,23 @@ with {
 };
 
 
+type XSD.String ReleaseVersion (pattern "2a")
+with {
+  variant "name as uncapitalized";
+};
 
 
+type XSD.String ApplicableReleaseVersion (pattern "2a")
+with {
+  variant "name as uncapitalized";
+};
 
 
+type record length(1 .. infinity) of ApplicableReleaseVersion SupportedReleaseVersions
+with {
+  variant "name as uncapitalized";
+  variant "list";
+};
 
 
 type record DeliveryMetaData
@@ -1634,11 +1655,13 @@ type record MetaInformation
 	XSD.String groupRequestIdentifier optional,
 	FilterCriteria filterCriteria optional,
 	DiscResType discoveryResultType optional,
-	record length(1 .. infinity) of RoleID roleIDs,
+	record length(1 .. infinity) of RoleID roleIDs optional,
 	XSD.Boolean tokenRequestIndicator optional,
-	record length(1 .. infinity) of DynAuthJWT tokens,
-	record length(1 .. infinity) of TokenID tokenIDs,
-	record length(1 .. infinity) of XSD.NCName localTokenIDs
+	record length(1 .. infinity) of DynAuthJWT tokens optional,
+	record length(1 .. infinity) of TokenID tokenIDs optional,
+	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,
+	ReleaseVersion releaseVersionIndicator,
+	XSD.String vendorInformation optional
 }
 with {
   variant "name as uncapitalized";
@@ -1985,8 +2008,8 @@ type record AccessControlRule
 	record of record {
 		record of ScheduleEntry accessControlWindow_list,
 		record {
-			record length(1 .. infinity) of Ipv4 ipv4Addresses optional,//TODO It must be optional
-			record length(1 .. infinity) of Ipv6 ipv6Addresses optional //TODO It must be optional
+			record length(1 .. infinity) of Ipv4 ipv4Addresses optional,
+			record length(1 .. infinity) of Ipv6 ipv6Addresses optional
 		} accessControlIpAddresses optional,
 		LocationRegion accessControlLocationRegion optional
 	} accessControlContexts_list,
@@ -2033,7 +2056,7 @@ with {
 type record ResponseTypeInfo
 {
 	ResponseType responseTypeValue,
-	record of XSD.AnyURI notificationURI
+	record of XSD.AnyURI notificationURI optional
 }
 with {
   variant "name as uncapitalized";
@@ -2163,7 +2186,7 @@ with {
 type record E2eSecInfo
 {
 	record length(1 .. infinity) of Suid supportedE2ESecFeatures,
-	record length(1 .. infinity) of XSD.Base64Binary certificates,
+	record length(1 .. infinity) of XSD.Base64Binary certificates optional,
 	ReceiverESPrimRandObject sharedReceiverESPrimRandObject optional
 }
 with {
@@ -2177,7 +2200,7 @@ type record TokenPermission
 {
 	ListOfM2MID resourceIDs optional,
 	SetOfAcrs privileges optional,
-	record length(1 .. infinity) of RoleID roleIDs
+	record length(1 .. infinity) of RoleID roleIDs optional
 }
 with {
   variant "name as uncapitalized";
@@ -2268,12 +2291,12 @@ type record DynAuthDasRequest
 		Ipv6 ipv6Address optional
 	} originatorIP optional,
 	LocationRegion originatorLocation optional,
-	record length(1 .. infinity) of RoleID originatorRoleIDs,
+	record length(1 .. infinity) of RoleID originatorRoleIDs optional,
 	AbsRelTimestamp requestTimestamp optional,
 	XSD.AnyURI targetedResourceID optional,
 	AbsRelTimestamp proposedPrivilegesLifetime optional,
-	record length(1 .. infinity) of RoleID roleIDsFromACPs,
-	record length(1 .. infinity) of TokenID tokenIDs
+	record length(1 .. infinity) of RoleID roleIDsFromACPs optional,
+	record length(1 .. infinity) of TokenID tokenIDs optional
 }
 with {
   variant "name as uncapitalized";
@@ -2380,7 +2403,7 @@ type record AnnounceableResource
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional
 }
 with {
   variant "name as uncapitalized";
@@ -2420,7 +2443,7 @@ type record AnnounceableSubordinateResource
 	Labels labels optional,
 	Timestamp expirationTime,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional
 }
 with {
   variant "name as uncapitalized";
@@ -2477,7 +2500,7 @@ type record MgmtResource
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -2805,7 +2828,7 @@ type record Container
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	XSD.NonNegativeInteger stateTag,
 	XSD.ID creator optional,
 	XSD.NonNegativeInteger maxNrOfInstances optional,
@@ -2904,7 +2927,7 @@ type record ContentInstance
 	Labels labels optional,
 	Timestamp expirationTime,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	XSD.NonNegativeInteger stateTag,
 	XSD.ID creator optional,
 	ContentInfo contentInfo optional,
@@ -2980,6 +3003,7 @@ type record CSEBase
 	XSD.AnyURI nodeLink optional,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	E2eSecInfo e2eSecInfo optional,
+	SupportedReleaseVersions supportedReleaseVersions,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
 		record length(1 .. infinity) of union {
@@ -3001,7 +3025,7 @@ type record CSEBase
 			M2mServiceSubscriptionProfile m2mServiceSubscriptionProfile,
 			ServiceSubscribedAppRule serviceSubscribedAppRule,
 			Role role,
-			XSD.Token token,
+			Token token,
 			Sg_flexContainerResource_group sg_flexContainerResource
 		} choice_list
 	} choice optional
@@ -3072,7 +3096,7 @@ type record DeviceCapability
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -3170,7 +3194,7 @@ type record DeviceInfo
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -3428,6 +3452,7 @@ type enumerated ResponseStatusCode
 	int2002(2002),
 	int2004(2004),
 	int4000(4000),
+	int4001(4001),
 	int4004(4004),
 	int4005(4005),
 	int4008(4008),
@@ -3739,7 +3764,14 @@ type enumerated MgmtDefinition
 	int1016(1016),
 	int1017(1017),
 	int1018(1018),
-	int1019(1019)
+	int1019(1019),
+	int1020(1020),
+	int1021(1021),
+	int1022(1022),
+	int1023(1023),
+	int1024(1024),
+	int1025(1025),
+	int1026(1026)
 }
 with {
   variant "useNumber";
@@ -4084,7 +4116,7 @@ type record EventConfig
 	EventType eventType,
 	Timestamp eventStart optional,
 	Timestamp eventEnd optional,
-	record of Operation operationType,
+	record of Operation operationType optional,
 	XSD.NonNegativeInteger dataSize optional,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
@@ -4117,7 +4149,7 @@ type record EventLog
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -4245,7 +4277,7 @@ type record Firmware
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -4503,12 +4535,12 @@ type record Group
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	XSD.ID creator optional,
 	MemberType memberType,
 	XSD.NonNegativeInteger currentNrOfMembers,
 	XSD.PositiveInteger maxNrOfMembers,
-	ListOfURIs memberIDs,
+	record of XSD.AnyURI memberIDs,
 	ListOfURIs membersAccessControlPolicyIDs optional,
 	XSD.Boolean memberTypeValidated optional,
 	ConsistencyStrategy consistencyStrategy optional,
@@ -4527,6 +4559,7 @@ with {
   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'";
@@ -4555,7 +4588,7 @@ type record GroupAnnc
 	MemberType memberType optional,
 	XSD.NonNegativeInteger currentNrOfMembers optional,
 	XSD.PositiveInteger maxNrOfMembers optional,
-	record of XSD.AnyURI memberIDs,
+	record of XSD.AnyURI memberIDs optional,
 	ListOfURIs membersAccessControlPolicyIDs optional,
 	XSD.Boolean memberTypeValidated optional,
 	ConsistencyStrategy consistencyStrategy optional,
@@ -4600,7 +4633,7 @@ type record LocationPolicy
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	LocationSource locationSource,
 	ListOfDuration locationUpdatePeriod optional,
 	LocationTargetID locationTargetID optional,
@@ -4701,7 +4734,7 @@ type record Memory
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -4818,7 +4851,7 @@ type record Node
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	NodeID nodeID,
 	XSD.ID hostedCSELink optional,
 	XSD.String mgmtClientAddress optional,
@@ -4996,22 +5029,9 @@ with {
   variant (notification_list[-]) "name as 'notification'";
 };
 
-
-//FIXME To be added
-type union Representation {
-	Resource_2 resource, 
-	ResponsePrimitive responsePrimitive, 
-	XSD.AnyURI uRI
-}
-with {
-	variant "name as 'representation'";
-	variant (uRI) "name as capitalized";
-  };
-
 type record Notification_1
 {
 	record {
-		//XSD.AnyType representation optional, Use Representation instead
 		Representation representation optional,
 		record {
 			Operation operation optional,
@@ -5024,6 +5044,9 @@ type record Notification_1
 	XSD.AnyURI subscriptionReference optional,
 	XSD.ID creator optional,
 	XSD.AnyURI notificationForwardingURI optional,
+	XSD.ID notificationTarget optional,
+	XSD.Boolean targetRemovalRequest optional,
+	XSD.Boolean targetRemovalAllowance optional,
 	record {
 		XSD.ID originator,
 		FilterCriteria filterCriteria
@@ -5035,6 +5058,10 @@ with {
   //variant (verificationRequest) "text 'false' as '0'";
   //variant (subscriptionDeletion) "text 'true' as '1'";
   //variant (subscriptionDeletion) "text 'false' as '0'";
+  //variant (targetRemovalRequest) "text 'true' as '1'";
+  //variant (targetRemovalRequest) "text 'false' as '0'";
+  //variant (targetRemovalAllowance) "text 'true' as '1'";
+  //variant (targetRemovalAllowance) "text 'false' as '0'";
   variant (iPEDiscoveryRequest) "name as capitalized";
 };
 
@@ -5081,7 +5108,7 @@ type record DynAuthDasResponse
 		SetOfAcrs grantedPrivileges optional,
 		AbsRelTimestamp privilegesLifetime optional
 	} dynamicACPInfo optional,
-	record length(1 .. infinity) of DynAuthJWT tokens
+	record length(1 .. infinity) of DynAuthJWT tokens optional
 }
 with {
   variant "name as uncapitalized";
@@ -5089,6 +5116,33 @@ with {
 };
 
 
+//FIXME To replace Representation type by this
+type union Representation {
+	Resource_2 resource, 
+	ResponsePrimitive responsePrimitive, 
+	XSD.AnyURI uRI
+}
+with {
+	variant "name as 'representation'";
+	variant (uRI) "name as capitalized";
+ };
+  
+//type record Representation
+//{
+//	union {
+//		XSD.String elem,
+//		XSD.String elem_1
+//	} choice optional
+//}
+//with {
+//  variant "name as uncapitalized";
+//  variant (choice) "untagged";
+//  variant (choice.elem) "anyElement from 'http://www.onem2m.org/xml/protocols'";
+//  variant (choice.elem_1) "name as 'elem'";
+//  variant (choice.elem_1) "anyElement except unqualified, 'http://www.onem2m.org/xml/protocols'";
+//};
+
+
 type record PolicyDeletionRules
 {
 	ResourceName resourceName,
@@ -5120,21 +5174,10 @@ with {
 };
 
 
-type record PollingChannel
-{
-	ResourceName resourceName,
-	ResourceType resourceType,
-	XSD.ID resourceID,
-	NhURI parentID,
-	Timestamp creationTime,
-	Timestamp lastModifiedTime,
-	Labels labels optional,
-	Timestamp expirationTime
-}
+type SubordinateResource PollingChannel
 with {
   variant "name as uncapitalized";
   variant "element";
-  variant (resourceName) "attribute";
 };
 
 
@@ -5151,7 +5194,7 @@ type record Reboot
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -5233,7 +5276,7 @@ type record RemoteCSE
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	CseTypeID cseType optional,
 	PoaList pointOfAccess optional,
 	XSD.AnyURI cSEBase,
@@ -5244,6 +5287,7 @@ type record RemoteCSE
 	XSD.AnyURI nodeLink optional,
 	XSD.UnsignedInt triggerReferenceNumber optional,
 	E2eSecInfo e2eSecInfo optional,
+	SupportedReleaseVersions supportedReleaseVersions,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
 		record length(1 .. infinity) of union {
@@ -5307,6 +5351,7 @@ type record RemoteCSEAnnc
 	XSD.Boolean requestReachability optional,
 	XSD.AnyURI nodeLink optional,
 	E2eSecInfo e2eSecInfo optional,
+	SupportedReleaseVersions supportedReleaseVersions,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
 		record length(1 .. infinity) of union {
@@ -5355,7 +5400,7 @@ type record RequestPrimitive
 	RequestID requestIdentifier,
 	ResourceType resourceType optional,
 	PrimitiveContent primitiveContent optional,
-	record length(1 .. infinity) of RoleID roleIDs optional,//TODO it must be optional
+	record length(1 .. infinity) of RoleID roleIDs optional,
 	Timestamp originatingTimestamp optional,
 	AbsRelTimestamp requestExpirationTimestamp optional,
 	AbsRelTimestamp resultExpirationTimestamp optional,
@@ -5368,10 +5413,12 @@ type record RequestPrimitive
 	XSD.String groupRequestIdentifier optional,
 	FilterCriteria filterCriteria optional,
 	DiscResType discoveryResultType optional,
-	record length(1 .. infinity) of DynAuthJWT tokens optional,//TODO it must be optional
-	record length(1 .. infinity) of TokenID tokenIDs optional,//TODO it must be optional
-	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,//TODO it must be optional
-	XSD.Boolean tokenRequestIndicator optional
+	record length(1 .. infinity) of DynAuthJWT tokens optional,
+	record length(1 .. infinity) of TokenID tokenIDs optional,
+	record length(1 .. infinity) of XSD.NCName localTokenIDs optional,
+	XSD.Boolean tokenRequestIndicator optional,
+	ReleaseVersion releaseVersionIndicator,
+	XSD.String vendorInformation optional
 }
 with {
   variant "name as uncapitalized";
@@ -5449,7 +5496,9 @@ type record ResponsePrimitive
 	ContentStatus contentStatus optional,
 	XSD.PositiveInteger contentOffset optional,
 	DynAuthLocalTokenIdAssignments assignedTokenIdentifiers optional,
-	DynAuthTokenReqInfo tokenRequestInformation optional
+	DynAuthTokenReqInfo tokenRequestInformation optional,
+	ReleaseVersion releaseVersionIndicator,
+	XSD.String vendorInformation optional
 }
 with {
   variant "name as uncapitalized";
@@ -5597,7 +5646,7 @@ type record Schedule
 	Labels labels optional,
 	Timestamp expirationTime,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	ScheduleEntries scheduleElement,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
@@ -5652,7 +5701,7 @@ type record SemanticDescriptor
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	XSD.ID creator optional,
 	DescriptorRepresentation descriptorRepresentation optional,
 	Sparql semanticOpExec optional,
@@ -5727,7 +5776,7 @@ type record ServiceSubscribedAppRule
 	ListOfM2MID applicableCredIDs optional,
 	ListOfM2MID allowedApp_IDs optional,
 	ListOfM2MID allowedAEs optional,
-	record length(1 .. infinity) of RoleID allowedRole_IDs,
+	record length(1 .. infinity) of RoleID allowedRole_IDs optional,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
 		record length(1 .. infinity) of Subscription subscription_list
@@ -5762,7 +5811,7 @@ type record ServiceSubscribedNode
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	NodeID nodeID,
 	XSD.ID cSE_ID optional,
-	record of DeviceID deviceIdentifier,
+	record of DeviceID deviceIdentifier optional,
 	ListOfURIs ruleLinks optional,
 	union {
 		record length(1 .. infinity) of ChildResourceRef childResource_list,
@@ -5796,7 +5845,7 @@ type record Software
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	MgmtDefinition mgmtDefinition,
 	ListOfURIs objectIDs optional,
 	ListOfURIs objectPaths optional,
@@ -6040,8 +6089,8 @@ with {
 
 type record BatchNotify
 {
-	XSD.NonNegativeInteger number,
-	XSD.Duration duration
+	XSD.NonNegativeInteger number optional,
+	XSD.Duration duration optional
 }
 with {
   variant "name as uncapitalized";
@@ -6221,7 +6270,7 @@ type record TimeSeriesInstance
 	Labels labels optional,
 	Timestamp expirationTime,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	AbsRelTimestamp dataGenerationTime,
 	XSD.AnySimpleType content,
 	XSD.NonNegativeInteger sequenceNr optional,
@@ -6271,7 +6320,7 @@ type record TimeSeries
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	XSD.NonNegativeInteger stateTag,
 	XSD.ID creator,
 	XSD.NonNegativeInteger maxNrOfInstances optional,
@@ -6416,7 +6465,7 @@ type record TrafficPattern
 	Timestamp expirationTime,
 	ListOfURIs dynamicAuthorizationConsultationIDs optional,
 	ListOfURIs announceTo optional,
-	record length(1 .. infinity) of XSD.NCName announcedAttribute optional, //TODO To be put as optional
+	record length(1 .. infinity) of XSD.NCName announcedAttribute optional,
 	XSD.Boolean provideToNSE optional,
 	PeriodicIndicator periodicIndicator optional,
 	XSD.UnsignedInt periodicDurationTime optional,
@@ -6664,6 +6713,7 @@ group OptionalResourceTypes {
 		XSD.Boolean requestReachability optional,
 		Serializations contentSerialization optional,
 		E2eSecInfo e2eSecInfo optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -6718,6 +6768,7 @@ group OptionalResourceTypes {
 		XSD.Boolean requestReachability optional,
 		Serializations contentSerialization optional,
 		E2eSecInfo e2eSecInfo optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7074,6 +7125,7 @@ group OptionalResourceTypes {
 		XSD.AnyURI nodeLink optional,
 		ListOfURIs dynamicAuthorizationConsultationIDs optional,
 		E2eSecInfo e2eSecInfo optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7525,6 +7577,7 @@ group OptionalResourceTypes {
 		XSD.AnyURI nodeLink optional,
 		XSD.UnsignedInt triggerReferenceNumber optional,
 		E2eSecInfo e2eSecInfo optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
@@ -7587,6 +7640,7 @@ group OptionalResourceTypes {
 		XSD.Boolean requestReachability optional,
 		XSD.AnyURI nodeLink optional,
 		E2eSecInfo e2eSecInfo optional,
+		SupportedReleaseVersions supportedReleaseVersions optional,
 		union {
 			record length(1 .. infinity) of ChildResourceRef childResource_list,
 			record length(1 .. infinity) of union {
-- 
GitLab