Skip to content
Snippets Groups Projects
OneM2M_Templates.ttcn 192.22 KiB
/**
 *  Copyright Notification
 *  No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
 *  The copyright and the foregoing restriction extend to reproduction in all media.
 *  © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
 *  All rights reserved.
 *  
 *  @author     oneM2M/ETSI
 *  @desc       Module containing templates for oneM2M
 *
 */
module OneM2M_Templates {

	import from XSD all;
	import from OneM2M_Types all;
	import from OneM2M_TypesAndValues all;
	import from OneM2M_Pixits all;
		
	/* Templates */
	
	group Primitives {
    	/** 
    	 * @desc Base template for request sending operations
    	 * @param p_requestPrimitive
    	 */
    	template (value) MsgOut m_request(in template (value) RequestPrimitive p_requestPrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
    		primitive := { requestPrimitive := p_requestPrimitive},
    		host := "",
    		xmlNamespace := PX_XML_NAMESPACE,
    		protocolBinding := "",
    		serialization := "", 
    		forcedFields := p_forcedFields
    	};
    	
		/** 
		 * @desc Base template for response sending operations
		 * @param p_responsePrimitive
		 */
		template (value) MsgOut m_response(in template (value) ResponsePrimitive p_responsePrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
			primitive := { responsePrimitive := p_responsePrimitive},
			host := "",
			xmlNamespace := PX_XML_NAMESPACE,
			protocolBinding := "",
			serialization := "", 
			forcedFields := p_forcedFields
		};
		
		/** 
		 * @desc Base template for response sending operations
		 * @param p_responsePrimitive
		 */
		template (value) MsgOut m_httpResponse(in template (value) ResponsePrimitive p_responsePrimitive, in template (omit) AttributeAux_list p_forcedFields := omit) := {
			primitive := { responsePrimitive := p_responsePrimitive},
			host := "",
			xmlNamespace := PX_XML_NAMESPACE,
			protocolBinding := "",
			serialization := "", 
			forcedFields := p_forcedFields
		};
		
		template MsgIn mw_request(in template  RequestPrimitive p_requestPrimitive, template AttributeList_1 p_nullFields := *) := {
			primitive := { requestPrimitive := p_requestPrimitive}, 
			nullFields := p_nullFields
		};
    	
		/** 
		 * @desc Base template for response receiving operations
		 * @param p_responsePrimitive
		 */
		template MsgIn mw_response(in template  ResponsePrimitive p_responsePrimitive := ?, template AttributeList_1 p_nullFields := *) := {
			primitive := { responsePrimitive := p_responsePrimitive}, 
			nullFields := p_nullFields
		};
    	
	}//end of group primitives
	
	group RequestPrimitives { 
		
		group Retrieve {

			/**
			 * @desc Base RETRIEVE request primitive
			 * @param p_targetResourceAddress Target resource address
			 * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrieve(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
				operation := int2,
				to_ := p_targetResourceAddress,
				from_ := p_originator,
				requestIdentifier := "m_retrieve",
				resourceType := omit,
				primitiveContent := omit,
				roleIDs := omit, 
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit,
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			};
        	
			/**
			 * @desc RETRIEVE request primitive for child references
			 * @param p_targetResourceAddress Target resource address
			 * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrieveChildResourceRefs(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, template (omit) ResourceTypeList p_resourceTypeList := omit) modifies m_retrieve := {
				filterCriteria := {
					createdBefore := omit,
					createdAfter := omit,
					modifiedSince := omit,
					unmodifiedSince := omit,
					stateTagSmaller := omit,
					stateTagBigger := omit,
					expireBefore := omit,
					expireAfter := omit,
					labels := omit,
					resourceType := p_resourceTypeList,
					sizeAbove := omit,
					sizeBelow := omit,
					contentType_list := {},
					attribute_list := {},
					filterUsage := int1,
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
				}
			};

			/**
			 * @desc Base Receive RETRIEVE request primitive
			 * @param p_targetResourceAddress Target resource address
			 */
			template RequestPrimitive mw_retrieve(template XSD.ID p_targetResourceAddress, template XSD.ID p_from := ?) := {
				operation := int2,
				to_ := p_targetResourceAddress,
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := omit,
				primitiveContent := *,
				roleIDs := *, 
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				desiredIdentifierResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *,
				releaseVersionIndicator := ?,
				vendorInformation := *
			};
        	
			/**
			 * @desc RETRIEVE request primitive for a single attribute in To field ("targetResourceAddress#AttributeName")
			 * @param p_targetResourceAddress Target resource address (including "#AttributeName")
			 * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrieveAttributeToOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) := {
        		operation := int2,
        		to_ := p_targetResourceAddress,
        		from_ := p_originator,
        		requestIdentifier := "m_retrieveResourceAttributeOptionTo",
        		resourceType := omit,
				primitiveContent := omit, 
				roleIDs := omit,
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit,
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
        	};
        	
			/**
			 * @desc RETRIEVE request primtive containing the target attributes in the primitiveContent field
			 * @param p_targetResourceAddress Target resource address 
			 * @param p_attributeList Target attribute list
			 * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrieveAttributeContentOption(XSD.ID p_targetResourceAddress, in template (value) AttributeList_1 p_attributeList, in XSD.ID p_originator) := {
				operation := int2,
				to_ := p_targetResourceAddress,
				from_ := p_originator,
				requestIdentifier := "m_retrieveResourceAttributeContentOption",
				resourceType := omit,
				primitiveContent := {attributeList := p_attributeList},
				roleIDs := omit,
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit,
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			};
			
			/**
			  * @desc RETRIEVE request primtive containing the Filter Criteria in the filterCriteria field
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_filterCriteria FilterCriteria
			  * @param p_originator Originator (from)
		     */
			template (value) RequestPrimitive m_retrieveFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage) modifies m_retrieve := {
				requestIdentifier := "m_retrieveResourceFilterUsageOption",
				filterCriteria := {
					createdBefore := omit,
					createdAfter := omit,
					modifiedSince := omit,
					unmodifiedSince := omit,
					stateTagSmaller := omit,
					stateTagBigger := omit,
					expireBefore := omit,
					expireAfter := omit,
					labels := omit,
					resourceType := omit,
					sizeAbove := omit,
					sizeBelow := omit,
					contentType_list := {},
					attribute_list := {},
					filterUsage := p_filterUsage,
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
				}
			};
			
			/**
			  * @desc RETRIEVE request primtive containing the Filter Criteria in the filterCriteria field
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_filterCriteria FilterCriteria
			  * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrieveFilterCriteria(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterCriteria p_filterCriteria) modifies m_retrieve := {
				requestIdentifier := "m_retrieveResourceFilterUsageOption",
				filterCriteria := p_filterCriteria
			};
			
			/**
			  * @desc RETRIEVE request primtive containing the Filter Criteria in the filterCriteria field
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_originator Originator (from)
			  * @param p_filterUsage FilterUsage
			  * @param p_labels Labels
			 */
			template (value) RequestPrimitive m_retrieveFilterUsageOptionLabel(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) FilterUsage p_filterUsage, in Labels p_labels) modifies m_retrieve := {
				requestIdentifier := "m_retrieveResourceFilterUsageOptionLabel",
				filterCriteria := {
					createdBefore := omit,
					createdAfter := omit,
					modifiedSince := omit,
					unmodifiedSince := omit,
					stateTagSmaller := omit,
					stateTagBigger := omit,
					expireBefore := omit,
					expireAfter := omit,
					labels := p_labels,
					resourceType := omit,
					sizeAbove := omit,
					sizeBelow := omit,
					contentType_list := {},
					attribute_list := {},
					filterUsage := p_filterUsage, 
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
				}
			};
			/**
			  * @desc RETRIEVE request primtive containing the Desired Identifier Result Type in the desiredIdentifierResultType field and Filter Criteria in the filterCriteria field
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_filterCriteria FilterCriteria
			  * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrieveDiscResTypeFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) DesIdResType p_desIdResType, in template (value) FilterUsage p_filterUsage) modifies m_retrieve := {
				requestIdentifier := "m_retrieveResourceFilterUsageOption",
				filterCriteria := {
					createdBefore := omit,
					createdAfter := omit,
					modifiedSince := omit,
					unmodifiedSince := omit,
					stateTagSmaller := omit,
					stateTagBigger := omit,
					expireBefore := omit,
					expireAfter := omit,
					labels := omit,
					resourceType := omit,
					sizeAbove := omit,
					sizeBelow := omit,
					contentType_list := {},
					attribute_list := {},
					filterUsage := p_filterUsage,
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
				},
				desiredIdentifierResultType := p_desIdResType
			};
			
			/**
			  * @desc RETRIEVE request primtive containing the Discovery Type in the discoveryResultType field and Filter Criteria in the filterCriteria field
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_filterCriteria FilterCriteria
			  * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrieveInvalidFormatOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_retrieve := {
				requestIdentifier := "m_retrieveResourceFilterUsageOption",
				filterCriteria := {
					createdBefore := omit,
					createdAfter := omit,
					modifiedSince := omit,
					unmodifiedSince := omit,
					stateTagSmaller := omit,
					stateTagBigger := omit,
					expireBefore := omit,
					expireAfter := omit,
					labels := omit,
					resourceType := omit,
					sizeAbove := omit,
					sizeBelow := omit,
					contentType_list := {},
					attribute_list := {},
					filterUsage := omit,
					limit := omit,
					semanticsFilter_list := {},
					filterOperation := omit,
					contentFilterSyntax := omit,
					contentFilterQuery := omit,
					level := omit,
					offset := omit
				}
			};
			
			/**
			  * @desc RETRIEVE request primtive for polling request
			  * @param p_targetResourceAddress Target resource address 
			  * @param p_filterCriteria FilterCriteria
			  * @param p_originator Originator (from)
			 */
			template (value) RequestPrimitive m_retrievePollingRequest(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_retrieve := {
				to_ := p_targetResourceAddress & "/pcu"
			};
			
			/**
			  * @desc FilterCriteria empty template
			 */
			template (value) FilterCriteria m_filterCriteria := {
				createdBefore := omit,
				createdAfter := omit,
				modifiedSince := omit,
				unmodifiedSince := omit,
				stateTagSmaller := omit,
				stateTagBigger := omit,
				expireBefore := omit,
				expireAfter := omit,
				labels := omit,
				resourceType := omit,
				sizeAbove := omit,
				sizeBelow := omit,
				contentType_list := {},
				attribute_list := {},
				filterUsage := int1,
				limit := omit,
				semanticsFilter_list := {},
				filterOperation := omit,
				contentFilterSyntax := omit,
				contentFilterQuery := omit,
				level := omit,
				offset := omit
				
			}
			
			
			
    	}//end group Retrieve

    	group Update {
    		template (value) RequestPrimitive m_update := {
				operation := int3,
				to_ := "NotInitialized",
				from_ := "NotInitialized",
				requestIdentifier := "m_update",
				resourceType := omit,
				primitiveContent:= omit,
				roleIDs := omit, 
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit,
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			};
        	
						
			template RequestPrimitive mw_update(template XSD.ID p_from := ?, template XSD.ID p_to := ?) := {
				operation := int3,
				to_ := p_to,
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := omit,
				primitiveContent:= ?,
				roleIDs := *, 
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				desiredIdentifierResultType := *, 
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *,
				releaseVersionIndicator := ?,
				vendorInformation := *
			};
        	
			/**
			 * @desc Base UPDATE request primitive for Ae resource
			 */
			template (value) RequestPrimitive m_updateAeBase modifies m_update:= {
				requestIdentifier := "m_updateAe",
				primitiveContent:= {aE := m_contentUpdateAe}
			};
        	
			/**
			 * @desc Reception template for update Ae resource
			 */
			template  RequestPrimitive mw_updateAe(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
				resourceType := int2,
				primitiveContent:= {aE := ?}
			};
			 
        	
			/**
			 * @desc Base UPDATE request primitive for Container resource
			 */
			template (value) RequestPrimitive m_updateContainerBase modifies m_update:= {
				requestIdentifier := "m_updateContainer",
				primitiveContent:= {container := m_contentUpdateContainer}
			};
			
			/**
			 * @desc Base Reception template for update Container
			 */
			template RequestPrimitive mw_updateContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
				primitiveContent := {container := ?}
			}; 
			
			/**
			 * @desc Base UPDATE request primitive for ContentInstance resource
			 */
			template (value) RequestPrimitive m_updateContentInstanceBase modifies m_update:= {
				requestIdentifier := "m_updateContentInstance",
				primitiveContent:= {contentInstance := m_contentUpdateContentInstance}
			};
			
			/**
			 * @desc Base UPDATE request primitive for AccessControlPolicy resource
			 */        				
			template (value) RequestPrimitive m_updateAcpBase modifies m_update := {
				requestIdentifier := "m_updateAcp",
				primitiveContent:= {accessControlPolicy := m_contentUpdateAcp}
			};
			
			template (value) RequestPrimitive m_updateAcpPrivileges(in template(omit) SetOfAcrs p_privileges := omit, in template(omit) SetOfAcrs p_selfPrivileges := omit) modifies m_update := {
				requestIdentifier := "m_updateAcp",
				primitiveContent:= {accessControlPolicy := m_contentUpdateAcpPrivileges(p_privileges, p_selfPrivileges)}
			};

			/**
			 * @desc Base UPDATE request primitive for GenericInterworkingService resource
			 */
			template (value) RequestPrimitive m_updateGenericInterworkingServiceBase modifies m_update:= {
				requestIdentifier := "m_updateGenericInterworkingService",
				primitiveContent:= {genericInterworkingService := m_contentUpdateGenericInterworkingService}
			};

			/**
			 * @desc Base UPDATE request primitive for GenericInterworkingService_invalid resource
			 */
			template (value) RequestPrimitive m_updateGenericInterworkingServiceBase_invalid modifies m_update:= {
				requestIdentifier := "m_updateGenericInterworkingServiceInvalid",
				primitiveContent:= {genericInterworkingService_invalid := m_contentUpdateGenericInterworkingService_invalid}
			};
				
			/**
			 * @desc Base UPDATE request primitive for Group resource
			 */
			template (value) RequestPrimitive m_updateGroupBase modifies m_update := {
				requestIdentifier := "m_updateGroup",
				primitiveContent:= {group_ := m_contentUpdateGroup}
			};
			
			/**
			 * @desc Base UPDATE request primitive for CSEBase resource
			 */
			template (value) RequestPrimitive m_updateCSEBaseBase modifies m_update := {
				requestIdentifier := "m_updateGroup",
				primitiveContent:= {cSEBase := m_contentUpdateCSEBase}
			};
			
			/**
			 * @desc Base UPDATE request primitive for Schedule resource
			 */
			template (value) RequestPrimitive m_updateScheduleBase modifies m_update := {
				requestIdentifier := "m_updateSchedule",
				primitiveContent:= {schedule := m_contentUpdateSchedule}
			};
			
			/**
			 * @desc Base UPDATE request primitive for PollingChannel resource
			 */
			template (value) RequestPrimitive m_updatePollingChannelBase modifies m_update := {
				requestIdentifier := "m_updatePollingChannel",
				primitiveContent:= {pollingChannel := m_contentUpdatePollingChannel}
			};
			
			/**
			 * @desc Base UPDATE request primitive for Subscription resource
			 */
			template (value) RequestPrimitive m_updateSubscriptionBase modifies m_update := {
				requestIdentifier := "m_updateSubscription",
				primitiveContent:= {subscription := m_contentUpdateSubscription}
			};
			
			template (value) RequestPrimitive m_updateLocationPolicy(XSD.ID p_locResourceAddress, in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) modifies m_update := {
        	  	to_ 				:= p_locResourceAddress,
        	  	requestIdentifier	:= "m_updateLocationPolicy",
        	  	primitiveContent	:= {locationPolicy := m_contentUpdateLocationPolicy(p_accessControlPolicyIds, p_locationUpdatePeriod)}
			  };
        	
        	template (value) RequestPrimitive m_updateNodeBase modifies m_update := {
				requestIdentifier := "m_updateNode",
				primitiveContent:= {node := m_contentUpdateNode}
        	}
        	
        	template (value) RequestPrimitive m_updateRemoteCSEBase modifies m_update := {
			   requestIdentifier := "m_updateRemoteCSEBase",
        	   primitiveContent := {remoteCSE := m_contentUpdateRemoteCSE}
        	}

			/**
			 * @desc Reception template for update remoteCSE resource
			 */
			template RequestPrimitive mw_updateRemoteCSE(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
				primitiveContent:= {remoteCSE := ?}
			};
			       	
			template (value) RequestPrimitive m_updateAEAnncBase modifies m_update:= {
				requestIdentifier := testcasename() & "-m_updateAEAnnc",
				resourceType := int10002,
				primitiveContent := {aEAnnc := m_contentUpdateAEAnnc}
			};
			
			template RequestPrimitive mw_updateAEAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update:= {
				primitiveContent := {aEAnnc := ?}
			};
			
			/**
			 * @desc Base Reception template for update ContainerAnnc
			 */
			template RequestPrimitive mw_updateContainerAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {

				primitiveContent := {containerAnnc := ?}
			}; 
			
			/**
			 * @desc Base Reception template for update GroupAnnc
			 */
			template RequestPrimitive mw_updateGroupAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
				primitiveContent := {groupAnnc := ?}
			}; 
			
			/**
			 * @desc Base Reception template for update AccessControlPolicyAnnc
			 */
			template RequestPrimitive mw_updateAccessControlPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
				primitiveContent := {accessControlPolicyAnnc := ?}
			}; 	
			
			/**
			 * @desc Base UPDATE request primitive for TimeSeries resource
			 */
			template (value) RequestPrimitive m_updateTimeSeriesBase modifies m_update := {
				requestIdentifier := "m_updateTimeSeries",
				primitiveContent:= {timeSeries := m_contentUpdateTimeSeries}
			};
			
			/**
			 * @desc Base UPDATE request primitive for TimeSeriesInstance resource
			 */
			template (value) RequestPrimitive m_updateTimeSeriesInstanceBase modifies m_update:= {
				requestIdentifier := "m_updateTimeSeriesInstance",
				primitiveContent:= {timeSeriesInstance := m_contentUpdateTimeSeriesInstance}
			};		
			
			/**
			 * @desc Base Reception template for update TimeSeriesAnnc
			 */
			template RequestPrimitive mw_updateTimeSeriesAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_update := {
				primitiveContent := {timeSeriesAnnc := ?}
			}; 
			
			
    	}//end group Update
    	
    	group Create {

			template (value) RequestPrimitive m_create := {
				operation := int1,
				to_ := "NotInitialized",
				from_ := "NotInitialized",
				requestIdentifier := testcasename() & "-m_create",
				resourceType := omit,
				primitiveContent := omit,
				roleIDs := omit,
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit,
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit

			};
        	
			/**
			 * @desc Base Reception template for create operation
			 */
			template  RequestPrimitive mw_create(template XSD.ID p_from := *, template XSD.ID p_to := ?) := {
				operation := int1,
				to_ := p_to,
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := ?,
				primitiveContent := ?,
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				desiredIdentifierResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *,
				releaseVersionIndicator := ?,
				vendorInformation := *
			}
			
			/**
			 * @desc Base Reception template for create operation for announced resources
			 */
			template RequestPrimitive mw_createAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?) := {
				operation := int1,
				to_ := p_to,
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := ?,
				primitiveContent := ?,
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				desiredIdentifierResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *,
				releaseVersionIndicator := ?,
				vendorInformation := *
			}
			
			
			/**
			 * @desc Base CREATE request primitive for AEAnnc resource
			 * @param p_accessControlPolicyIds
			 * @param p_to
			 * @param p_from
			 * @param p_appId
			 * @param p_stemId
			 */
			template (value) RequestPrimitive m_createAEAnnc(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) XSD.ID p_to := omit, template (omit) XSD.ID p_from := omit, template (omit) XSD.ID p_appId, XSD.AnyURI p_link) modifies m_create:= {
				to_ := p_to,
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
				requestIdentifier := testcasename() & "-m_createAEAnnc",
				resourceType := int10002,
				primitiveContent := {aEAnnc := m_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_appId, p_link)}
			};
			
			/**
			 * @desc Reception template for CREATE AEAnnc for registration when AE-ID-Stem starts with S
			 */
			template RequestPrimitive mw_createAEAnnc_s_ae_id(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) modifies mw_create := {				
				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds, p_link)}
			};

			/**
			 * @desc Reception template for CREATE AEAnnc as announced resource
			 */
			template RequestPrimitive mw_createAEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) modifies mw_create := {				
				primitiveContent := {aEAnnc := mw_contentCreateAEAnnc(-, p_accessControlPolicyIds)}
			};
			
			template (value) RequestPrimitive m_createAe(XSD.ID p_appId, template (omit) AcpType p_accessControlPolicyIds := omit,template (omit) XSD.ID p_from := omit, template (omit) ResourceName p_resourceName :=  c_defaultAe1ResourceName, in template (omit) PoaList p_poaList := omit) modifies m_create := {
				from_ := p_from,//PX_AE_ID_STEM,//TODO We should use omit, "s", or "c"
				requestIdentifier := testcasename() & "-m_createAe",
				resourceType := int2,
				primitiveContent := {aE := m_contentCreateAe(p_accessControlPolicyIds,p_resourceName, p_appId, p_poaList)}
			};
        	
			/**
			 * @desc Reception template for AE registration
			 */
			template  RequestPrimitive mw_createAe(template XSD.ID p_from := *, template XSD.ID p_to := ?, template AE_optional p_ae := mw_contentCreateAeBase) modifies mw_create := {
				resourceType := int2,
				primitiveContent := {aE := p_ae}
			};  
			        	        	
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicy resource
			 */
			template (value) RequestPrimitive m_createAcpBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createAcp",
				resourceType := int1,
				primitiveContent := {accessControlPolicy := m_contentCreateAcp ()}
			};
			
			/**
			 * @desc Base CREATE request primitive for AccessControlPolicyAnnc resource
			 */
			template (value) RequestPrimitive m_createAcpAnncBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createAcpAnnc",
				resourceType := int10001,
				primitiveContent := {accessControlPolicyAnnc := m_contentCreateAcpAnnc ()}
			};
				
        	template (value) RequestPrimitive m_createAcp(in template (omit)  XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63) modifies m_create := {
				requestIdentifier := testcasename() & "-m_createAcp",
        		resourceType := int1,
        		primitiveContent := {accessControlPolicy := m_contentCreateAcp (p_name, p_acor, p_allowedOperations)}
        	};
        	
			/**
			 * @desc Reception template for CREATE AcpAnnc
			 */
			template RequestPrimitive mw_createAccessControlPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				to_ := p_to,
				from_ := p_from,
				resourceType := int10001,
				primitiveContent := {accessControlPolicyAnnc := mw_contentCreateAcpAnncBase(-)}
			};
        	
			/**
			  * @desc Reception template for CREATE AcpAnnc
			  */
			template RequestPrimitive mw_createRemoteCSEAnnc(template XSD.ID p_from := ?, template XSD.ID p_to := ?, template AcpType p_accessControlPolicyIds := ?) modifies mw_create := {
				resourceType := int10016,
				primitiveContent := {remoteCSEAnnc := mw_contentCreateRemoteCSEAnnc({"Credential-ID:None"}, p_accessControlPolicyIds)}
			};
       				
			/**
			 * @desc Base CREATE request primitive for CSEBase resource
			 */
			template (value) RequestPrimitive m_createCSEBaseBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createCSEBase",
				resourceType := int5,
				primitiveContent := {cSEBase := m_contentCreateCSEBase}
			};
        	
       	
			/**
			 * @desc Base CREATE request primitive for Container resource
			 */
			template (value) RequestPrimitive m_createContainerBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createContainer",
				resourceType := int3,
				primitiveContent := {container := m_contentCreateContainer}
			};
			
			/**
			 * @desc Base CREATE request primitive for ContainerAnnc resource
			 */
			template (value) RequestPrimitive m_createContainerAnncBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createContainerAnnc",
				resourceType := int10003,
				primitiveContent := {containerAnnc := m_contentCreateContainerAnnc}
			};
			       	
			/**
			 * @desc Base CREATE request primitive for Container resource using Container_update_invalid
			 */
			template (value) RequestPrimitive m_createContainerBaseInvalid modifies m_create := {
				requestIdentifier := testcasename() & "-m_createContainer",
				resourceType := int3,
				primitiveContent := {container_invalid := m_contentCreateContainerInvalid}
			};
			
			/**
			 * @desc Base CREATE request primitive for remoteCSE resource
			 */
			template (value) RequestPrimitive m_createRemoteCSEBase(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId) modifies m_create := {
				requestIdentifier := testcasename() & "-m_createRemoteCSE",
				resourceType := int16,
				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE(p_resourceName, p_accessControlPolicyIds,p_cSEBase)}
			};
			
			/**
			 * @desc CREATE request primitive for remoteCSE resource with poa
			 */
			template (value) RequestPrimitive m_createRemoteCSE_poa(template (omit) AcpType p_accessControlPolicyIds := omit, template (omit) ResourceName p_resourceName :=  c_defaultRemoteCSEResourceName, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in template (omit) XSD.ID p_cSE_ID := PX_TS_CSE1.cseId, in PoaList p_poaList) modifies m_createRemoteCSEBase := {
				primitiveContent := {remoteCSE := m_contentCreateRemoteCSE_poa(p_resourceName, p_accessControlPolicyIds,p_cSEBase, p_poaList)}
			};
			
			/**
			 * @desc Base reception template for CREATE RemoteCSE
			 */
			template RequestPrimitive mw_createRemoteCSE(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int16,
				primitiveContent := {remoteCSE := mw_contentCreateRemoteCSEBase}
			};
			
			/**
			 * @desc CREATE request primitive for Container resource wiht no resourceName provided
			 */
			template (value) RequestPrimitive m_createContainer_noResourceName modifies m_createContainerBase := {
				primitiveContent := {container := m_contentCreateContainer(omit)}
			};
	
    		template (value) RequestPrimitive m_createContainer(XSD.ID p_parentResourceAddress, in template (omit) XSD.String p_resourceName := c_defaultContainerResourceName) modifies m_create := {
    			to_ := p_parentResourceAddress,
				requestIdentifier := testcasename() & "-m_createContainer",
    			resourceType := int3,
    			primitiveContent := {container := m_contentCreateContainer(p_resourceName)}
    		};
        	
			/**
			 * @desc Reception template for CREATE Container
			 */
			template  RequestPrimitive mw_createContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int3,
				primitiveContent := {container := mw_contentCreateContainerBase}
			};  
			
			/**
			 * @desc Base Reception template for CREATE ContainerAnnc
			 */
			template RequestPrimitive mw_createContainerAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10003,
				primitiveContent := {containerAnnc := mw_contentCreateContainerAnncBase}
			};
			
			/**
			 * @desc Reception template for CREATE FlexContainer
			 */
			template RequestPrimitive mw_createFlexContainer(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int28, 
				primitiveContent := {flexContainer := ?}
			};  

			/**
			 * @desc Base CREATE request primitive for GenericInterworkingService resource
			 */
			template (value) RequestPrimitive m_createGenericInterworkingServiceBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createGenericInterworkingService",
				resourceType := int28,
				primitiveContent := {genericInterworkingService := m_contentCreateGenericInterworkingService()}
			};
						
			/**
			 * @desc Reception template for CREATE GenericInterworkingOperationInstance
			 */
			template RequestPrimitive mw_createGenericIwkOpInstance(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int28,  // FIXME: not found in TS004
				primitiveContent := {genericInterworkingOperationInstance := ?}
			}; 
        	
			/**
			 * @desc Base CREATE request primitive for Content Instance resource
			 */
			template (value) RequestPrimitive m_createContentInstanceBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createContentInstance",
				resourceType := int4,
				primitiveContent := {contentInstance := m_contentCreateContentInstance}
			};
				
			/**
			 * @desc CREATE request primitive for Content Instance resource with no resourceName provided
			 */
			template (value) RequestPrimitive m_createContentInstance_noResourceName modifies m_createContentInstanceBase := {
				primitiveContent := {contentInstance := m_contentCreateContentInstance(omit)}
			};
    		
    		template (value) RequestPrimitive m_createContentInstance(XSD.ID p_parentResourceAddress, XSD.String p_primitiveContent) modifies m_create := {
    			to_ := p_parentResourceAddress,
    			from_ := "admin:admin",
				requestIdentifier := testcasename() & "-m_createContentInstance",
    			resourceType := int4,
    			primitiveContent := {contentInstance := m_contentCreateContentInstance(-, p_primitiveContent)}
    		};
    		
			/**
			 * @desc Reception template for CREATE ContentInstanceAnnc
			 */
			template RequestPrimitive mw_createContentInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10004,
				primitiveContent := {contentInstanceAnnc := mw_contentCreateContentInstanceAnncBase}
			};  
			
			/**
			 * @desc Reception template for CREATE ContentInstance
			 */
			template RequestPrimitive mw_createContentInstance(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int4,
				primitiveContent := {contentInstance := mw_contentCreateContentInstanceBase}
			}; 
			
			/**
			 * @desc Base CREATE request primitive for Delivery resource
			 */
			/*template (value) RequestPrimitive m_createDeliveryBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createDelivery" & f_rnd(1, 1000000),
				resourceType := int6,
				primitiveContent := {delivery := m_contentCreateDelivery()}
			};*/
        	    		
       	
			/**
			 * @desc Base CREATE request primitive for Group resource
			 */
			template (value) RequestPrimitive m_createGroupBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createGroup",
				resourceType := int9,
				primitiveContent := {group_ := m_contentCreateGroup (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
			};
			
			/**
			 * @desc Base CREATE request primitive for GroupAnnc resource
			 */
			template (value) RequestPrimitive m_createGroupAnncBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createGroupAnnc",
				resourceType := int10009,
				primitiveContent := {groupAnnc := m_contentCreateGroupAnnc (1, {"NotInitialized"}, omit, omit)}	//TODO: p_resourceId
			};
        	
        	template (value) RequestPrimitive m_createGroup(in template (value) XSD.NonNegativeInteger p_maxNrOfMembers,
															in template (value) ListOfURIs p_memberIds := {"NotInitialized"},
															in template (omit) AcpType p_accessControlPolicyIds,
															in template (omit) MemberType p_memberType := omit,
															in template (omit) ConsistencyStrategy p_consistencyStrategy := omit,
															in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
															in template (omit) XSD.String p_name := "MyGroup") modifies m_create := {
				requestIdentifier := testcasename() & "-m_createGroup",
        		resourceType := int9,
        		primitiveContent := {group_ := m_contentCreateGroup (p_maxNrOfMembers, p_memberIds, p_accessControlPolicyIds, p_memberType, p_consistencyStrategy, p_membersAccessControlPolicyIDs, p_name)}	//TODO: p_resourceId
        	};
     
        	/**
			 * @desc Reception template for CREATE Group
			 */
			template  RequestPrimitive mw_createGroup(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int9,
				primitiveContent := {group_ := mw_contentCreateGroupBase}
			};  
			  	
			/**
			 * @desc Reception template for CREATE GroupAnnc
			 */
			template RequestPrimitive mw_createGroupAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10009,
				primitiveContent := {groupAnnc := mw_contentCreateGroupAnncBase}
			};  
			
			/**
			 * @desc Base CREATE request primitive for MgmtCmd resource
			 */
			template (value) RequestPrimitive m_createMgmtCmdBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createMgmtCmd",
				resourceType := int12,
				primitiveContent := {mgmtResource := m_contentCreateMgmtCmd (-,-)}
			};
			
			/**
			 * @desc Base CREATE request primitive for MgmtObj resource
			 */
			template (value) RequestPrimitive m_createMgmtObjBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createMgmtObj",
				resourceType := int13,
				primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-,-)}
			};
        	
			/**
			 * @desc CREATE request primitive for MgmtObj resource
			 */
			template (value) RequestPrimitive m_createMgmtObj modifies m_create := {
				requestIdentifier := testcasename() & "-m_createMgmtObj",
				resourceType := int13,
				primitiveContent := {mgmtResource := m_contentCreateMgmtObj (-, -)}
			};
        	
			/**
			 * @desc Reception template for CREATE MgmtObjAnnc
			 */
			template RequestPrimitive mw_createMgmtObjAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10013,
				primitiveContent := {announcedMgmtResource := mw_contentCreateMgmtObjAnncBase}
			};  
			
			/**
			 * @desc Base CREATE request primitive for Node resource
			 */
			template (value) RequestPrimitive m_createNodeBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createNode",
				resourceType := int14,
				primitiveContent := {node := m_contentCreateNode(-, -, -) }
			};
        	
			/**
			 * @desc CREATE request primitive for Node resource
			 */
			template (value) RequestPrimitive m_createNode modifies m_create := {
				requestIdentifier := testcasename() & "-m_createNode",
				resourceType := int14,
				primitiveContent := {node := m_contentCreateNode(-,-,-) }
			};
        	
			/**
			 * @desc Reception template for CREATE NodeAnnc
			 */
			template RequestPrimitive mw_createNodeAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10014,
				primitiveContent := {nodeAnnc := mw_contentCreateNodeAnncBase}
			};  
       	
			/**
			 * @desc Base CREATE request primitive for PollingChannel resource
			 */
			template (value) RequestPrimitive m_createPollingChannelBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createPollingChannel",
				resourceType := int15,
				primitiveContent := {pollingChannel := m_contentCreatePollingChannel (-)}
			};
        	
        	template (value) RequestPrimitive m_createPollingChannel(XSD.ID p_parentResourceAddress, in template (value)XSD.ID p_originatorId) modifies m_create := {
        		to_ := p_parentResourceAddress,
        		from_ := p_originatorId,
				requestIdentifier := testcasename() & "-m_createPollingChannel",
        		resourceType := int15,
        		primitiveContent := {pollingChannel := m_contentCreatePollingChannel ()}
        	};
        	
			template  RequestPrimitive mw_createPollingChannel(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				to_ := p_to,
				from_ := p_from,
				primitiveContent := {pollingChannel := mw_contentCreatePollingChannel}
			};
        	
			/**
			 * @desc Base CREATE request primitive for Schedule resource
			 */
        	template (value) RequestPrimitive m_createScheduleBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createSchedule",
        		resourceType := int18,
				primitiveContent := {schedule := m_contentCreateSchedule ({{"* * * * * * *"}})}
        	};
        	
        	template (value) RequestPrimitive m_createSchedule(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ScheduleEntries p_scheduleElement ) modifies m_create := {
        		to_ := p_parentResourceAddress,
				requestIdentifier := testcasename() & "-m_createSchedule",
        		resourceType := int18,
        		primitiveContent := {schedule := m_contentCreateSchedule (p_scheduleElement, p_name)}
        	};
        	
			/**
			 * @desc Reception template for CREATE ScheduleAnnc
			 */
			template RequestPrimitive mw_createScheduleAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10018,
				primitiveContent := {scheduleAnnc := mw_contentCreateScheduleAnncBase}
			};  
			
			template (value) RequestPrimitive m_createServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) modifies m_create := {
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRule",
				resourceType := int19,//FIXME Is this the correct value?
				primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRule (p_applicableCredIDs, p_allowedAppIDs, p_allowedAEs)}
			};
        	
			/**
			 * @desc Base CREATE request primitive for ServiceSubscribedAppRule Resource
			 */
			template (value) RequestPrimitive m_createServiceSubscribedAppRuleBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createServiceSubscribedAppRuleBase",
				resourceType := int19,
				primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRuleBase}
			};
       	
			/**
			 * @desc Base CREATE request primitive for Subscription resource
			 */
			template (value) RequestPrimitive m_createSubscriptionBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createSubscription",
				resourceType := int23,
				primitiveContent := {subscription := m_contentCreateSubscription ({"NotInitialized"})}
			};
        	
        	template (value) RequestPrimitive m_createSubscription(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name, in template (value) ListOfURIs p_notificationURI := {"NotInitialized"}) modifies m_create := {
        		to_ := p_parentResourceAddress,
				requestIdentifier := testcasename() & "-m_createSubscription",
        		resourceType := int23,
        		primitiveContent := {subscription := m_contentCreateSubscription (p_notificationURI, p_name)}
        	};
        	
        	/**
			 * @desc Reception template for CREATE Subscription
			 */
			template RequestPrimitive mw_createSubscription(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int23,
				primitiveContent := {subscription := mw_contentCreateSubscriptionBase}
			};
        	
			template (value) RequestPrimitive m_createSubscriptionAdvanced(	XSD.ID p_parentResourceAddress, 
																		   in template (omit)  XSD.String p_name := omit,
																		   in template (value) ListOfURIs p_notificationURI,
																		   in template (omit) EventNotificationCriteria p_eventNotificationCriteria := omit,
																		   in template (omit) XSD.PositiveInteger p_expirationCounter := omit,
																		   in template (omit) BatchNotify p_batchNotify := omit,
																		   in template (omit) XSD.Boolean p_latestNotify := omit,
																		   in template (omit) XSD.AnyURI p_subscriberURI := omit,
																		   in template (omit) NotificationContentType p_notificationContentType := int1,
			                                                               in template (omit) PendingNotification p_pendingNotification) modifies m_createSubscription := {
				primitiveContent := {subscription := m_contentCreateSubscriptionAdvanced (p_notificationURI, p_name, p_eventNotificationCriteria, p_expirationCounter, p_batchNotify, p_latestNotify, p_subscriberURI, p_notificationContentType, p_pendingNotification)}
			};
        	
        	/**
			 * @desc Base CREATE request primitive for Location Policy resource
			 */
			template (value) RequestPrimitive m_createLocationPolicyBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createLocationPolicy",
				resourceType := int10,
				primitiveContent := {locationPolicy := m_contentCreateLocationPolicyBase}
			};
        	
			template (value) RequestPrimitive m_createLocationPolicy(in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) modifies m_create := {
        		
				requestIdentifier	:= testcasename() & "-m_createLocationPolicy", //the requestIdentifier is supposed to be set similar as "C190XX7T/001"  by prepending the AE-ID-Stem and slash(‘/’) in front of it
        	  	resourceType		:= int10,
        	  	primitiveContent	:= {locationPolicy := m_contentCreateLocationPolicy(p_locationSource, p_accessControlPolicyIds, p_locationUpdatePeriod, p_locationTargetID, p_locationServerAddress) },
			  	resultContent := int1//default
        	};
        	
			/**
			 * @desc Reception template for CREATE LocationPolicyAnnc
			 */
			template RequestPrimitive mw_createLocationPolicyAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10010,
				primitiveContent := {locationPolicyAnnc := mw_contentCreateLocationPolicyAnncBase}
			}; 
			
        	template (value) RequestPrimitive m_createNotification(in template (value) Representation p_resourcePresentation, in template (omit)NotificationEventType p_notifEventType, in template (omit) XSD.AnyURI p_subscriptionReference, in template (omit) XSD.AnyURI p_notifForwardingURI) modifies m_create := {
			  requestIdentifier	:= testcasename() & "-m_createNotification",
        	  primitiveContent	:= {notification := m_contentCreateNotification(p_resourcePresentation, p_notifEventType, p_subscriptionReference, p_notifForwardingURI)},
        	  resultContent		:= int1 //default
        	  
        	};
        	
			/**
			 * @desc Reception template for SemanticDescriptor creation
			 */
			template RequestPrimitive mw_createSemanticDescriptor(template XSD.ID p_from := *, template XSD.ID p_to := ?, template SemanticDescriptor_optional p_semanticDescriptor := mw_contentCreateSemanticDescriptor) modifies mw_create := {
				resourceType := int24,
				primitiveContent := {semanticDescriptor := p_semanticDescriptor}
			};
			
			/**
			 * @desc Base CREATE request primitive for Stats Config resource
			 */
			template (value) RequestPrimitive m_createStatsConfigBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createStatsConfig",
				resourceType := int22,
				primitiveContent := {statsConfig := m_contentCreateStatsConfigBase}
			};
			
			/**
			 * @desc Base CREATE request primitive for Stats Config resource
			 */
			template (value) RequestPrimitive m_createStatsCollectBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createStatsCollect",
				resourceType := int21,
				primitiveContent := {statsCollect := m_contentCreateStatCollectBase}
			};
			
			/**
			 * @desc Base CREATE request primitive for M2mServiceSubscriptionProfile resource
			 */
			template (value) RequestPrimitive m_createM2mServiceSubscriptionProfileBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createM2mServiceSubscriptionProfile",
				resourceType := int11,
				primitiveContent := {m2mServiceSubscriptionProfile := m_contentCreatem2mServiceSubscriptionProfileBase}
			};
			
			/**
			 * @desc Base CREATE request primitive for timeSeries resource
			 */
			template (value) RequestPrimitive m_createTimeSeriesBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createTimeSeries",
				resourceType := int29,
				primitiveContent := {timeSeries := m_contentCreateTimeSeries ()}
			};
			
			/**
			 * @desc Base CREATE request primitive for timeSeriesAnnc resource
			 */
			template (value) RequestPrimitive m_createTimeSeriesAnncBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createTimeSeriesAnnc",
				resourceType := int10029,
				primitiveContent := {timeSeriesAnnc := m_contentCreateTimeSeriesAnnc()}
			};
        	
			template (value) RequestPrimitive m_createTimeSeries(in template (omit)  XSD.String p_name := c_defaultTimeSeriesResourceName,
																 in XSD.Boolean p_missingDataDetect := true,
																 in XSD.NonNegativeInteger p_periodicInterval := 5,
																 in XSD.NonNegativeInteger p_missingDataMaxNr := 5, 
																 in XSD.NonNegativeInteger p_missingDataDetectTimer := 2000) modifies m_createTimeSeriesBase := {
				primitiveContent := {timeSeries := m_contentCreateTimeSeriesAttributes (p_name, p_missingDataDetect, p_periodicInterval, p_missingDataMaxNr, p_missingDataDetectTimer)}
			};
        	
			/**
			 * @desc Reception template for CREATE timeSeries
			 */
			template RequestPrimitive mw_createTimeSeries(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int29,
				primitiveContent := {timeSeries := ?}
			};
			
			/**
			 * @desc Base CREATE request primitive for timeSeriesInstance resource
			 */
			template (value) RequestPrimitive m_createTimeSeriesInstanceBase modifies m_create := {
				requestIdentifier := testcasename() & "-m_createTimeSeriesInstance",
				resourceType := int30,
				primitiveContent := {timeSeriesInstance := m_contentCreateTimeSeriesInstance()}
			};
        	
			template (value) RequestPrimitive m_createTimeSeriesInstance(XSD.ID p_parentResourceAddress, in template (omit)  XSD.String p_name := c_defaultTimeSeriesInstanceResourceName) modifies m_create := {
				to_ := p_parentResourceAddress,
				requestIdentifier := testcasename() & "-m_createTimeSeriesInstance",
				resourceType := int30,
				primitiveContent := {timeSeriesInstance := m_contentCreateTimeSeriesInstance (p_name)}
			};
			
			/**
			 * @desc Reception template for CREATE timeSeriesInstance
			 */
			template RequestPrimitive mw_createTimeSeriesInstance(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int30,
				primitiveContent := {timeSeriesInstance := mw_contentCreateTimeSeriesInstanceBase}
			};
			
			/**
			 * @desc Base Reception template for CREATE TimeSeriesAnnc
			 */
			template RequestPrimitive mw_createTimeSeriesAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10029,
				primitiveContent := {timeSeriesAnnc := mw_contentCreateTimeSeriesAnncBase}
			};  
			
			/**
			 * @desc Base Reception template for CREATE TimeSeriesInstanceAnnc
			 */
			template RequestPrimitive mw_createTimeSeriesInstanceAnnc(template XSD.ID p_from := *, template XSD.ID p_to := ?) modifies mw_create := {
				resourceType := int10030,
				primitiveContent := {timeSeriesInstanceAnnc := mw_contentCreateTimeSeriesInstanceAnncBase}
			};  
			
    	}//end group Create
    	
    	group Delete {
    	
			template (value) RequestPrimitive m_delete(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_AE_ID) := {
        		operation := int4,
        		to_ := p_resourceAddress,
        		from_ := p_originator,
				requestIdentifier := testcasename() & "-m_delete",
        		resourceType := omit,
        		primitiveContent := omit, 
				roleIDs := omit, 
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit, 
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			};

			template  RequestPrimitive mw_delete(template XSD.ID p_resourceAddress := ?, template XSD.ID p_from := ?) := {
				operation := int4,
				to_ := p_resourceAddress,
				from_ := p_from,
				requestIdentifier := ?,
				resourceType := omit,
				primitiveContent := omit, 
				roleIDs := *, 
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := *,
				resultContent := *,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				desiredIdentifierResultType := *, 
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *,
				releaseVersionIndicator := ?,
				vendorInformation := *
        	};
        	
			/**
			  * @desc Base UPDATE request primitive for PollingChannel resource
			 */
			 template (value) RequestPrimitive m_deletePollingChannelBase(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_AE_ID) modifies m_delete := {
				requestIdentifier := "m_deletePollingChannel",
				primitiveContent:= {pollingChannel := m_contentDeletePollingChannel}
			 };
        	
    	}//end group Delete
    	
    	group Notify {
    		
			/**
			 * @desc Base NOTIFY request primitive
			 */
			template (value) RequestPrimitive m_notify(XSD.ID p_resourceAddress) := {
				operation := int5,
				to_ := p_resourceAddress,
				from_ := "NotInitialized",
				requestIdentifier := testcasename() & "-m_notify",
				resourceType := omit,
				primitiveContent := {notification := m_contentNotification_allOmit},
				roleIDs := omit,
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit,
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			};
			

			/**
			 * @desc Base NOTIFY request primitive
			 */
			template (value) RequestPrimitive m_notifyNotification(XSD.ID p_resourceAddress, template (value) Notification p_notification, template (omit) AbsRelTimestamp p_requestExpirationTimestamp := omit) modifies m_notify := {
				primitiveContent := {notification := p_notification},
				requestExpirationTimestamp := p_requestExpirationTimestamp//Needed for polling
			};
			
			/**
			 * @desc Base NOTIFY request primitive carrying a responsePrimitive
			 */
			template (value) RequestPrimitive m_notifyResponsePrimitive(XSD.ID p_resourceAddress, ResponsePrimitive p_responsePrimitive) modifies m_notify := {
				primitiveContent := {responsePrimitive := p_responsePrimitive}
			};
			
			/**
			 * @desc Base NOTIFY Aggregated request primitive
			 */
			template (value) RequestPrimitive m_notifyAggregatedNotification := {
				operation := int5,
				to_ := "NotInitialized",
				from_ := omit,
				requestIdentifier := testcasename() & "-m_notifyAggregatedNotification",
				resourceType := omit,
				primitiveContent := {aggregatedNotification := {notification_list := {m_contentNotification_allOmit,m_contentNotification_allOmit}}},
				roleIDs := omit,
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit,
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			};
    		
    		/**
			* @desc Base NOTIFY request primitive
			*/
			template RequestPrimitive mw_notify := {
				operation := int5,
				to_ := ?,
				from_ := *,
				requestIdentifier := ?,
				resourceType := omit,
				primitiveContent := {notification := mw_contentNotificationBase},
				roleIDs := *,
				originatingTimestamp := *,
				requestExpirationTimestamp := *,
				resultExpirationTimestamp := *,
				operationExecutionTime := *,
				responseType := *,
				resultPersistence := omit,
				resultContent := int0 ifpresent,
				eventCategory := *,
				deliveryAggregation := *,
				groupRequestIdentifier := *,
				filterCriteria := *,
				desiredIdentifierResultType := *,
				tokens := *,
				tokenIDs := *,
				localTokenIDs := *,
				tokenRequestIndicator := *,
				releaseVersionIndicator := ?,
				vendorInformation := *
			};
			
			/**
			 * @desc Base NOTIFY request primitive
			 */
			template  RequestPrimitive mw_notifyAggregatedNotification (in template  AggregatedNotification p_aggregatedNotification := ?) modifies mw_notify := {
				primitiveContent := { aggregatedNotification := p_aggregatedNotification}
			};
			
			/**
			 * @desc Base NOTIFY request primitive
			 */
			
			template  RequestPrimitive mw_notifyNotification(in template  Notification p_notification) modifies mw_notify := {
				primitiveContent := {notification := p_notification}
			};
			
			/**
			 * @desc Base NOTIFY request primitive for ResponsePrimitive
			 */

			template  RequestPrimitive mw_notifyResponsePrimitive(in template  ResponsePrimitive p_responsePrimitive) modifies mw_notify := {
				primitiveContent := {responsePrimitive := p_responsePrimitive}
			};		

			
    		
    	}//end of group Notify
	}//end group RequestPrimitives
	
	group ContentCreate {
		
		template (value) PrimitiveContent m_primitiveContentAe(template AE_optional p_ae) := {
			aE := valueof(p_ae)
		}
		
		template (value) PrimitiveContent m_primitiveContentContainer(template Container_optional p_container) := {
			container := valueof(p_container)
		}
		
		template (value) PrimitiveContent m_primitiveContentContentInstance(template ContentInstance_optional p_contentInstance) := {
			contentInstance := valueof(p_contentInstance)
		}
		            
        template (value) PrimitiveContent m_primitiveContentCSEBase(template CSEBase_optional p_cSEBase) := {
	        cSEBase := valueof(p_cSEBase)
		}

		template (value) PrimitiveContent m_primitiveContentRemoteCSE(template RemoteCSE_optional p_remoteCSE) := {
			remoteCSE := valueof(p_remoteCSE)
		}
		
		template (value) PrimitiveContent m_primitiveContentResponsePrimitive(template ResponsePrimitive p_responsePrimitive) := {
			responsePrimitive := valueof(p_responsePrimitive)
		}		
		
		template (value) PrimitiveContent m_primitiveContentGroup(template Group_optional p_group) := {
			group_ := valueof(p_group)
		}
				
		template PrimitiveContent mw_primitiveContent := ?;
		
		template PrimitiveContent mw_primitiveContentNotification (template Notification p_notification) := {
			notification := p_notification
		};
		
		 
		/**
		 * @desc Base primitiveContent for CREATE operation for AEAnnc resource
		 * @param p_labels Labels
		 * @param p_accessControlPolicyIds AcpIDs
		 * @param p_appId App ID
		 * @param p_nodeLink Node link
		 */
		template (value) AEAnnc_optional m_contentCreateAEAnnc (in template (omit)  Labels p_labels, in template (omit) AcpType p_accessControlPolicyIds, template (omit) XSD.ID p_appId := PX_TS_AE1.appId, in template (omit) XSD.AnyURI p_link := omit) := {
			resourceName := omit,//NA 
			resourceType := omit,//NA
			resourceID := omit,//NA
			parentID := omit,//NA
			creationTime := omit,//NA
			lastModifiedTime := omit,//NA
			labels := p_labels,//MA
			accessControlPolicyIDs := p_accessControlPolicyIds,//MA Special case, mandatory for announced resources
			expirationTime := "20301231T012345",//MA
			link := p_link,//M
			dynamicAuthorizationConsultationIDs := omit, //TODO Check whether it is optional or mandatory for create operation			
			appName := omit,//OA
			app_ID := p_appId,//OA
			aE_ID := omit,//OA
			pointOfAccess := omit, //{"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
			ontologyRef := omit,//OA
			nodeLink := omit,//OA
			requestReachability := omit,//OA
			contentSerialization := omit,//OA
			e2eSecInfo := omit, //MA TODO Check whether it is optional or mandatory for create operation
			supportedReleaseVersions := omit, //MA
			choice := omit//NP
		};	

		/**
		 * @desc Base reception template of primitiveContent for CREATE operation for AEAnnc resource
		 * @param p_labels Labels
		 * @param p_accessControlPolicyIds AcpIDs
		 * @param p_appId App ID
		 * @param p_nodeLink Node link
		 */
		template AEAnnc_optional mw_contentCreateAEAnnc (in template  Labels p_labels := *, in template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) := {
    		resourceName := omit,//NA M
    		resourceType := omit,//NA M
    		resourceID := omit,//NA M
    		parentID := omit,//NA M
    		creationTime := omit,//NA M
    		lastModifiedTime := omit,//NA M
    		labels := p_labels,//MA
    		accessControlPolicyIDs := p_accessControlPolicyIds,//MA
    		expirationTime := ?,//MA M
			link := p_link,//M
    		dynamicAuthorizationConsultationIDs := *, //OA			
			appName := *,//OA
			app_ID := *,//OA
			aE_ID := *,//OA
			pointOfAccess := *, //OA {"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
			ontologyRef := *,//OA
			nodeLink := *,//OA
			requestReachability := *,//OA
			contentSerialization := *,//OA
			e2eSecInfo := *, //MA
			supportedReleaseVersions := *, //MA//TODO It should be mandatory for AEAnnc
			choice := omit//NA
		};	
		
		/**
		 * @desc Base reception template of primitiveContent for CREATE operation for RemoteCSEAnnc resource
		 * @param p_labels Labels
		 * @param p_accessControlPolicyIds AcpIDs
		 * @param p_appId App ID
		 * @param p_nodeLink Node link
		 */
		template RemoteCSEAnnc_optional mw_contentCreateRemoteCSEAnnc (in template  Labels p_labels := *, in template AcpType p_accessControlPolicyIds := ?, template XSD.AnyURI p_link := ?) := {
			resourceName := omit,//NA M
			resourceType := omit,//NA M
			resourceID := omit,//NA M
			parentID := omit,//NA M
			creationTime := omit,//NA M
			lastModifiedTime := omit,//NA M
			labels := p_labels,//MA
			accessControlPolicyIDs := p_accessControlPolicyIds,//MA
			expirationTime := ?,//MA M
			link := p_link,//M
			dynamicAuthorizationConsultationIDs := omit, //OA			
			cseType := *,//OA
			pointOfAccess := *,//OA
			cSEBase := *,//
			cSE_ID := *,//OA
			requestReachability := *, //OA {"http://127.0.0.1:1400/monitor"},//O //{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
			nodeLink := *,//OA
			e2eSecInfo := ?,//OA
			supportedReleaseVersions := *, //OA
			choice := omit//NA
		};
		
    	/**
    	 * @desc Base primitiveContent for CREATE operation for AE resource
    	 * @param p_name Resource name
    	 * @param p_accessControlPolicyIds ACP IDs for the AE
    	 */
    	template (value) AE_optional m_contentCreateAe (in template (omit) AcpType p_accessControlPolicyIds, in template (omit)  XSD.String p_name := c_defaultAe1ResourceName, in XSD.ID p_appId := PX_TS_AE1.appId, in template (omit) PoaList p_poaList) := {

			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
    		dynamicAuthorizationConsultationIDs := omit, //O
    		announceTo := omit,//O
    		announcedAttribute := omit,//O
    		appName := omit,//O
			app_ID := p_appId,//M
    		aE_ID := omit,//NP
    		pointOfAccess := p_poaList, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
    		ontologyRef := omit,//O
    		nodeLink := omit,//NP
    		requestReachability := false,//M
    		contentSerialization := omit,//O
			e2eSecInfo := omit, //O
			supportedReleaseVersions := {"1", "2", "2a"}, //M
    		choice := omit//NP
    	};	

    	/**
    	 * @desc Base reception template of primitiveContent for CREATE operation for AE resource
    	 */
    	template AE_optional mw_contentCreateAeBase := {

			resourceName := *,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//O
    		dynamicAuthorizationConsultationIDs := *, //O
    		announceTo := *,//O
    		announcedAttribute := *,//O
    		appName := *,//O
			app_ID := ?,//M
    		aE_ID := omit,//NP
    		pointOfAccess := *, //O {"http://127.0.0.1:1400/monitor"},//{"http://192.168.1.92:18080/notifications/AE"}, // TODO: Check this => AE PoA
    		ontologyRef := *,//O
    		nodeLink := *,//NP
    		requestReachability := ?,//M
    		contentSerialization := *,//O
			e2eSecInfo := *, //O
			supportedReleaseVersions := ?, //M
    		choice := *//NP
    	};	
    	
    	/**
    	 * @desc Base primitiveContent for CREATE operation for AccessControlPolicy resource
    	 * @param p_name Resource name
    	 * @param p_acor Allowed originators
    	 * @param p_allowedOperations Allowed operations
    	 */
    	template (value) AccessControlPolicy_optional m_contentCreateAcp (in template (omit) XSD.String p_name := c_defaultAccessControlPolicyResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			privileges := {
				accessControlRule_list := {valueof(m_createAcr(p_acor, p_allowedOperations))}
			},//M
			selfPrivileges := {
				accessControlRule_list := {valueof(m_createAcr({"all"}, int63))}
			},//M
			choice := omit //NP
		};
		
		/**
		 * @desc Base primitiveContent for CREATE operation for AccessControlPolicyAnnc resource
		 * @param p_name Resource name
		 * @param p_acor Allowed originators
		 * @param p_allowedOperations Allowed operations
		 */
		template (value) AccessControlPolicyAnnc_optional m_contentCreateAcpAnnc (in template (omit) XSD.String p_name := c_defaultAccessControlPolicyAnncResourceName, in template (value) ListOfURIs p_acor := PX_ACOR, in template (value) AccessControlOperations p_allowedOperations := int63 ) := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit,//O
			link := omit,//M TODO Put the right value
			privileges := {
				accessControlRule_list := {valueof(m_createAcr(p_acor, p_allowedOperations))}
			},//M
			selfPrivileges := {
				accessControlRule_list := {valueof(m_createAcr({"all"}, int63))}
			},//M
			choice := omit //NP
		};
		
		/**
		 * @desc Base reception template of primitiveContent for CREATE operation for AccessControlPolicyAnnc resource
		 * @param p_labels Labels
		 */
		template AccessControlPolicyAnnc_optional mw_contentCreateAcpAnncBase (in template (omit)  Labels p_labels := omit) := {
			resourceName := omit,//NA M
			resourceType := omit,//NA M
			resourceID := omit,//NA M
			parentID := omit,//NA M
			creationTime := omit,//NA M
			lastModifiedTime := omit,//NA M
			labels := p_labels,//MA
			expirationTime := ?,//MA M
			link := ?,//M
			privileges := ?,//MA
			selfPrivileges := ?,//MA
			choice := omit//NA
		};	
		
		template (value) AccessControlRule m_createAcr (in template (value) ListOfURIs p_acor, in template (value) AccessControlOperations p_allowedOperations) := {
			accessControlOriginators := p_acor,//{"*"},//{PX_AE_ID_STEM}, //{"admin:admin"},
			accessControlOperations := p_allowedOperations,
			accessControlContexts_list := {},
			accessControlAuthenticationFlag := omit, 
			accessControlObjectDetails_list := {}
		}
    	
		/*template (value) CSEBase_optional m_contentCreateCSEBase (in template (value) ServiceSubscribedAppRule p_serviceSubscribedAppRule) := {
			resourceName := omit,
			resourceType := omit,
			resourceID := omit,
			parentID := omit,
			creationTime := omit,
			lastModifiedTime := omit,
			labels := omit,
			accessControlPolicyIDs := omit,
			cseType := omit,
			cSE_ID := omit,
			supportedResourceType := omit,
			pointOfAccess := omit,
			nodeLink := omit,
			e2eSecInfo := omit, 
			choice := {
				choice_list := {{
				  serviceSubscribedAppRule := p_serviceSubscribedAppRule
				}}
			}
		}*/
		
		/**
		 * @desc Base primitiveContent for CREATE operation for CSEBase resource
		 * @param p_name Resource name
		 */
		template (value) CSEBase_optional m_contentCreateCSEBase (in template (omit) XSD.String p_name := c_defaultResourceName):= {
			resourceName := p_name,//O
			resourceType := omit,
			resourceID := omit,
			parentID := omit,
			creationTime := omit,
			lastModifiedTime := omit,
			labels := omit,
			accessControlPolicyIDs := omit,
			cseType := omit,
			cSE_ID := omit,
			supportedResourceType := omit,
			pointOfAccess := omit,
			nodeLink := omit,
			dynamicAuthorizationConsultationIDs := omit,
			e2eSecInfo := omit, 
			supportedReleaseVersions := {"1", "2", "2a"},
			choice := omit
		};
		
		/**
		 * @desc Base primitiveContent for CREATE operation for PollingChannel resource
		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
		 * @param p_name Resource name
		 */
		template (value) Delivery_optional m_contentCreateDelivery (in template (omit) XSD.String p_name := c_defaultDeliveryResourceName, 
																	in template (omit) AcpType p_accessControlPolicyIds,
																	in template (value) XSD.ID p_source,
																	in template (value) XSD.ID p_target,
																	in template (value) Timestamp p_lifespan,
																	in template (value) EventCat p_eventCat,
																	in template (value) DeliveryMetaData p_deliveryMetaData) := {
			
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit,//O
			source := p_source,//M
			target := p_target,//M
			lifespan := p_lifespan,//M
			eventCat := p_eventCat,//M
			deliveryMetaData := p_deliveryMetaData,//M
			aggregatedRequest := omit,//O
			choice := omit//NP
			
		};   
    	
		/**
		 * @desc Base primitiveContent for CREATE operation for GenericInterworkingService resource
		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
		 * @param p_name Resource name
		 */
		template (value) GenericInterworkingService_optional m_contentCreateGenericInterworkingService (in template (omit) XSD.String p_name := c_defaultGenericInterworkingServiceResourceName, 
																	in template (omit) AcpType p_accessControlPolicyIds := omit) := {
			
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//NP
			creator := omit,//O
			containerDefinition := PX_CND_GENERIC_INTERWORKING_SERVICE,//M
			ontologyRef := omit,//O
			contentSize := omit,//NP
			serviceName := "MyService",//M??
			inputDataPointLinks := omit,//O
			outputDataPointLinks := omit,//O		
			choice := omit//NP
			
		};

    	/**
    	 * @desc Base primitiveContent for CREATE operation for Group resource
    	 * @param p_maxNrOfMembers Max number of members
    	 * @param p_memberIds Member IDs
    	 * @param p_accessControlPolicyIds ACP IDs for the Group
    	 * @param p_name Resource name
    	 */
    	template (value) Group_optional m_contentCreateGroup (	in template (value) XSD.PositiveInteger p_maxNrOfMembers,
    															in template (value) ListOfURIs p_memberIds,
    															in template (omit) AcpType p_accessControlPolicyIds,
    															in template (omit) MemberType p_memberType := omit,
    															in template (omit) ConsistencyStrategy p_consistencyStrategy := omit,
    															in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
																in template (omit) XSD.String p_name := c_defaultGroupResourceName) := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
    		dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			creator := omit,//O
			memberType := p_memberType,//O
			currentNrOfMembers := omit,//NP
			maxNrOfMembers := p_maxNrOfMembers,//M
			memberIDs := p_memberIds,//M
			membersAccessControlPolicyIDs := p_membersAccessControlPolicyIDs,//O
			memberTypeValidated := omit,//NP
			consistencyStrategy := p_consistencyStrategy,//O
			groupName := omit,//O
			semanticSupportIndicator := omit,//O
			notifyAggregation := omit,//O
			choice := omit//NP
    	};  
    	

		/**
		 * @desc Base primitiveContent for CREATE operation for Group resource
		 * @param p_maxNrOfMembers Max number of members
		 * @param p_memberIds Member IDs
		 * @param p_accessControlPolicyIds ACP IDs for the Group
		 * @param p_name Resource name
		 */
		template Group_optional mw_contentCreateGroupBase := {
			resourceName := *,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//O
			dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//O
			creator := *,//O
			memberType := *,//O
			currentNrOfMembers := omit,//NP
			maxNrOfMembers := ?,//M
			memberIDs := ?,//M
			membersAccessControlPolicyIDs := *,//O
			memberTypeValidated := omit,//NP
			consistencyStrategy := *,//O
			groupName := *,//O
			semanticSupportIndicator := *,//O
			notifyAggregation := *,//O
			choice := omit//NP
		};  
    	
    	
		/**
		 * @desc Base primitiveContent for CREATE operation for GroupAnnc resource
		 * @param p_maxNrOfMembers Max number of members
		 * @param p_memberIds Member IDs
		 * @param p_accessControlPolicyIds ACP IDs for the GroupAnnc
		 * @param p_name Resource name
		 */
		template (value) GroupAnnc_optional m_contentCreateGroupAnnc (	in template (value) XSD.PositiveInteger p_maxNrOfMembers,
																in template (value) ListOfURIs p_memberIds,
																in template (omit) AcpType p_accessControlPolicyIds,
																in template (omit) MemberType p_memberType := omit,
																in template (omit) ConsistencyStrategy p_consistencyStrategy := omit,
																in template (omit) ListOfURIs p_membersAccessControlPolicyIDs := omit,
																in template (omit) XSD.String p_name := c_defaultGroupAnncResourceName) := {	
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			link := omit,//M TODO Put the right value
			dynamicAuthorizationConsultationIDs := omit, //O
			memberType := p_memberType,//O
			currentNrOfMembers := omit,//NP
			maxNrOfMembers := p_maxNrOfMembers,//M
			memberIDs := p_memberIds,//M
			membersAccessControlPolicyIDs := p_membersAccessControlPolicyIDs,//O
			memberTypeValidated := omit,//NP
			consistencyStrategy := p_consistencyStrategy,//O
			groupName := omit,//O
			semanticSupportIndicator := omit,//O
			notifyAggregation := omit,//O
			choice := omit//NP
		};  
    	
		  /**
		  * @desc Base reception template of primitiveContent for CREATE operation for GroupAnnc resource
		  */
		  template GroupAnnc_optional mw_contentCreateGroupAnncBase := {
			  resourceName := omit,//NA M
			  resourceType := omit,//NA M
			  resourceID := omit,//NA M
			  parentID := omit,//NA M
			  creationTime := omit,//NA M
			  lastModifiedTime := omit,//NA M
			  labels := *,//MA
			  accessControlPolicyIDs := ?,//MA
			  expirationTime := ?,//MA M
			  link := ?,
			  dynamicAuthorizationConsultationIDs := *, //OA
			  memberType := *, //OA
			  currentNrOfMembers := *, //OA
			  maxNrOfMembers := *, //OA
			  memberIDs := *, //OA
			  membersAccessControlPolicyIDs := *, //OA
			  memberTypeValidated := *, //OA
			  consistencyStrategy := *, //OA
			  groupName := *, //OA
			  semanticSupportIndicator := *,//OA
			  notifyAggregation := omit,//OA
			  choice := omit //NA
		  };
    	
		/**
		 * @desc Base primitiveContent for CREATE operation for MgmtObj resource
		 * @param p_name Resource name
		 * @param p_accessControlPolicyIds ACP IDs for the AE
		 */
		template (value) MgmtResource_optional m_contentCreateMgmtObj (in template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit)  XSD.String p_name := c_defaultMgmtObjResourceName) := {
			
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			mgmtDefinition := omit,//O
			objectIDs := omit,//O
			objectPaths := omit,//O
			description := omit//O
		};	  	
		
		/**
		 * @desc Base primitiveContent for CREATE operation for MgmtCmd resource
		 * @param p_name Resource name
		 * @param p_accessControlPolicyIds ACP IDs for the AE
		 */
		template (value) MgmtResource_optional m_contentCreateMgmtCmd (in template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit)  XSD.String p_name := c_defaultMgmtCmdResourceName) := {
			
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			mgmtDefinition := omit,//O
			objectIDs := omit,//O
			objectPaths := omit,//O
			description := omit//O
		};
		
		/**
		 * @desc Base reception template of primitiveContent for CREATE operation for MgmtObjAnnc resource
		 */
		template AnnouncedMgmtResource_optional mw_contentCreateMgmtObjAnncBase := {
			resourceName := omit,//NA M
			resourceType := omit,//NA M
			resourceID := omit,//NA M
			parentID := omit,//NA M
			creationTime := omit,//NA M
			lastModifiedTime := omit,//NA M
			labels := *,//MA
			accessControlPolicyIDs := ?,//MA
			expirationTime := ?,//MA M
			link := ?,
			dynamicAuthorizationConsultationIDs := *, //OA
			mgmtDefinition := ?, //MA
			objectIDs := *, //OA
			objectPaths := *, //OA
			description := * //OA
		};
		
		/**
		 * @desc Base primitiveContent for CREATE operation for Node resource
		 * @param p_name Resource name
		 * @param p_accessControlPolicyIds ACP IDs for the AE
		 */
		template (value) Node_optional m_contentCreateNode (in template (omit) AcpType p_accessControlPolicyIds := omit, in template (omit)  XSD.String p_name := c_defaultNodeResourceName, in template (omit) XSD.ID p_nodeId := "NodeID") := {//TODO Create PX for NodeID
			
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			nodeID := p_nodeId,//M
			hostedCSELink := omit,//O
			mgmtClientAddress := omit,//O
			choice := omit//O
		};	  	

		/**
		 * @desc Base reception template primitiveContent for CREATE operation for Node resource
		 * @param p_name Resource name
		 */
		template Node_optional mw_contentCreateNodeBase (template XSD.String p_name := *) := {
			
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//O
			dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//O
			nodeID := ?,//M
			hostedCSELink := *,//O
			mgmtClientAddress := omit,//O
			choice := *//O
		};	
		
		/**
		 * @desc Base reception template primitiveContent for CREATE operation for NodeAnnc resource
		 * @param p_name Resource name
		 */
		template NodeAnnc_optional mw_contentCreateNodeAnncBase := {
			
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := ?,//M
			accessControlPolicyIDs := ?,//M
			expirationTime := ?,//M
			dynamicAuthorizationConsultationIDs := *, //O
			link := ?,//M
			nodeID := ?,//M
			hostedCSELink := *,//O
			mgmtClientAddress := *,//O
			choice := omit//NP
		};	
    	
    	/**
    	 * @desc Base primitiveContent for CREATE operation for PollingChannel resource
    	 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
    	 * @param p_name Resource name
    	 */
    	template (value) PollingChannel_optional m_contentCreatePollingChannel (in template (omit) XSD.String p_name := c_defaultPollingChannelResourceName) := {
			resourceName := p_name,//O
            resourceType := omit,//NP
            resourceID := omit,//NP
            parentID := omit,//NP
            creationTime := omit,//NP
            lastModifiedTime := omit,//NP
            labels := omit,//O
            expirationTime := omit//O
    	};   	   	
    	
		/**
		 * @desc Base reception template of primitiveContent for CREATE operation for PollingChannel resource
		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
		 * @param p_name Resource name
		 */
		template PollingChannel_optional mw_contentCreatePollingChannel := {
			resourceName := *,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			expirationTime := *//O
		};   	   	
    	
    	/**
    	 * @desc Base primitiveContent for CREATE operation for Schedule resource
    	 * @param p_scheduleElement Schedule
    	 * @param p_name Resource name
    	 */
    	template (value) Schedule_optional m_contentCreateSchedule (in template (value) ScheduleEntries p_scheduleElement,
																	in template (omit) XSD.String p_name := c_defaultScheduleResourceName) := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			scheduleElement := p_scheduleElement,//M
			choice := omit//NP
    	};  
    	
		/**
		 * @desc Base reception template of primitiveContent for CREATE operation for ScheduleAnnc resource
		 */
		template ScheduleAnnc_optional mw_contentCreateScheduleAnncBase := {
			resourceName := omit,//NA M
			resourceType := omit,//NA M
			resourceID := omit,//NA M
			parentID := omit,//NA M
			creationTime := omit,//NA M
			lastModifiedTime := omit,//NA M
			labels := *,//MA
			expirationTime := ?,//MA M
			link := ?,
			scheduleElement := * //OA
		};  	
    	
		template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRule (in ListOfM2MID p_applicableCredIDs, in ListOfM2MID p_allowedAppIDs, in ListOfM2MID p_allowedAEs) := {
		  	resourceName := omit,//TODO TS-0004 7.4.29.1 2 Missing attribute
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
    		dynamicAuthorizationConsultationIDs := omit, //O
			applicableCredIDs := p_applicableCredIDs,//O
			allowedApp_IDs := p_allowedAppIDs,//O
			allowedAEs := p_allowedAEs,//O
			allowedRole_IDs := omit,//O
			choice := omit //O
		}
		
		/**
		 * @desc Base primitiveContent for CREATE operation for StatsConfig resource
		 * @param p_name Resource name
		 */
		template (value) StatsConfig_optional m_contentCreateStatsConfig (in template (omit) XSD.String p_name := c_defaultStatsConfigResourceName) := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			creator := omit,//O
			choice := omit//O
		};  
    	

    	/**
    	 * @desc Base primitiveContent for CREATE operation for Subscription resource
    	 * @param p_notificationURI Notification URI
    	 * @param p_name Resource name
    	 */
    	template (value) Subscription_optional m_contentCreateSubscription (in template (value) ListOfURIs p_notificationURI,
																			in template (omit) XSD.String p_name := c_defaultSubscriptionResourceName) := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
    		dynamicAuthorizationConsultationIDs := omit, //O
			creator := omit,//O
			eventNotificationCriteria := omit,//O
			expirationCounter := omit,//O
			notificationURI := p_notificationURI,//M
			groupID := omit,//O
			notificationForwardingURI := omit,//O
			batchNotify := omit,//O
			rateLimit := omit,//O
			preSubscriptionNotify := omit,//O
			pendingNotification := omit,//O
			notificationStoragePriority := omit,//O
			latestNotify := omit,//O
			notificationContentType := omit, //O
			notificationEventCat := omit,//O
			subscriberURI := omit,//O
			choice := omit//NP
    	};   	
    	
		/**
		 * @desc Base reception template primitiveContent for CREATE operation for Subscription resource
		 * @param p_notificationURI Notification URI
		 * @param p_name Resource name
		 */
		template Subscription_optional mw_contentCreateSubscriptionBase (template XSD.String p_name := *) := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//O
    		dynamicAuthorizationConsultationIDs := *, //O
			creator := *,//O
			eventNotificationCriteria := *,//O
			expirationCounter := *,//O
			notificationURI := ?,//M
			groupID := *,//O
			notificationForwardingURI := *,//O
			batchNotify := *,//O
			rateLimit := *,//O
			preSubscriptionNotify := *,//O
			pendingNotification := *,//O
			notificationStoragePriority := *,//O
			latestNotify := *,//O
			notificationContentType := *, //O
			notificationEventCat := *,//O
			subscriberURI := *,//O
			choice := *//O
		};   	

		template (value) Subscription_optional m_contentCreateSubscriptionAdvanced (in template (value) ListOfURIs p_notificationURI,
																					in template (omit)  XSD.String p_name := c_defaultSubscriptionResourceName,
																					in template (omit) EventNotificationCriteria p_eventNotificationCriteria,
																					in template (omit) XSD.PositiveInteger p_expirationCounter,
																					in template (omit) BatchNotify p_batchNotify,
																					in template (omit) XSD.Boolean p_latestNotify,
																					in template (omit) XSD.AnyURI p_subscriberURI,
																					in template (omit) NotificationContentType p_notificationContentType,
		                                                                            in template (omit) PendingNotification p_pendingNotification) modifies m_contentCreateSubscription := {
			eventNotificationCriteria := p_eventNotificationCriteria,//O
			expirationCounter := p_expirationCounter,//O
			batchNotify := p_batchNotify,//O
			pendingNotification := p_pendingNotification,//O
			latestNotify := p_latestNotify,//O
			notificationContentType := p_notificationContentType, //TODO Set to omit once xsd is fixed,//O
			subscriberURI := p_subscriberURI//O
		}; 
		
		template (value) EventNotificationCriteria m_eventNotificationCriteria ( in EventNotificationCriteria.notificationEventType_list p_notificationEventType_list := {}, template (omit) EventNotificationCriteria.attribute p_attribute_list := omit) := { //the parameter should be a list of NotificationEventTypeEventType
			createdBefore := omit,
			createdAfter := omit,
			modifiedSince := omit,
			unmodifiedSince := omit,
			stateTagSmaller := omit,
			stateTagBigger := omit,
			expireBefore := omit,
			expireAfter := omit,
			sizeAbove := omit,
			sizeBelow := omit,
			operationMonitor_list := {},
			attribute := p_attribute_list, 
			notificationEventType_list := p_notificationEventType_list,// TODO this list should be able to be omited see 9.6.8 (TS0001)
			missingData := omit,
			filterOperation := omit
		};
        
		template (value) BatchNotify m_batchNotify (in XSD.NonNegativeInteger p_number, in XSD.Duration p_duration := "PT20S") := {
			number := p_number,
			duration := p_duration //TODO duration has to be set to 1s and match to the Duration regex 
		};
		//normaly duration can be omited
		
		
         	
    	
    	/**
    	 * @desc Base primitiveContent for CREATE operation for ContentInstance resource
    	 * @param p_primitiveContent Content for the ContentInstance
    	 */
    	template (value) ContentInstance_optional m_contentCreateContentInstance(in template (omit) XSD.String p_name := c_defaultContentInstanceResourceName, XSD.String p_primitiveContent := "AnyValue") := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//NP
			creator := omit,//O
			contentInfo := "text/strings:0",//O
			contentSize := omit,//NP
			contentRef := omit, //O
			ontologyRef := omit,//O
			content := p_primitiveContent,//M
			choice := omit //O
		};

		/**
		 * @desc Base reception template primitiveContent for CREATE operation for ContentInstance resource
		 * @param p_primitiveContent Content for the ContentInstance
		 */
		template ContentInstance_optional mw_contentCreateContentInstanceBase(template XSD.String p_name := *) := {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			expirationTime := *,//O
			announceTo := *,//O
			announcedAttribute := *,//O
			stateTag := omit,//NP
			creator := *,//O
			contentInfo := *,//O
			contentSize := omit,//NP
			contentRef := *, //O
			ontologyRef := *,//O
			content := ?,//M
			choice := * //O
		};
					
		/**
		 * @desc Base primitiveContent for CREATE operation for ContentInstanceAnnc resource
		 * @param p_primitiveContent Content for the ContentInstanceAnnc
		 */
		template ContentInstanceAnnc_optional mw_contentCreateContentInstanceAnncBase := {
			resourceName := omit,//NA M
			resourceType := omit,//NA M
			resourceID := omit,//NA M
			parentID := omit,//NA M
			creationTime := omit,//NA M
			lastModifiedTime := omit,//NA M
			labels := *,//MA
			expirationTime := omit,//O NA
			link := omit, //O NA
			stateTag := *,// OA
			contentInfo := *,//OA
			contentSize := *,//OA
			ontologyRef := *,//OA
			content := *, //OA
			choice := omit //O
		};
		
    	/**
    	 * @desc Base primitiveContent for CREATE operation for Container resource
    	 * @param p_name Resource name
    	 */
    	template (value) Container_optional m_contentCreateContainer (in template (omit) XSD.String p_name := c_defaultContainerResourceName):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
    		dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//NP
			creator := omit,//O
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			locationID := omit,//O
			ontologyRef := omit,//O
			disableRetrieval := omit, //O
			choice := omit//NP
    	};
    	
		/**
		 * @desc Base primitiveContent for CREATE operation for ContainerAnnc resource
		 * @param p_name Resource name
		 */
		template (value) ContainerAnnc_optional m_contentCreateContainerAnnc (in template (omit) XSD.String p_name := c_defaultContainerAnncResourceName):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			link := omit,//M TODO Put the right value
			dynamicAuthorizationConsultationIDs := omit, //O
			stateTag := omit,//NP
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			locationID := omit,//O
			ontologyRef := omit,//O
			disableRetrieval := omit, //O
			choice := omit//NP
		};
		
		/**
		 * @desc Base reception template primitiveContent for CREATE operation for Container resource
		 * @param p_name Resource name
		 */
		template Container_optional mw_contentCreateContainerBase (template XSD.String p_name := *):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//O
			dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//O
			stateTag := omit,//NP
			creator := *,//O
			maxNrOfInstances := *,//O
			maxByteSize := *,//O
			maxInstanceAge := *,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			locationID := *,//O
			ontologyRef := *,//O
			disableRetrieval := *, //O
			choice := *//NP
		};
    	
		/**
		 * @desc Base primitiveContent for invalid CREATE operation for Container resource (using Container_update_invalid)
		 * @param p_name Resource name
		 */
		template (value) Container_invalid m_contentCreateContainerInvalid (in template (omit) XSD.String p_name := c_defaultContainerResourceName):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			expirationCounter := omit,//Field not existing in container resource
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//NP
			creator := omit,//O
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			locationID := omit,//O
			ontologyRef := omit,//O
			disableRetrieval := omit,//O
			choice := omit//NP
		};
    	
		/**
		 * @desc Base primitiveContent for CREATE operation for RemoteCSE resource
		 * @param p_name Resource name
		 */
		template (value) RemoteCSE_optional m_contentCreateRemoteCSE (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit,
			announceTo := omit,//O
			announcedAttribute := omit,//O
			cseType := omit,//O
			pointOfAccess := omit,//O
			cSEBase := valueof(p_cSEBase),//M
			cSE_ID := omit,//O
			m2M_Ext_ID := omit,//O
			trigger_Recipient_ID := omit,//O
			requestReachability := false,//M
			nodeLink := omit,//O
			triggerReferenceNumber := omit,//O
			e2eSecInfo := omit,//O
			supportedReleaseVersions := {"1", "2", "2a"}, //M
			choice := omit//O
		};
    	
		/**
		 * @desc PrimitiveContent for CREATE operation for RemoteCSE resource with poa
		 * @param p_name Resource name
		 */
		template (value) RemoteCSE_optional m_contentCreateRemoteCSE_poa (in template (omit) XSD.String p_name := c_defaultRemoteCSEResourceName, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.AnyURI p_cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName, in PoaList p_poaList):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit,
			announceTo := omit,//O
			announcedAttribute := omit,//O
			cseType := omit,//O
			pointOfAccess := p_poaList,//O
			cSEBase := valueof(p_cSEBase),//M
			cSE_ID := omit,//O
			m2M_Ext_ID := omit,//O
			trigger_Recipient_ID := omit,//O
			requestReachability := true,//M
			nodeLink := omit,//O
			triggerReferenceNumber := omit,//O
			e2eSecInfo := omit,//O
			supportedReleaseVersions := {"1", "2", "2a"}, //M
			choice := omit//O
		};
		
		/**
		* @desc Base reception template of primitiveContent for CREATE operation for remoteCSE resource
		*/
		template RemoteCSE_optional mw_contentCreateRemoteCSEBase := {
			resourceName := *,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//O
			dynamicAuthorizationConsultationIDs := *,//O
			announceTo := *,//O
			announcedAttribute := *,//O
			cseType := *,//O
			pointOfAccess := *,//O
			cSEBase := ?,//M
			cSE_ID := *,//O
			m2M_Ext_ID := *,//O
			trigger_Recipient_ID := *,//O
			requestReachability := ?,//M
			nodeLink := *,//O
			triggerReferenceNumber := *,//O
			e2eSecInfo := *,//O
			supportedReleaseVersions := ?, //M
			choice := *//O
		};
		
		/**
		* @desc Base reception template of primitiveContent for CREATE operation for ContainerAnnc resource
		*/
		template ContainerAnnc_optional mw_contentCreateContainerAnncBase := {
			resourceName := omit,//NA M
			resourceType := omit,//NA M
			resourceID := omit,//NA M
			parentID := omit,//NA M
			creationTime := omit,//NA M
			lastModifiedTime := omit,//NA M
			labels := *,//MA M
			accessControlPolicyIDs := ?,//MA
			expirationTime := ?,//MA M
			link := ?, //M
			dynamicAuthorizationConsultationIDs := *, //OA
			stateTag := *,	//OA
			maxNrOfInstances := *,	//OA
			maxByteSize := *, //OA
			maxInstanceAge := *, //OA
			currentNrOfInstances := *, //OA
			currentByteSize := *, //OA
			locationID := *, //OA
			ontologyRef := *, //OA
			disableRetrieval := *, //OA
			choice := omit //NA
		};
    	
		template (value) LocationPolicy_optional m_contentCreateLocationPolicy (in template (value) LocationSource p_locationSource, in template (omit) AcpType p_accessControlPolicyIds, in template (omit) XSD.Duration p_locationUpdatePeriod, in template (omit) LocationTargetID p_locationTargetID, in template (omit) XSD.AnyURI p_locationServerAddress) := {
    	  	resourceName 				:= c_defaultLocationPolicyResourceName, //O
    	  	resourceType				:= omit, //NP
    	    resourceID					:= omit, //NP
    	    parentID					:= omit, //NP
    	  	creationTime				:= omit, //NP
    	  	lastModifiedTime			:= omit, //NP
    	  	labels 						:= PX_LABELS,//O
    	  	accessControlPolicyIDs 	:= p_accessControlPolicyIds, //O
 	  	  	expirationTime 			:= omit, //O
      		dynamicAuthorizationConsultationIDs := omit, //O
    	  	announceTo 				:= omit, 				   //O
    	  	announcedAttribute		:= omit, 			      //O
    		locationSource 			:= p_locationSource, //M
    		locationInformationType := omit,//O
    		locationUpdatePeriod 		:= {valueof(p_locationUpdatePeriod)}, //O
    		locationTargetID 			:= p_locationTargetID, 	//O
    		locationServer 			:= p_locationServerAddress,//O
    		locationContainerID		:= omit,    		   //NP
    		locationContainerName 	:= PX_LOCATION_CONTAINER_NAME,//O    		
    	  	locationStatus				:= omit,              //NP
    	  	geographicalTargetArea  := omit,//O
    	  	geofenceEventCriteria   := omit,//O
    	    choice 					:= omit  	         //NP
    	   	  	
    	};
    	
		template (value) LocationPolicy_optional m_contentCreateLocationPolicyBase := {
				resourceName 				:= c_defaultLocationPolicyResourceName, //O
				resourceType				:= omit, //NP
				resourceID					:= omit, //NP
				parentID					:= omit, //NP
				creationTime				:= omit, //NP
				lastModifiedTime			:= omit, //NP
				labels 						:= PX_LABELS,//O
				accessControlPolicyIDs 	:= omit, //O
				expirationTime 			:= omit, //O
				dynamicAuthorizationConsultationIDs := omit, //O
				announceTo 				:= omit, 				   //O
				announcedAttribute		:= omit, 			      //O
				locationSource 			:= int1, //M
				locationInformationType := omit,//O
				locationUpdatePeriod 		:= omit, //O
				locationTargetID 			:= omit, 	//O
				locationServer 			:= omit,//O
				locationContainerID		:= omit,    		   //NP
				locationContainerName 	:= PX_LOCATION_CONTAINER_NAME,//O    		
				locationStatus				:= omit,              //NP
	    	  	geographicalTargetArea  := omit,//O
    		  	geofenceEventCriteria   := omit,//O
				choice 					:= omit  	         //NP
			};
    	
	  /**
	  * @desc Base reception template of primitiveContent for CREATE operation for LocationPolicyAnnc resource
	  */
	  template LocationPolicyAnnc_optional mw_contentCreateLocationPolicyAnncBase := {
		  resourceName := omit,//NA M
		  resourceType := omit,//NA M
		  resourceID := omit,//NA M
		  parentID := omit,//NA M
		  creationTime := omit,//NA M
		  lastModifiedTime := omit,//NA M
		  labels := *,//MA
		  accessControlPolicyIDs := ?,//MA
		  expirationTime := ?,//MA M
		  link := ?,
		  dynamicAuthorizationConsultationIDs := *, //OA
		  locationSource := *, //OA
		  locationInformationType := *,//OA
		  locationUpdatePeriod := *, //OA
		  locationTargetID := *, //OA
		  locationServer := *, //OA
		  locationContainerID := *, //OA
		  locationContainerName := *, //OA
		  locationStatus := *,	//OA
		  geographicalTargetArea  := *,//OA
    	  geofenceEventCriteria   := *//OA
		  
	  };
    	
    	template (value) Notification m_contentCreateNotification (in template (value) Representation p_resourcePresentation, 
    																in template (omit) NotificationEventType p_notifEventType, 
    																in template (omit) XSD.AnyURI p_subReference, 
    																in template (omit) XSD.AnyURI p_notifForwardingURI) := {
    	  notificationEvent := {
    	    representation := p_resourcePresentation,
        	operationMonitor := {
        		operation := omit,
        	    originator := omit
        	},
        	notificationEventType := p_notifEventType    	    
    	  },
    	  verificationRequest := omit,
    	  subscriptionDeletion := omit,
    	  subscriptionReference := p_subReference,
    	  creator := omit,
    	  notificationForwardingURI := p_notifForwardingURI,
		  notificationTarget := omit,
		  targetRemovalRequest := omit,
		  targetRemovalAllowance := omit,
    	  iPEDiscoveryRequest := omit
    	};
    			
		/**
		 * @desc 	Base primitiveContent for CREATE operation for SemanticDescriptor resource
		 */
		template SemanticDescriptor_optional mw_contentCreateSemanticDescriptor := {			
			resourceName := *,                              //O
			resourceType := omit,                           //NP
			resourceID := omit,                             //NP
			parentID := omit,                               //NP
			creationTime := omit,                           //NP
			lastModifiedTime := omit,                       //NP
			labels := *,                                    //O
			accessControlPolicyIDs := *,                    //O
			expirationTime := *,                            //O
			dynamicAuthorizationConsultationIDs := *,       //?
			announceTo := *,                                //O
			announcedAttribute := *,                        //O
			creator := *,                                   //O
			descriptorRepresentation := ?,                  //M
			semanticOpExec := omit,                         //NP
			descriptor := ?,                                //M
			ontologyRef := *,                               //O
			relatedSemantics := *,                          //O
			choice := *                                     //?
		} 
		
		/**
		 * @desc  primitiveContent for CREATE operation for SemanticDescriptor resource, with specific OntologyRef
		 * @param p_ontologyRef  Expected OntologyRef value
		 */
		template SemanticDescriptor_optional mw_contentCreateSemanticDescriptor_ontologyRef(template XSD.AnyURI p_ontologyRef) modifies mw_contentCreateSemanticDescriptor := {
			ontologyRef := p_ontologyRef
		}  
		
		/**
			 * @desc Base primitiveContent for CREATE operation for StatConfig resource
			 * @param p_primitiveConten t Content for the StatConfig
			 */
		template (value) StatsConfig_optional m_contentCreateStatsConfigBase := {
			resourceName 				:= c_defaultStatsConfigResourceName, //O
			resourceType				:= omit, //NP
			resourceID					:= omit, //NP
			parentID					:= omit, //NP
			creationTime				:= omit, //NP
			lastModifiedTime			:= omit, //NP
			labels 						:= PX_LABELS,//O
			accessControlPolicyIDs 	:= omit, //O
			expirationTime 			:= omit, //O
			dynamicAuthorizationConsultationIDs := omit, //O
			creator                 := omit,
			choice 					:= omit  	         //NP
		};
		
		/**
			 * @desc Base primitiveContent for CREATE operation for StatCollect resource
			 * @param p_primitiveContent Content for the StatCollect
			 */
		template (value) StatsCollect_optional m_contentCreateStatCollectBase := {
			resourceName 				:= c_defaultStatsCollectResourceName, //O
			resourceType				:= omit, //NP
			resourceID					:= omit, //NP
			parentID					:= omit, //NP
			creationTime				:= omit, //NP
			lastModifiedTime			:= omit, //NP
			labels 						:= PX_LABELS,//O
			accessControlPolicyIDs 	:= omit, //O
			expirationTime 			:= omit, //O
			dynamicAuthorizationConsultationIDs := omit, //O
			creator                 := omit,
			statsCollectID          := omit,
			collectingEntityID      := omit,
			collectedEntityID       := omit,
			statsRuleStatus         := omit,
			statModel               := omit,
			collectPeriod           := omit,
			eventID                 := omit,
			choice 					:= omit  	         //NP
		};
		
		/**
			 * @desc Base primitiveContent for CREATE operation for M2mServiceSubscriptionProfile resource
			 * @param p_primitiveContent Content for the M2mServiceSubscriptionProfile
			 */
		template (value) M2mServiceSubscriptionProfile_optional m_contentCreatem2mServiceSubscriptionProfileBase := {
			resourceName 				:= c_defaultm2mServiceSubscriptionProfileResourceName, //O
			resourceType				:= omit, //NP
			resourceID					:= omit, //NP
			parentID					:= omit, //NP
			creationTime				:= omit, //NP
			lastModifiedTime			:= omit, //NP
			labels 						:= PX_LABELS,//O
			accessControlPolicyIDs 	:= omit, //O
			expirationTime 			:= omit, //O
			dynamicAuthorizationConsultationIDs := omit, //O
			choice 					:= omit  	         //NP
		};
		
		/**
		  * @desc Base primitiveContent for CREATE operation for ServiceSubscribedAppRule_optional resource
		  * @param p_primitiveContent Content for the ServiceSubscribedAppRule_optional
		 */
		template (value) ServiceSubscribedAppRule_optional m_contentCreateServiceSubscribedAppRuleBase := {
			resourceName 				:= c_defaultServiceSubscribedAppRuleResourceName, //O
			resourceType				:= omit, //NP
			resourceID					:= omit, //NP
			parentID					:= omit, //NP
			creationTime				:= omit, //NP
			lastModifiedTime			:= omit, //NP
			labels 						:= PX_LABELS,//O
			accessControlPolicyIDs 	:= omit, //O
			expirationTime 			:= omit, //O
			dynamicAuthorizationConsultationIDs := omit, //O
			applicableCredIDs       := omit,
			allowedApp_IDs          := omit,
			allowedAEs              := omit,
			allowedRole_IDs			:= omit,
			choice 					:= omit  	         //NP   
		};
		
		template (value) ServiceSubscribedNode_optional m_contentServiceSubscribedNode := {
			resourceName 			:= "MyServiceServiceSubscribedNodeResource", //O
			resourceType 			:= omit, //M
			resourceID 				:= omit, //M
			parentID 				:= omit, //M
			creationTime 			:= omit, //M
			lastModifiedTime 		:= omit, //M
			labels 					:= omit, //O
			accessControlPolicyIDs 	:= omit, //O
			expirationTime 			:= omit, //M
			dynamicAuthorizationConsultationIDs := omit,//O
			nodeID 					:= omit, //M
			cSE_ID 					:= omit, //O
			deviceIdentifier 		:= omit, //M
			ruleLinks 				:= omit, //O
			choice 					:= omit //O
		};
		
		/**
		 * @desc Base primitiveContent for CREATE operation for timeSeries resource 
		 * @param p_name Resource name
		 */
		template (value) TimeSeries_optional m_contentCreateTimeSeries (in template (omit) XSD.String p_name := c_defaultTimeSeriesResourceName):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			creator := omit,//O
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			periodicInterval := omit,//O
			missingDataDetect := omit,//O
			missingDataMaxNr := omit,//O
			missingDataList := omit,//NP
			missingDataCurrentNr := omit,//NP
			missingDataDetectTimer := omit,//O
			ontologyRef := omit,//O
			choice := omit//NP
		};

		/**
		 * @desc Base reception template primitiveContent for CREATE operation for timeSeries resource 
		 * @param p_name Resource name
		 */
		template TimeSeries_optional mw_contentCreateTimeSeriesBase (template XSD.String p_name := *):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//O
			dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//O
			creator := *,//O
			maxNrOfInstances := *,//O
			maxByteSize := *,//O
			maxInstanceAge := *,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			periodicInterval := *,//O
			missingDataDetect := *,//O
			missingDataMaxNr := *,//O
			missingDataList := omit,//NP
			missingDataCurrentNr := omit,//NP
			missingDataDetectTimer := *,//O
			ontologyRef := *,//O
			choice := *//NP
		};
				
		/**
		 * @desc Base primitiveContent for CREATE operation for timeSeriesAnnc resource 
		 * @param p_name Resource name
		 */
		template (value) TimeSeriesAnnc_optional m_contentCreateTimeSeriesAnnc (in template (omit) XSD.String p_name := c_defaultTimeSeriesAnncResourceName):= {			
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			link := omit,//M TODO Put the right value
			dynamicAuthorizationConsultationIDs := omit, //O
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			periodicInterval := omit,//O
			missingDataMaxNr := omit,//O
			missingDataList := omit,//NP
			missingDataCurrentNr := omit,//NP
			missingDataDetectTimer := omit,//O
			ontologyRef := omit,//O
			choice := omit//NP
		};
		
		/**
		 * @desc Base primitiveContent for CREATE operation for TimeSeriesAnnc resource
		 * @param p_primitiveContent Content for the TimeSeriesAnnc
		 */
		template TimeSeriesAnnc_optional mw_contentCreateTimeSeriesAnncBase := {
			resourceName := omit,//NA M
			resourceType := omit,//NA M
			resourceID := omit,//NA M
			parentID := omit,//NA M
			creationTime := omit,//NA M
			lastModifiedTime := omit,//NA M
			labels := *,//MA
			accessControlPolicyIDs := ?,//MA
			expirationTime := ?,//MA M
			link := omit, //O NA
			dynamicAuthorizationConsultationIDs := *, //OA			
			maxNrOfInstances := *,//O OA		
			maxByteSize := *,//O OA	
			maxInstanceAge := *,//O OA	
			currentNrOfInstances := *,//M OA
			currentByteSize := *,//M OA
			periodicInterval := *,//O OA
			missingDataMaxNr := *,//O OA
			missingDataList := *,//O OA
			missingDataCurrentNr := *,//O OA
			missingDataDetectTimer := *,//O OA
			ontologyRef := *,//O OA
			choice := omit //O
		};
		
		/**
		 * @desc Base primitiveContent for CREATE operation for TimeSeriesInstanceAnnc resource
		 * @param p_primitiveContent Content for the TimeSeriesInstanceAnnc
		 */
		template TimeSeriesInstanceAnnc_optional mw_contentCreateTimeSeriesInstanceAnncBase := {			
			resourceName := omit,//NA M
			resourceType := omit,//NA M
			resourceID := omit,//NA M
			parentID := omit,//NA M
			creationTime := omit,//NA M
			lastModifiedTime := omit,//NA M
			labels := *,//MA
			expirationTime := omit,//NA M
			link := omit, //O NA
			dataGenerationTime := *,//M OA
			content := *,//M OA
			sequenceNr := *,//O OA
			contentSize := *//M OA			
		}		
		
		/**
		 * @desc Base primitiveContent for CREATE operation for timeSeries resource
		 * @param p_name Resource name
		 */
		template (value) TimeSeries_optional m_contentCreateTimeSeriesAttributes (in template (omit) XSD.String p_name := c_defaultTimeSeriesResourceName,
																		in template (omit) XSD.Boolean p_missingDataDetect := omit,
																		in template (omit) XSD.NonNegativeInteger p_periodicInterval := omit,
																		in template (omit) XSD.NonNegativeInteger p_missingDataMaxNr := omit, 
																		in template (omit) XSD.NonNegativeInteger p_missingDataDetectTimer := omit) modifies m_contentCreateTimeSeries := {
		
			periodicInterval := p_periodicInterval,//O
			missingDataDetect := p_missingDataDetect,//O
			missingDataMaxNr := p_missingDataMaxNr,//O
			missingDataDetectTimer := p_missingDataDetectTimer//O
		}
		
		/**
		 * @desc Base primitiveContent for invalid CREATE operation for timeSeries resource (using Container_update_invalid)
		 * @param p_name Resource name
		 */
		template (value) TimeSeries_invalid m_contentCreateTimeSeriesInvalid (in template (omit) XSD.String p_name := c_defaultTimeSeriesResourceName):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			expirationCounter := omit,//Field not existing in container resource
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			creator := omit,//O
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			periodicInterval := omit,//O
			missingDataDetect := omit,//O
			missingDataMaxNr := omit,//O
			missingDataList := omit,//NP
			missingDataCurrentNr := omit,//NP
			missingDataDetectTimer := omit,//O
			ontologyRef := omit,//O
			choice := omit//NP
		};
		
		/**
		 * @desc Base primitiveContent for CREATE operation for Container resource
		 * @param p_name Resource name
		 */
		template (value) TimeSeriesInstance_optional m_contentCreateTimeSeriesInstance (in template (omit) XSD.String p_name := c_defaultTimeSeriesInstanceResourceName):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			dataGenerationTime := {alt_ := "29991231T000000"},//M
			content := "AnyValue",//M
			sequenceNr := omit,//O
			contentSize  := omit//NP
		};
		
		/**
		 * @desc Base reception template primitiveContent for CREATE operation for Container resource
		 * @param p_name Resource name
		 */
		template TimeSeriesInstance_optional mw_contentCreateTimeSeriesInstanceBase (template XSD.String p_name := *):= {
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := *,//O
			expirationTime := *,//O
			announceTo := *,//O
			announcedAttribute := *,//O
			dataGenerationTime := ?,//M
			content := ?,//M
			sequenceNr := *,//O
			contentSize  := omit//NP
		};

		template (value) MissingData m_missingData( in XSD.NonNegativeInteger p_number, in XSD.Duration p_duration) := {
			number := p_number,
			duration := p_duration
		};
	
	}//end group ContentCreate
	
	group ContentUpdate {
		
		/**
		 * @desc Base primitiveContent for UPDATE operation for AE resource
		 */
		template (value) AE_optional m_contentUpdateAe := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
    		dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			appName := omit,//O
			app_ID := omit,//NP
			aE_ID := omit,//NP
			pointOfAccess := omit,//O
			ontologyRef := omit,//O
			nodeLink := omit,//O
			requestReachability := omit,//O
			contentSerialization := omit,//O
			e2eSecInfo := omit, //O
			supportedReleaseVersions := omit,//O
			choice := omit//NP
		};	
    	
		/**
		 * @desc Base reception primitiveContent for UPDATE operation for AE resource
		 */
		template AE_optional mw_contentUpdateAe modifies mw_contentAe_any := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			app_ID := omit,//NP
			aE_ID := omit//NP
		};

		/**
		 * @desc Base primitiveContent for UPDATE operation for AccessControlPolicy resource
		 */
		template (value) AccessControlPolicy_optional m_contentUpdateAcp := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			privileges := omit,//O
			selfPrivileges := omit,//O
			choice := omit //NP
		};
		
		template (value) AccessControlPolicy_optional m_contentUpdateAcpPrivileges(in template(omit) SetOfAcrs p_privileges, in template(omit) SetOfAcrs p_selfPrivileges) modifies m_contentUpdateAcp := {
			privileges := p_privileges,//O
			selfPrivileges := p_selfPrivileges//O
		};
 
		/**
		 * @desc Base primitiveContent for UPDATE operation for GenericInterworkingService resource
		 */
		template (value) GenericInterworkingService_optional m_contentUpdateGenericInterworkingService := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//NP
			creator := omit,//NP
			containerDefinition := omit,//NP
			ontologyRef := omit,//O
			contentSize := omit,//NP
			serviceName := omit,//NP
			inputDataPointLinks := omit,//O
			outputDataPointLinks := omit,//O
			choice := omit//NP
		};
		  	
		/**
		 * @desc Base primitiveContent for UPDATE operation for GenericInterworkingService_invalid resource
		 */
		template (value) GenericInterworkingService_invalid m_contentUpdateGenericInterworkingService_invalid := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//NP
			creator := omit,//NP
			containerDefinition := omit,//NP
			ontologyRef := omit,//O
			contentSize := omit,//NP
			serviceName := omit,//NP
			expirationCounter:= omit,//Invalid attribute
			inputDataPointLinks := omit,//O
			outputDataPointLinks := omit,//O
			choice := omit//NP
		};
				  	
		/**
		 * @desc Base primitiveContent for UPDATE operation for Group resource
		 */
		template (value) Group_optional m_contentUpdateGroup := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
	    	dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			creator := omit,//NP
			memberType := omit,//NP
			currentNrOfMembers := omit,//NP
			maxNrOfMembers := omit,//O
			memberIDs := omit,//O
			membersAccessControlPolicyIDs := omit,//O
			memberTypeValidated := omit,//NP
			consistencyStrategy := omit,//NP
			groupName := omit,//O
			semanticSupportIndicator := omit,//O
			notifyAggregation := omit,//O
			choice := omit//NP

		};
		
		/**
		 * @desc Base primitiveContent for UPDATE operation for CSEBase resource
		 */
		template (value) CSEBase_optional m_contentUpdateCSEBase := {
			resourceName := omit,
			resourceType := omit,
			resourceID := omit,
			parentID := omit,
			creationTime := omit,
			lastModifiedTime := omit,
			labels := omit,
			accessControlPolicyIDs := omit,
			cseType := omit,
			cSE_ID := omit,
			supportedResourceType := omit,
			pointOfAccess := omit,
			nodeLink := omit,
			dynamicAuthorizationConsultationIDs := omit,
			e2eSecInfo := omit, 
			supportedReleaseVersions := omit,
			choice := omit

		};
    	
		/**
		 * @desc Base primitiveContent for UPDATE operation for PollingChannel resource
		 */
		template (value) PollingChannel_optional m_contentUpdatePollingChannel := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit//O
		};
    	
		/**
		 * @desc Base primitiveContent for UPDATE operation for Schedule resource
		 */
		template (value) Schedule_optional m_contentUpdateSchedule := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			scheduleElement := omit,//O
			choice := omit//NP
		};
    	
		/**
		 * @desc Base primitiveContent for UPDATE operation for Subscription resource
		 */
		template (value) Subscription_optional m_contentUpdateSubscription := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
    		dynamicAuthorizationConsultationIDs := omit, //O
			creator := omit,//NP
			eventNotificationCriteria := omit,//O
			expirationCounter := omit,//O
			notificationURI := omit,//O
			groupID := omit,//O
			notificationForwardingURI := omit,//O
			batchNotify := omit,//O
			rateLimit := omit,//O
			preSubscriptionNotify := omit,//NP
			pendingNotification := omit,//O
			notificationStoragePriority := omit,//O
			latestNotify := omit,//O
			notificationContentType := omit,//O
			notificationEventCat := omit,//O
			subscriberURI := omit,//NP
			choice := omit//NP
		};
				
		/**
		 * @desc Base primitiveContent for UPDATE operation for Container resource
		 */
		template (value) Container_optional m_contentUpdateContainer := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
    		dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//NP
			creator := omit,//NP
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			locationID := omit,//O
			ontologyRef := omit,//O
    		disableRetrieval := omit, //NP
			choice := omit//NP
		};
		
		/**
		 * @desc Base primitiveContent for UPDATE operation for ContentInstance resource
		 */
		template (value) ContentInstance_optional m_contentUpdateContentInstance := {
			resourceName := omit,
			resourceType := omit,
			resourceID := omit,
			parentID := omit,
			creationTime := omit,
			lastModifiedTime := omit,
			labels := omit,
			expirationTime := omit,
			announceTo := omit,
			announcedAttribute := omit,
			stateTag := omit,
			creator := omit,
			contentInfo := omit,
			contentSize := omit,
			contentRef := omit,
			ontologyRef := omit,
			content := omit,
			choice := omit
		};
		
		template (value) LocationPolicy_optional m_contentUpdateLocationPolicy (in template (omit) AcpType p_accessControlPolicyIds, in template (value) XSD.Duration p_locationUpdatePeriod) := {
    	  	resourceName 			:= omit,//NP
    	  	resourceType			:= omit,//NP
    	    resourceID				:= omit,//NP
    	    parentID				:= omit,//NP
    	  	creationTime			:= omit,//NP
    	  	lastModifiedTime		:= omit,//NP
    	  	labels 					:= PX_LABELS,//O
    	  	accessControlPolicyIDs 	:= p_accessControlPolicyIds,//O
    	  	expirationTime 			:= omit,//O    	  	
    		dynamicAuthorizationConsultationIDs := omit, //O
    	  	announceTo 				:= omit,//O
    	  	announcedAttribute		:= omit,//O
    		locationSource 			:= omit,//NP
			locationInformationType := omit,//O
			locationUpdatePeriod 	:= {p_locationUpdatePeriod}, //O
    		locationTargetID 		:= omit, //NP
    		locationServer 			:= omit, //NP
    		locationContainerID		:= omit, //NP  
    		locationContainerName 	:= PX_LOCATION_CONTAINER_NAME, //O    		 		
    	  	locationStatus			:= omit, //NP
    	    geographicalTargetArea  := omit,//O
    	  	geofenceEventCriteria   := omit,//O
    	    choice 					:= omit  //NP	   	  	
    	};
    	
    	template (value) Node_optional m_contentUpdateNode := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			nodeID := omit,//O
			hostedCSELink := omit,//NP
			mgmtClientAddress := omit,//O
			choice := omit//O
    	}
    	
    	template (value) RemoteCSE_optional m_contentUpdateRemoteCSE := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			cseType := omit,//NP
			pointOfAccess := omit,//O
			cSEBase := omit,//NP
			cSE_ID := omit,//NP
			m2M_Ext_ID := omit,//O
			trigger_Recipient_ID := omit,//O
			requestReachability := omit,//O
			nodeLink := omit,//O
			triggerReferenceNumber := omit,//O
			e2eSecInfo := omit,//O
			supportedReleaseVersions := omit,//O
			choice := omit//O
    	}
    	
		template (value) AEAnnc_optional m_contentUpdateAEAnnc := {
			resourceName := omit,
			resourceType := omit,
			resourceID := omit,
			parentID := omit,
			creationTime := omit,
			lastModifiedTime := omit,
			labels := omit,
			accessControlPolicyIDs := omit,
			expirationTime := omit,
			link := omit,
			dynamicAuthorizationConsultationIDs := omit,
			appName := omit,
			app_ID := omit,
			aE_ID := omit,
			pointOfAccess := omit,
			ontologyRef := omit,
			nodeLink := omit,
			requestReachability := omit,
			contentSerialization := omit,
			e2eSecInfo := omit,
			supportedReleaseVersions := omit,
			choice := omit
    	}
    	
		template (value) ContainerAnnc_optional m_contentUpdateContainerAnnc := {
			resourceName := omit,
			resourceType := omit,
			resourceID := omit,
			parentID := omit,
			creationTime := omit,
			lastModifiedTime := omit,
			labels := omit,
			accessControlPolicyIDs := omit,
			expirationTime := omit,
			link := omit,
			dynamicAuthorizationConsultationIDs := omit,
			stateTag := omit,
			maxNrOfInstances := omit,
			maxByteSize := omit,
			maxInstanceAge := omit,
			currentNrOfInstances := omit,
			currentByteSize := omit,
			locationID := omit,
			ontologyRef := omit,
			disableRetrieval := omit,
			choice := omit
		};
		
		template (value) GroupAnnc_optional m_contentUpdateGroupAnnc := {
			resourceName := omit,
		  	resourceType := omit,
		  	resourceID := omit,
		  	parentID := omit,
		  	creationTime := omit,
		  	lastModifiedTime := omit,
		  	labels := omit,
		  	accessControlPolicyIDs := omit,
		  	expirationTime := omit,
		  	link := omit,
		  	dynamicAuthorizationConsultationIDs := omit,
		  	memberType := omit,
		  	currentNrOfMembers := omit, 
		  	maxNrOfMembers := omit,
		  	memberIDs := omit, 
		  	membersAccessControlPolicyIDs := omit,
		  	memberTypeValidated := omit,
		  	consistencyStrategy := omit, 
		  	groupName := omit, 
		  	semanticSupportIndicator := omit,
		  	notifyAggregation := omit,
		  	choice := omit
		};	
		
		/**
		 * @desc Base primitiveContent for UPDATE operation for TimeSeries resource
		 */
		template (value) TimeSeries_optional m_contentUpdateTimeSeries := {
			resourceName := omit,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			creator := omit,//O
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			periodicInterval := omit,//O
			missingDataDetect := omit,//O
			missingDataMaxNr := omit,//O
			missingDataList := omit,//NP
			missingDataCurrentNr := omit,//NP
			missingDataDetectTimer := omit,//O
			ontologyRef := omit,//O
			choice := omit//NP
		};
		
		/**
		 * @desc Base primitiveContent for UPDATE operation for TimeSeriesInstance resource
		 */
		template (value) TimeSeriesInstance_optional m_contentUpdateTimeSeriesInstance := {
			resourceName := omit,
			resourceType := omit,
			resourceID := omit,
			parentID := omit,
			creationTime := omit,
			lastModifiedTime := omit,
			labels := omit,
			expirationTime := omit,
			announceTo := omit,
			announcedAttribute := omit,
			dataGenerationTime := omit,
			content := omit,
			sequenceNr := omit,
			contentSize := omit
		};
		
 		
	}//end group ContentUpdate
	
	group ContentRetrieve {
		/**
		  * @desc Base primitiveContent for DELETE operation for PollingChannel resource
		 */
		template (value) PollingChannel_optional m_contentRetrievePollingChannel := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit//O
		};
	}
	
	group ContentDelete {
		
		/**
		  * @desc Base primitiveContent for DELETE operation for PollingChannel resource
		 */
		template (value) PollingChannel_optional m_contentDeletePollingChannel := {
			resourceName := omit,//NP
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			expirationTime := omit//O
		};
				
	} //end group ContentDelete

	group ResponseContent {
		
		template AE_optional mw_contentAeBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := ?,//M
    		dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//O
			appName := *,//O
			app_ID := ?,//M
			aE_ID := ?,//M
			pointOfAccess := *,//O
			ontologyRef := *,//O
			nodeLink := *,//O
			requestReachability := ?,//M
			contentSerialization := *,//O
			e2eSecInfo:= *, //O
			supportedReleaseVersions := ?,//M
			choice := *//O
		};
    	
		template (value) AE_optional m_contentAe_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			appName := omit,//O
			app_ID := omit,//M
			aE_ID := omit,//M
			pointOfAccess := omit,//O
			ontologyRef := omit,//O
			nodeLink := omit,//O
			requestReachability := omit,//M
			contentSerialization := omit,//O
			e2eSecInfo:= omit, //O
			supportedReleaseVersions := omit,//M
			choice := omit//O
		};
		
		template AE_optional mw_contentAe_any := {
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//M
			dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//O
			appName := *,//O
			app_ID := *,//M
			aE_ID := *,//M
			pointOfAccess := *,//O
			ontologyRef := *,//O
			nodeLink := *,//O
			requestReachability := *,//M
			contentSerialization := *,//O
			e2eSecInfo:= *, //O
			supportedReleaseVersions := ?,//M
			choice := *//O
		};
		
		template AEAnnc_optional mw_contentAeAnnc_base := {
			resourceName := ?,//M NA
			resourceType := ?,//M NA
			resourceID := ?,//M NA
			parentID := ?,//M NA
			creationTime := ?,//M NA
			lastModifiedTime := ?,//M NA
			labels := *,//O MA
			accessControlPolicyIDs := *,//O MA Special case: acpi mandatory for announced resources
			expirationTime := ?,//M MA
			link := ?,//M,
			dynamicAuthorizationConsultationIDs := *, //O OA
			appName := *,//O OA
			app_ID := *,//M OA
			aE_ID := *,//M OA
			pointOfAccess := *,//O OA
			ontologyRef := *,//O OA
			nodeLink := *,//O OA
			requestReachability := *,//M OA
			contentSerialization := *,//O OA
			e2eSecInfo:= *, //O MA
			supportedReleaseVersions := *,//O MA
			choice := *//O
		};
		
		template AEAnnc_optional mw_contentAeAnnc_any := {
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//M
			link := *,//M,
			dynamicAuthorizationConsultationIDs := *, //O
			appName := *,//O
			app_ID := *,//M
			aE_ID := *,//M
			pointOfAccess := *,//O
			ontologyRef := *,//O
			nodeLink := *,//O
			requestReachability := *,//M
			contentSerialization := *,//O
			e2eSecInfo:= *, //O
			supportedReleaseVersions := ?,//M
			choice := *//O
		};
			
		template AccessControlPolicy_optional mw_contentAcpBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			expirationTime := ?,//M
			announceTo := *,//O
			announcedAttribute := *,//O
			privileges := ?,//M
			selfPrivileges := ?,//M
			choice := *//O
		};
		
		template AccessControlPolicy_optional mw_contentAcp_any := {
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			expirationTime := *,//M
			announceTo := *,//O
			announcedAttribute := *,//M
			privileges := *,//M
			selfPrivileges := *,//M
			choice := *//O
		}
		
		template AccessControlPolicy_optional mw_contentAcp_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			expirationTime := omit,//M
			announceTo := omit,//O
			announcedAttribute := omit,//M
			privileges := omit,//M
			selfPrivileges := omit,//M
			choice := omit//O
		}
		
		template (value) LocationPolicy_optional m_contentLocationPolicy_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			locationSource := omit,//M
			locationInformationType := omit,//o
			locationUpdatePeriod := omit,//O
			locationTargetID := omit,//O
			locationServer := omit,//O
			locationContainerID := omit,//O
			locationContainerName := omit,//O
			locationStatus := omit,//M
			geographicalTargetArea  := omit,//O
    	  	geofenceEventCriteria   := omit,//O
			choice := omit//O
		}
		
		template AccessControlPolicy_optional mw_contentAcp_rc1 modifies mw_contentAcpBase := {
			choice := omit	//O
		}
		
		//TODO
		template XSD.AnyURI mw_contentAcp_rc2 := ?;
		
		template Resource mw_contentAcp_rc3 := {
			choice := {accessControlPolicy := ?},
			uRI := ? 	
		}
		
		template AccessControlPolicy_optional mw_contentAcp_rc4 modifies mw_contentAcpBase := {
			choice := {choice_list := ?}	//O
		}
		
		template AccessControlPolicy_optional mw_contentAcp_rc5 modifies mw_contentAcpBase := {
			choice := {childResource_list := ?}	//O
		}
		
		template AccessControlPolicy_optional mw_contentAcp_rc6 modifies mw_contentAcpBase := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			expirationTime := omit,//M
			announceTo := omit,//O
			announcedAttribute := omit,//M
			privileges := omit,//M
			selfPrivileges := omit,//M
			choice := {childResource_list := ?}//O
		}
		
		template AccessControlPolicy_optional mw_contentAcp_rc7 modifies mw_contentAcpBase := {
			
		}
		
		template AccessControlPolicy_optional mw_contentAcp_rc8 modifies mw_contentAcp_allOmit := {
			choice := {choice_list := ?}	//O
		}
    	
		template Group_optional mw_contentGroupBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := ?,//M
    		dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//O
			creator := *,//O
			memberType := ?,//M
			currentNrOfMembers := ?,//M
			maxNrOfMembers := ?,//M
			memberIDs := ?,//M
			membersAccessControlPolicyIDs := *,//O
			memberTypeValidated := *,//O
			consistencyStrategy := *,//O
			groupName := *,//O
			semanticSupportIndicator := *,//O
			notifyAggregation := *,//O
			choice := *//O
		};
		
		template Group_optional mw_contentGroup_any := {
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//M
			dynamicAuthorizationConsultationIDs := *,//O
			announceTo := *,//O
			announcedAttribute := *,//M
			creator := *,//O
			memberType := *,//M
			currentNrOfMembers := *,//M
			maxNrOfMembers := *,//M
			memberIDs := *,//M
			membersAccessControlPolicyIDs := *,//O
			memberTypeValidated := *,//M
			consistencyStrategy := *,//O
			groupName := *,//O
			semanticSupportIndicator := *,//O
			notifyAggregation := *,//O
			choice := *//O
		}
		
		template Group_optional mw_contentGroup_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//M
			creator := omit,//O
			memberType := omit,//M
			currentNrOfMembers := omit,//M
			maxNrOfMembers := omit,//M
			memberIDs := omit,//M
			membersAccessControlPolicyIDs := omit,//O
			memberTypeValidated := omit,//M
			consistencyStrategy := omit,//O
			groupName := omit,//O
			semanticSupportIndicator := omit,//O
			notifyAggregation := omit,//O
			choice := omit//O
		}
		
		template Group_optional mw_contentGroup_rc1 modifies mw_contentGroupBase := {
			choice := omit	//O
		}
		
		template XSD.AnyURI mw_contentGroup_rc2 := ?; 
		
		template Resource  mw_contentGroup_rc3 := {
			choice := {group_ := ?},
			uRI := ?
		}
		
		template Group_optional mw_contentGroup_rc4 modifies mw_contentGroupBase := {
			choice := {choice_list := {{subscription := ?}}}	//O
		}
		
		template Group_optional mw_contentGroup_rc5 modifies mw_contentGroupBase := {
			choice := {childResource_list := ?}	//O
		}
		
		template Group_optional mw_contentGroup_rc6 modifies mw_contentGroupBase := { 
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//M
			creator := omit,//O
			memberType := omit,//M
			currentNrOfMembers := omit,//M
			maxNrOfMembers := omit,//M
			memberIDs := omit,//M
			membersAccessControlPolicyIDs := omit,//O
			memberTypeValidated := omit,//M
			consistencyStrategy := omit,//O
			groupName := omit,//O
			semanticSupportIndicator := omit,//O
			notifyAggregation := omit,//O
			choice := {childResource_list := ?}//O
		}
		
		template Group_optional mw_contentGroup_rc7 modifies mw_contentGroupBase := {
			
		}
		
		template Group_optional mw_contentGroup_rc8 modifies mw_contentGroup_allOmit := {
			choice := {choice_list := ?}	//O
		}
		
		template (value) MgmtCmd_optional m_contentMgmtCmd_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			description := omit,//O
			cmdType := omit,//M
			execReqArgs := omit,//O
			execEnable := omit,//M
			execTarget := omit,//M
			execMode := omit,//O
			execFrequency := omit,//O
			execDelay := omit,//O
			execNumber := omit,//O
			choice := omit//M
		}
    	
		template PollingChannel_optional mw_contentPollingChannelBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			expirationTime := ?//M
		};
		
		template PollingChannel_optional mw_contentPollingChannel_any := {
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			expirationTime := *//M
		};
		
		template (value) PollingChannel_optional m_contentPollingChannel_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			expirationTime := omit//M
		};
		
		template PollingChannel_optional mw_contentPollingChannel_rc1 modifies mw_contentPollingChannelBase := {
		}
		
		template XSD.AnyURI mw_contentPollingChannel_rc2 := ?; 
		
		template Resource  mw_contentPollingChannel_rc3 := {
			choice := {pollingChannel := ?},
			uRI := ?
		}
		
		template PollingChannel_optional mw_contentPollingChannel_rc4 modifies mw_contentPollingChannelBase := {
		}
		
		template PollingChannel_optional mw_contentPollingChannel_rc5 modifies mw_contentPollingChannelBase := {
		}
		
		template PollingChannel_optional mw_contentPollingChannel_rc6 modifies mw_contentPollingChannelBase := { 
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			expirationTime := *//M
		}
		
		template (value) RemoteCSE_optional m_contentRemoteCSE_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			cseType := omit,//O
			pointOfAccess := omit,//O
			cSEBase := omit,//M
			cSE_ID := omit,//M
			m2M_Ext_ID := omit,//O
			trigger_Recipient_ID := omit,//O
			requestReachability := omit,//M
			nodeLink := omit,//O
			triggerReferenceNumber := omit,//O
			e2eSecInfo := omit,//O
			supportedReleaseVersions := omit,//M
			choice := omit//O
		};
		
		template (value) RemoteCSE_optional m_contentMyRemoteCSEResource(in charstring p_pointOfAccess) modifies m_contentRemoteCSE_allOmit := {
			resourceName := PX_TS_CSE1.cseName,//M
			resourceType := int16,//M
			resourceID := PX_TS_CSE1.cseResourceId,//M
			pointOfAccess := { p_pointOfAccess }, //O
			cSEBase := PX_TS_CSE1.cseId & "/" & PX_TS_CSE1.cseName,//M
			cSE_ID := PX_TS_CSE1.cseId,//M
			requestReachability := true//M
		};
		
		template (value) RemoteCSE_optional m_contentLocalRemoteCSEResource(in charstring p_pointOfAccess) modifies m_contentRemoteCSE_allOmit := {
			resourceName := PX_CSE_NAME,//M
			resourceType := int16,//M
			resourceID := PX_CSE_RESOURCE_ID,//M
			pointOfAccess := { p_pointOfAccess },//O
			cSEBase := PX_CSE_ID & "/" & PX_CSE_NAME,//M
			cSE_ID := PX_CSE_ID,//M
			requestReachability := true//M
		};
		
		template RemoteCSE_optional mw_contentRemoteCSEBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := ?,//M
			dynamicAuthorizationConsultationIDs := *,//O
			announceTo := *,//O
			announcedAttribute := *,//O
			cseType := *,//O
			pointOfAccess := *,//O
			cSEBase := ?,//M
			cSE_ID := ?,//M
			m2M_Ext_ID := *,//O
			trigger_Recipient_ID := *,//O
			requestReachability := ?,//M
			nodeLink := *,//O
			triggerReferenceNumber := *,//O
			e2eSecInfo := *,//O
			supportedReleaseVersions := ?,//M
			choice := *//O
		};
		
		template Request_optional mw_contentRequestBase := {			
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := ?,//M
			dynamicAuthorizationConsultationIDs := *,//O
			operation := ?,//M
			target := ?,//M
			originator := ?,//M	
			requestID := ?,//M
			metaInformation := ?,//M
			primitiveContent := *,//O
			requestStatus := ?,//M
			operationResult := ?,//M
			choice := *//O
		};
		
		template Schedule_optional mw_contentScheduleBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			expirationTime := ?,//M
			announceTo := *,//O
			announcedAttribute := *,//O
			scheduleElement := ?,//M
			choice := *//O
		};
		
		template Schedule_optional mw_contentSchedule_any := {
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			expirationTime := *,//M
			announceTo := *,//O
			announcedAttribute := *,//M
			scheduleElement := *,//M
			choice := *//O
		}
		
		template Schedule_optional mw_contentSchedule_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			expirationTime := omit,//M
			announceTo := omit,//O
			announcedAttribute := omit,//M
			scheduleElement := omit,//M
			choice := omit//O
		}
		
		template Schedule_optional mw_contentSchedule_rc1 modifies mw_contentScheduleBase := {
			choice := omit	//O
		}
		
		template XSD.AnyURI mw_contentSchedule_rc2 := ?; 
		
		template Resource mw_contentSchedule_rc3 := {
			choice := {schedule := ?},
			uRI := ?
		}
		
		template Schedule_optional mw_contentSchedule_rc4 modifies mw_contentScheduleBase := {
			choice := {choice_list := ?}	//O
		}
		
		template Schedule_optional mw_contentSchedule_rc5 modifies mw_contentScheduleBase := {
			choice := {childResource_list := ?}	//O
		}
		
		template Schedule_optional mw_contentSchedule_rc6 modifies mw_contentScheduleBase := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			expirationTime := omit,//M
			announceTo := omit,//O
			announcedAttribute := omit,//M
			scheduleElement := omit,//M
			choice := {childResource_list := ?}//O
		}
		
		template Schedule_optional mw_contentSchedule_rc7 modifies mw_contentScheduleBase := {
			
		}
		
		template Schedule_optional mw_contentSchedule_rc8 modifies mw_contentSchedule_allOmit := {
			choice := {choice_list := ?}	//O
		}
		
		template (value) StatsCollect_optional m_contentStatsCollect_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			creator := omit,//O
			statsCollectID := omit,//M
			collectingEntityID := omit,//M
			collectedEntityID := omit,//M
			statsRuleStatus := omit,//M
			statModel := omit,//M
			collectPeriod := omit,//O
			eventID := omit,//O
			choice := omit//M
		}
		
		template (value) StatsConfig_optional m_contentStatsConfig_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			creator := omit,//O
			choice := omit//M
		}
    	
		template Subscription_optional mw_contentSubscriptionBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := ?,//M
    		dynamicAuthorizationConsultationIDs := *, //O
			creator := *,//O
			eventNotificationCriteria := *,//O
			expirationCounter := *,//O
			notificationURI := ?,//M
			groupID := *,//O
			notificationForwardingURI := *,//O
			batchNotify := *,//O
			rateLimit := *,//O
			preSubscriptionNotify := *,//O
			pendingNotification := *,//O
			notificationStoragePriority := *,//O
			latestNotify := *,//O
			notificationContentType := *,//O
			notificationEventCat := *,//O
			subscriberURI := *,//O
			choice := *//O
		};
		template Subscription_optional mw_contentSubscription_any := {
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//M
		    dynamicAuthorizationConsultationIDs := *, //O
			creator := *,//O
			eventNotificationCriteria := *,//O
			expirationCounter := *,//O
			notificationURI := *,//M
			groupID := *,//O
			notificationForwardingURI := *,//O
			batchNotify := *,//O
			rateLimit := *,//O
			preSubscriptionNotify := *,//O
			pendingNotification := *,//O
			notificationStoragePriority := *,//O
			latestNotify := *,//O
			notificationContentType := *,//M
			notificationEventCat := *,//O
			subscriberURI := *,//O
			choice := *//O
		}
		
		template Subscription_optional mw_contentSubscription_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit, //O
			creator := omit,//O
			eventNotificationCriteria := omit,//O
			expirationCounter := omit,//O
			notificationURI := omit,//M
			groupID := omit,//O
			notificationForwardingURI := omit,//O
			batchNotify := omit,//O
			rateLimit := omit,//O
			preSubscriptionNotify := omit,//O
			pendingNotification := omit,//O
			notificationStoragePriority := omit,//O
			latestNotify := omit,//O
			notificationContentType := omit,//M
			notificationEventCat := omit,//O
			subscriberURI := omit,//O
			choice := omit//O
		}
		
		template (value) Subscription_optional m_contentSubscription modifies mw_contentSubscription_allOmit := {
			resourceType := int23	//M
		}
		
		template Subscription_optional mw_contentSubscription_rc1 modifies mw_contentSubscriptionBase := {
			choice := omit	//O
		}
		
		template XSD.AnyURI mw_contentSubscription_rc2 := ?;  
		
		template Resource mw_contentSubscription_rc3 := {
			choice := {subscription := ?},
			uRI := ?
		}
		
		template Subscription_optional mw_contentSubscription_rc4 modifies mw_contentSubscriptionBase := {
			choice := { choice_list := {{schedule := ?}}}	//O
		}
		
		template Subscription_optional mw_contentSubscription_rc5 modifies mw_contentSubscriptionBase := {
			choice := {childResource_list := ?}	//O
		}
		
		template Subscription_optional mw_contentSubscription_rc6 modifies mw_contentSubscriptionBase := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
    		dynamicAuthorizationConsultationIDs := omit, //O
			creator := omit,//O
			eventNotificationCriteria := omit,//O
			expirationCounter := omit,//O
			notificationURI := omit,//M
			groupID := omit,//O
			notificationForwardingURI := omit,//O
			batchNotify := omit,//O
			rateLimit := omit,//O
			preSubscriptionNotify := omit,//O
			pendingNotification := omit,//O
			notificationStoragePriority := omit,//O
			latestNotify := omit,//O
			notificationContentType := omit,//M
			notificationEventCat := omit,//O
			subscriberURI := omit,//O
			choice := {childResource_list := ?}//O
		}
		
		template Subscription_optional mw_contentSubscription_rc7 modifies mw_contentSubscriptionBase := {
			
		}
		
		template Subscription_optional mw_contentSubscription_rc8 modifies mw_contentSubscription_allOmit := {
			choice := {choice_list := ?}	//O
		}
    	
		template ContentInstance_optional mw_contentContentInstanceBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			expirationTime := ?,//M
			announceTo := *,//O
			announcedAttribute := *,//O
			stateTag := ?,//M
			creator := *,//O
			contentInfo := *,//O
			contentSize := ?,//M
			contentRef := *, //O
			ontologyRef := *,//O
			content := ?,//M
			choice := * //O
			
		};
		
		template ContentInstance_optional mw_contentContentInstance_rc1 modifies mw_contentContentInstanceBase := {
			choice := omit	//O
		}
		
		template (value) ContentInstance_optional m_contentContentInstance_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit ,//O
			expirationTime := omit,//M
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//M
			creator := omit,//O
			contentInfo := omit,//O
			contentSize := omit,//M
			contentRef := omit,
			ontologyRef := omit,//O
			content := omit, //M
			choice := omit
		};
		
		template Container_optional mw_contentContainerBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := ?,//M
    		dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//O
			stateTag := ?,//M
			creator := *,//O
			maxNrOfInstances := *,//O
			maxByteSize := *,//O
			maxInstanceAge := *,//O
			currentNrOfInstances := ?,//M
			currentByteSize := ?,//M
			locationID := *,//O
			ontologyRef := *,//O
			disableRetrieval := *, //O
			choice := *//O
		};
		
		template Container_optional mw_contentContainer_any := {
			resourceName := *,//M
			resourceType := *,//M
			resourceID := *,//M
			parentID := *,//M
			creationTime := *,//M
			lastModifiedTime := *,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := *,//M
			dynamicAuthorizationConsultationIDs := *, //O
			announceTo := *,//O
			announcedAttribute := *,//M
			stateTag := *,//M
			creator := *,//M
			maxNrOfInstances := *,//O
			maxByteSize := *,//O
			maxInstanceAge := *,//O
			currentNrOfInstances := *,//M
			currentByteSize := *,//M
			locationID := *,//O
			ontologyRef := *,//O
			disableRetrieval := *, //O
			choice := *//O
		}
		
		template Container_optional mw_contentContainer_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//M
			stateTag := omit,//M
			creator := omit,//M
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//M
			currentByteSize := omit,//M
			locationID := omit,//O
			ontologyRef := omit,//O
			disableRetrieval := omit, //O
			choice := omit//O
		}
		
		template (value) Delivery_optional m_contentDelivery_allOmit := {
	
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			source := omit,//M
			target := omit,//M
			lifespan := omit,//M
			eventCat := omit,//M
			deliveryMetaData := omit,//M
			aggregatedRequest := omit,//M
			choice := omit//O
	
		};    
		
		template Container_optional mw_contentContainer_rc1 modifies mw_contentContainerBase := {
			choice := omit	//O
		}
		
		template XSD.AnyURI mw_contentContainer_rc2 := ?;
		
		template Resource mw_contentContainer_rc3 := {
			choice := {container := ?},
			uRI := ?
		}
		
		template Container_optional mw_contentContainer_rc4 modifies mw_contentContainerBase := {
			choice := {choice_list := ?}	//O
		}
		
		template Container_optional mw_contentContainer_rc5 modifies mw_contentContainerBase := {
			choice := {childResource_list := ?}	//O
		}
		
		template Container_optional mw_contentContainer_rc6 modifies mw_contentContainerBase := {
			resourceName := omit,//M
            resourceType := omit,//M
            resourceID := omit,//M
            parentID := omit,//M
            creationTime := omit,//M
            lastModifiedTime := omit,//M
            labels := omit,//O
            accessControlPolicyIDs := omit,//O
            expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
            announcedAttribute := omit,//M
            stateTag := omit,//M
            creator := omit,//M
            maxNrOfInstances := omit,//O
            maxByteSize := omit,//O
            maxInstanceAge := omit,//O
            currentNrOfInstances := omit,//M
            currentByteSize := omit,//M
            locationID := omit,//O
            ontologyRef := omit,//O
            disableRetrieval := omit, //O
            choice := {childResource_list := ?}//O
		}
		
		template Container_optional mw_contentContainer_rc7 modifies mw_contentContainerBase := {
		
		}
		
		template Container_optional mw_contentContainer_rc8 modifies mw_contentContainer_allOmit := {
			choice := {choice_list := ?}	//O
		}
		
		template (value) Notification m_contentNotification_allOmit := {
			notificationEvent:= omit,
			verificationRequest := omit,
			subscriptionDeletion := omit,
			subscriptionReference := omit,
			creator := omit,
			notificationForwardingURI := omit,
			notificationTarget := omit,
			targetRemovalRequest := omit,
			targetRemovalAllowance := omit,
			iPEDiscoveryRequest := omit
		};
		
		template (value) Notification m_contentNotification_subscriptionVerification(XSD.ID p_creator) modifies m_contentNotification_allOmit:= {
			verificationRequest := true,
			creator := p_creator
		};
		
		template  Notification mw_contentNotification_any := {
			notificationEvent := *,
			verificationRequest := *,
			subscriptionDeletion := *,
			subscriptionReference := *,
			creator := *,
			notificationForwardingURI := *,
			notificationTarget := *,
			targetRemovalRequest := *,
			targetRemovalAllowance := *,
			iPEDiscoveryRequest := *
		};
		

		template  Notification mw_contentNotificationBase := {
			notificationEvent := *,//O
			verificationRequest := *,//O
			subscriptionDeletion := *,//O
			subscriptionReference := *,//M //TODO Put it back to ? subscriptionReference is mandatory
			creator := *,//O
			notificationForwardingURI := *,//O
			notificationTarget := *,
			targetRemovalRequest := *,
			targetRemovalAllowance := *,
			iPEDiscoveryRequest := *//O
		};
		
		template  Notification mw_contentNotificationVerification modifies mw_contentNotificationBase := {
			verificationRequest := true,
			creator := ?
		}


		template  Notification mw_contentNotification (in template  Representation p_representation) modifies mw_contentNotificationBase := {
			notificationEvent := {
				representation := p_representation,
				operationMonitor := *,
				notificationEventType := ?
			}
		};
		
		template (value) Node_optional m_contentNode_allOmit := {
			
			resourceName := omit,
			resourceType := omit,
			resourceID := omit,
			parentID := omit,
			creationTime := omit,
			lastModifiedTime := omit,
			labels := omit,
			accessControlPolicyIDs := omit,
			expirationTime := omit,
			dynamicAuthorizationConsultationIDs := omit,
			announceTo := omit,
			announcedAttribute := omit,
			nodeID := omit,
			hostedCSELink := omit,
			mgmtClientAddress := omit,
			choice := omit			
			
		};
		
		template CSEBase_optional mw_contentCSEBaseBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := "",//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			cseType := *,//O
			cSE_ID := ?,//M
			supportedResourceType := ?,//M
			pointOfAccess := ?,//M
			nodeLink := *,//O
			dynamicAuthorizationConsultationIDs := omit,
			e2eSecInfo := *,//O			
			supportedReleaseVersions := ?,//M
			choice := *//O
		};

		template CSEBase_optional mw_contentCSEBase_rc1 modifies mw_contentCSEBaseBase := {
			choice := omit	//O
		}
		
		template TimeSeries_optional mw_contentTimeSeries_allOmit := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			creator := omit,//M
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//M
			currentByteSize := omit,//M
			periodicInterval := omit,//O
			missingDataDetect := omit,//O
			missingDataMaxNr := omit,//O
			missingDataList := omit,//O
			missingDataCurrentNr := omit,//O
			missingDataDetectTimer := omit,//O
			ontologyRef := omit,//O
			choice := omit//O
		}
		
		template TimeSeries_optional mw_contentTimeSeriesBase := {
			resourceName := ?,//M
			resourceType := ?,//M
			resourceID := ?,//M
			parentID := ?,//M
			creationTime := ?,//M
			lastModifiedTime := ?,//M
			labels := *,//O
			accessControlPolicyIDs := *,//O
			expirationTime := ?,//M
			dynamicAuthorizationConsultationIDs := *,//O
			announceTo := *,//O
			announcedAttribute := *,//O
			creator := ?,//M
			maxNrOfInstances := *,//O
			maxByteSize := *,//O
			maxInstanceAge := *,//O
			currentNrOfInstances := ?,//M
			currentByteSize := ?,//M
			periodicInterval := *,//O
			missingDataDetect := *,//O
			missingDataMaxNr := *,//O
			missingDataList := *,//O
			missingDataCurrentNr := *,//O
			missingDataDetectTimer := *,//O
			ontologyRef := *,//O
			choice := *//O
		};
		
		template TimeSeries_optional mw_contentTimeSeries(in template MissingDataList p_missingDataList := *, in template XSD.NonNegativeInteger p_missingDataCurrentNr := *) modifies mw_contentTimeSeriesBase := {
			missingDataList := p_missingDataList,
			missingDataCurrentNr := p_missingDataCurrentNr
		}
		
		template TimeSeries_optional mw_contentTimeSeries_rc1 modifies mw_contentTimeSeriesBase := {
			choice := omit	//O
		}
		
		template XSD.AnyURI mw_contentTimeSeries_rc2 := ?;
		
		template Resource mw_contentTimeSeries_rc3 := {
			choice := {timeSeries := ?},
			uRI := ?
		}
		
		template TimeSeries_optional mw_contentTimeSeries_rc4 modifies mw_contentTimeSeriesBase := {
			choice := { choice_list := {{subscription := ?}}}	//O
		}
		
		template TimeSeries_optional mw_contentTimeSeries_rc5 modifies mw_contentTimeSeriesBase := {
			choice := {childResource_list := ?}	//O
		}
		
		template TimeSeries_optional mw_contentTimeSeries_rc6 modifies mw_contentTimeSeriesBase := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			creator := omit,//M
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//M
			currentByteSize := omit,//M
			periodicInterval := omit,//O
			missingDataDetect := omit,//O
			missingDataMaxNr := omit,//O
			missingDataList := omit,//O
			missingDataCurrentNr := omit,//O
			missingDataDetectTimer := omit,//O
			ontologyRef := omit,//O
			choice := {childResource_list := ?}//O
		}
		
		template TimeSeries_optional mw_contentTimeSeries_rc8 modifies mw_contentTimeSeries_allOmit := {
			choice := {choice_list := ?}	//O
		}


	}//end group responseContent
	
	group SpecialContents {

		/**
		 * @desc Base primitiveContent for CREATE operation for GenericInterworkingService resource
		 * @param p_accessControlPolicyIds ACP IDs for the PollingChannel
		 * @param p_name Resource name
		 */
		template (value) GenericInterworkingService_invalid m_contentCreateGenericInterworkingService_invalid (in template (omit) XSD.String p_name := c_defaultGenericInterworkingServiceResourceName, 
																	in template (omit) AcpType p_accessControlPolicyIds := omit) := {
			
			resourceName := p_name,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			labels := omit,//O
			accessControlPolicyIDs := p_accessControlPolicyIds,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			stateTag := omit,//NP
			creator := omit,//O
			containerDefinition := PX_CND_GENERIC_INTERWORKING_SERVICE,//M
			ontologyRef := omit,//O
			contentSize := omit, //NP
			serviceName := "MyService",//M??
			expirationCounter := 1,//Invalid attribute
			inputDataPointLinks := omit,//O
			outputDataPointLinks := omit,//O		
			choice := omit//NP
			
		};

		template (value) AE_invalid m_contentUpdateAe_invalid := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			expirationCounter := omit,//Invalid attribute
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			appName := omit,//O
			app_ID := omit,//M
			aE_ID := omit,//M
			pointOfAccess := omit,//O
			ontologyRef := omit,//O
			nodeLink := omit,//O
			requestReachability := omit,//M
			contentSerialization := omit,//O
			e2eSecInfo:= omit, //O
			supportedReleaseVersions := omit,//O
			choice := omit//O
		};
    	
		template (value) AccessControlPolicy_invalid m_contentUpdateAcp_invalid := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			expirationCounter := omit,//Invalid attribute
			labels := omit,//O
			expirationTime := omit,//M
			announceTo := omit,//O
			announcedAttribute := omit,//M
			privileges := omit,//M
			selfPrivileges := omit,//M
			choice := omit//O
		};
    	
		template (value) Group_invalid m_contentUpdateGroup_invalid := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			expirationCounter := omit,//Invalid attribute
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit,//O
			announceTo := omit,//O
			announcedAttribute := omit,//M
			creator := omit,//O
			memberType := omit,//M
			currentNrOfMembers := omit,//M
			maxNrOfMembers := omit,//M
			memberIDs := omit,//M
			membersAccessControlPolicyIDs := omit,//O
			memberTypeValidated := omit,//M
			consistencyStrategy := omit,//O
			groupName := omit,//O
			semanticSupportIndicator := omit,//O
			notifyAggregation := omit,//O
			choice := omit//O
		};
    	
		template (value) PollingChannel_invalid m_contentUpdatePollingChannel_invalid := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			expirationCounter := omit,//Invalid attribute
			labels := omit,//O
			expirationTime := omit//M
		};
    	
		template (value) Schedule_invalid m_contentUpdateSchedule_invalid := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			expirationCounter := omit,//Invalid attribute
			labels := omit,//O
			expirationTime := omit,//M
			announceTo := omit,//O
			announcedAttribute := omit,//M
			scheduleElement := omit,//M
			choice := omit//O
		};
    	
		template (value) Subscription_invalid m_contentUpdateSubscription_invalid := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			maxNrOfInstances := omit,//Invalid attribute
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit, //O
			creator := omit,//O
			eventNotificationCriteria := omit,//O
			expirationCounter := omit,//O
			notificationURI := omit,//M
			groupID := omit,//O
			notificationForwardingURI := omit,//O
			batchNotify := omit,//O
			rateLimit := omit,//O
			preSubscriptionNotify := omit,//O
			pendingNotification := omit,//O
			notificationStoragePriority := omit,//O
			latestNotify := omit,//O
			notificationContentType := omit,//M
			notificationEventCat := omit,//O
			subscriberURI := omit,//O
			choice := omit//O
		};
		
		template (value) Container_invalid m_contentUpdateContainer_invalid := {
			resourceName := omit,//M
			resourceType := omit,//M
			resourceID := omit,//M
			parentID := omit,//M
			creationTime := omit,//M
			lastModifiedTime := omit,//M
			expirationCounter := omit,//Invalid attribute
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//M
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//M
			stateTag := omit,//M
			creator := omit,//M
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//M
			currentByteSize := omit,//M
			locationID := omit,//O
			ontologyRef := omit,//O
			disableRetrieval := omit, //O
			choice := omit//O
		};	
		
		template (value) TimeSeries_invalid m_contentUpdateTimeSeries_invalid := {
			resourceName := omit,//O
			resourceType := omit,//NP
			resourceID := omit,//NP
			parentID := omit,//NP
			creationTime := omit,//NP
			lastModifiedTime := omit,//NP
			expirationCounter := omit,//Field not existing in container resource
			labels := omit,//O
			accessControlPolicyIDs := omit,//O
			expirationTime := omit,//O
			dynamicAuthorizationConsultationIDs := omit, //O
			announceTo := omit,//O
			announcedAttribute := omit,//O
			creator := omit,//O
			maxNrOfInstances := omit,//O
			maxByteSize := omit,//O
			maxInstanceAge := omit,//O
			currentNrOfInstances := omit,//NP
			currentByteSize := omit,//NP
			periodicInterval := omit,//O
			missingDataDetect := omit,//O
			missingDataMaxNr := omit,//O
			missingDataList := omit,//NP
			missingDataCurrentNr := omit,//NP
			missingDataDetectTimer := omit,//O
			ontologyRef := omit,//O
			choice := omit//NP
		};	
				
	}//end group SpecialContents
	
	group ResponsePrimitives {
		
		/**
		 * @desc  Base template for sending ResponsePrimitive
		 * @param p_statusCode	Status code
		 * @param p_requestId	Request ID of the corresponding request
		 */
		template (value) ResponsePrimitive m_responsePrimitive(in ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (omit) PrimitiveContent p_content := omit) := {
			responseStatusCode := p_statusCode,
			requestIdentifier := p_requestId,
			primitiveContent := p_content,
			to_ := omit,
			from_ := omit,
			originatingTimestamp := omit,
			resultExpirationTimestamp := omit,
			eventCategory := omit,
			contentStatus := omit,
			contentOffset := omit,
			assignedTokenIdentifiers := omit,
			tokenRequestInformation := omit,
			releaseVersionIndicator := PX_RELEASE_VERSION,
			vendorInformation := omit
		};
		
		/**
		 * @desc  Base template for sending ResponsePrimitive
		 * @param p_statusCode	Status code
		 * @param p_requestId	Request ID of the corresponding request
		 */
		template (value) ResponsePrimitive m_responsePrimitive_content(in ResponseStatusCode p_statusCode, in RequestID p_requestId, in template (value) PrimitiveContent p_content) modifies m_responsePrimitive := {
			primitiveContent := p_content			
		}
		
		template ResponsePrimitive mw_responsePrimitiveforInfoPort := ?;
		
		template RequestPrimitive mw_requestPrimitiveforInfoPort := ?;
		
		template ResponsePrimitive mw_responsePrimitive(in template  ResponseStatusCode p_statusCode, in template PrimitiveContent p_content := *) := {
			responseStatusCode := p_statusCode,
			requestIdentifier := ?,
			primitiveContent := p_content,
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := ?,
			vendorInformation := *
			
    	};
    	
		template ResponsePrimitive mw_responsePrimitiveInverse(ResponseStatusCode p_statusCode) := {
			responseStatusCode := complement(p_statusCode),
			requestIdentifier := ?,
			primitiveContent := *,
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := ?,
			vendorInformation := *
			
		};
    	
    	template  ResponsePrimitive mw_responsePrimitiveOK(in template PrimitiveContent p_content := *) := {
			responseStatusCode := (int2000, int2001, int2002, int2004),
			requestIdentifier := ?,
			primitiveContent := p_content,
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := ?,
			vendorInformation := *
    	};
        		 
    	template ResponsePrimitive mw_responsePrimitiveKO := {
 			responseStatusCode := complement(int2000, int2001, int2002, int2004),
			requestIdentifier := ?,
			primitiveContent := *,
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := ?,
			vendorInformation := *
    	};
    	
    	template ResponsePrimitive mw_responsePollingResponse (template RequestPrimitive p_requestPrimitive := ?) := {
			responseStatusCode := int2000,
			requestIdentifier := ?,
			primitiveContent := {requestPrimitive := p_requestPrimitive},
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := ?,
			vendorInformation := *
		};
    	
		template ResponsePrimitive mw_responseDiscovery (template URIList p_uriList := ?) := {
			responseStatusCode := int2000,
			requestIdentifier := ?,
			primitiveContent := {uRIList := p_uriList},
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := ?,
			vendorInformation := *
		};
    	
		template (value) ResponsePrimitive m_responseNotification(ResponseStatusCode p_statusCode, in template(omit) PrimitiveContent p_notification := omit) := {
			responseStatusCode := p_statusCode,
			requestIdentifier := testcasename() & "-m_responseNotification",
			primitiveContent := p_notification,
			to_ := omit,
			from_ := omit,
			originatingTimestamp := omit,
			resultExpirationTimestamp := omit,
			eventCategory := omit,
			contentStatus := omit,
			contentOffset := omit,
			assignedTokenIdentifiers := omit,
			tokenRequestInformation := omit,
			releaseVersionIndicator := PX_RELEASE_VERSION,
			vendorInformation := omit
		};
		
		template ResponsePrimitive mw_responseNotify(ResponseStatusCode p_statusCode) := {
			responseStatusCode := p_statusCode,
			requestIdentifier := ?,
			primitiveContent := omit,
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := ?,
			vendorInformation := *
		};
    	
		group InfoPortTemplates {
		
			template MyResource mw_resource := ?;	
			template integer mw_resourceIndex := ?;	
			template XSD.ID mw_resourceAddress := ?;
		
		}//end group InfoPortTemplates
    	
	}//end group ResponsePrimitives	
	
	group UpperTester {
		template (value) UtTriggerPrimitive m_utCreate := {
			requestPrimitive := {
				operation := int1,
				to_ := "NotInitialized",
				from_ := "UNINITIALIZED",
				requestIdentifier := testcasename() & "-m_utCreate",
				resourceType := omit,
				primitiveContent := omit,
				roleIDs := omit, 
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit, 
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			}, 
			forcedFields := omit
		};
		
		template (value) UtTriggerPrimitive m_utCreateAe modifies m_utCreate := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utCreateAe",
				resourceType := int2,
				primitiveContent := {aE := m_contentAe_allOmit}
			}
		}
		
		template (value) UtTriggerPrimitive m_utCreateContainer modifies m_utCreate := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utCreateContainer",
				resourceType := int3,
				primitiveContent := {container := valueof(mw_contentContainer_allOmit)}
			}
		}
		
		template (value) UtTriggerPrimitive m_utCreateContentInstance modifies m_utCreate := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utCreateContentInstance",
				resourceType := int4,
				primitiveContent := {contentInstance := m_contentContentInstance_allOmit}
			}
		}
		
		template (value) UtTriggerPrimitive m_utCreateSubscription modifies m_utCreate := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utCreateSubscription",
				resourceType := int23,
				primitiveContent := {subscription := m_contentSubscription}
			}
		}
		
		template (value) UtTriggerPrimitive m_utCreateRemoteCSE modifies m_utCreate := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utCreateRemoteCSE",
				resourceType := int16,
				primitiveContent := {remoteCSE := m_contentRemoteCSE_allOmit}
			}
		}
 		
		template (value) UtTriggerPrimitive m_utCreatePollingChannel modifies m_utCreate := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utCreatePollingChannel",
				resourceType := int15,
				primitiveContent := {pollingChannel := m_contentPollingChannel_allOmit}
			}
		}
 		
		template (value) UtTriggerPrimitive m_utRetrieve(XSD.ID p_targetResourceAddress) := {
			requestPrimitive := {
				operation := int2,
				to_ := p_targetResourceAddress,
				from_ := "UNINITIALIZED",
				requestIdentifier := "m_utRetrieveResource",
				resourceType := omit,
				primitiveContent := omit,
				roleIDs := omit, 
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				filterCriteria := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit, 
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			}, 
			forcedFields := omit
		};
		
		template (value) UtTriggerPrimitive m_utRetrievePollingChannelUri(XSD.ID p_targetResourceAddress) modifies m_utRetrieve := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utRetrievePollingChannelUri",
				resourceType := int15,
				primitiveContent := {pollingChannel := m_contentRetrievePollingChannel}
			}
		}
		
		template (value) UtTriggerPrimitive m_utUpdate := {
			requestPrimitive := {
				operation := int3,
				to_ := "NotInitialized",
				from_ := "UNINITIALIZED",
				requestIdentifier := testcasename() & "-m_utUpdate",
				resourceType := omit,
				primitiveContent := omit,
				roleIDs := omit, 
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit, 
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			}, 
			forcedFields := omit
		};
		
		template (value) UtTriggerPrimitive m_utUpdateAe modifies m_utUpdate := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utUpdateContainer",
				resourceType := int2,
				primitiveContent := {aE := m_contentUpdateAe}
			}
		}
		
		template (value) UtTriggerPrimitive m_utUpdateContainer modifies m_utUpdate := {
			requestPrimitive := {
				requestIdentifier := testcasename() & "-m_utUpdateContainer",
				resourceType := int3,
				primitiveContent := {container := m_contentUpdateContainer}
			}
		}
		
		template (value) UtTriggerPrimitive m_utDelete := {
			requestPrimitive := {
				operation := int4,
				to_ := "NotInitialized",
				from_ := "UNINITIALIZED",
				requestIdentifier := testcasename() & "-m_utDeleteRequest",
				resourceType := omit,
				primitiveContent := omit, 
				roleIDs := omit, 
				originatingTimestamp := omit,
				requestExpirationTimestamp := omit,
				resultExpirationTimestamp := omit,
				operationExecutionTime := omit,
				responseType := omit,
				resultPersistence := omit,
				resultContent := omit,
				eventCategory := omit,
				deliveryAggregation := omit,
				groupRequestIdentifier := omit,
				filterCriteria := omit,
				desiredIdentifierResultType := omit,
				tokens := omit,
				tokenIDs := omit,
				localTokenIDs := omit, 
				tokenRequestIndicator := omit,
				releaseVersionIndicator := PX_RELEASE_VERSION,
				vendorInformation := omit
			}, 
			forcedFields := omit
		};
		
		template (value) UtTriggerPrimitive m_utDeleteResource(XSD.ID p_targetResourceAddress) modifies m_utDelete := {
			requestPrimitive := {
				to_ := p_targetResourceAddress
			}
		};
		
		
		
		template UtTriggerAckPrimitive mw_utResponseOK := {
			responseStatusCode := int2000,
			requestIdentifier := ?,
			primitiveContent := *,
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *, 
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := *,
			vendorInformation := *

		}
		
		template UtTriggerAckPrimitive mw_utResponseKO := {
			responseStatusCode := int4000,
			requestIdentifier := ?,
			primitiveContent := *,
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := *,
			vendorInformation := *

		}
		
		template UtTriggerAckPrimitive mw_utResponse(ResponseStatusCode p_statusCode) := {
			responseStatusCode := p_statusCode,
			requestIdentifier := ?,
			primitiveContent := *,
			to_ := *,
			from_ := *,
			originatingTimestamp := *,
			resultExpirationTimestamp := *,
			eventCategory := *,
			contentStatus := *,
			contentOffset := *,
			assignedTokenIdentifiers := *,
			tokenRequestInformation := *,
			releaseVersionIndicator := ?,//FIXME
			vendorInformation := *

		}
	 }	
	
}  // end of module