<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:am2="http://www.itu.int/xml-namespace/itu-t/h.741.2/datastructure" xmlns:mpeg7="urn:mpeg:mpeg7:schema:2004"  xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr" 
xmlns:gml="http://www.opengis.net/gml" 
xmlns="http://www.w3.org/2001/XMLSchema"  targetNamespace="http://www.itu.int/xml-namespace/itu-t/h.741.2/datastructure" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<annotation>
		<documentation xml:lang="en"><![CDATA[
			This schema (H.741.2-v1.xsd) is the ITU-T H.741 Part.2 Metadata, Version 1 (for H.741.2-201206.doc).
			The namespace of the schema is "http://www.itu.int/xml-namespace/itu-t/h.741.2/datastructure", and
			its preferred namespace prefix is "am2".]]></documentation>
	</annotation>
	<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
	<import namespace="urn:mpeg:mpeg7:schema:2004" schemaLocation="mpeg7-mds.xsd"/>
	<import namespace="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr" schemaLocation="rfc5139.xsd"/>
	<import namespace="http://www.opengis.net/gml" schemaLocation="./gml/2.1.2/gml.xsd"/>

	<!-- ========================================================= -->
	<!-- ========================================================= -->
	<!-- Primitive Data Types for H.741 Part.2 -->
	<!-- ========================================================= -->
	<!-- ========================================================= -->
	<simpleType name="NonEmptyString">
		<restriction base="string">
			<minLength value="1"/>
		</restriction>
	</simpleType>
	<complexType name="PointType">
		<complexContent>
			<extension base="gml:PointType"/>
		</complexContent>
	</complexType>
	<simpleType name="XPath">
		<restriction base="mpeg7:xPathRefType"/>
		<!-- Defined in MPEG-7 MDS. -->
	</simpleType>
	<complexType name="CivicAddr">
		<complexContent>
			<extension base="ca:civicAddress"/>
		</complexContent>
		<!-- Defined in IETF RFC 5139. -->
	</complexType>
	<simpleType name="URL">
		<restriction base="anyURI"/>
	</simpleType>
	<simpleType name="IpAddressType">
		<restriction base="string">
			<pattern value="((1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"/>
		</restriction>
		<!-- Defined in "ATIS-0800026.xsd". -->
	</simpleType>
	<simpleType name="IIFIDType">
		<restriction base="string">
			<whiteSpace value="collapse"/>
		</restriction>
		<!-- Defined in "ATIS-0800026.xsd". -->
	</simpleType>
	<simpleType name="H770IDType">
		<union memberTypes="am2:IIFIDType am2:IpAddressType"/>
		<!-- Defined in ITU-T MDSD. -->
	</simpleType>
	<!-- ============================================== -->
	<simpleType name="HexBinary6">
		<restriction base="hexBinary">
			<maxLength value="6"/>
		</restriction>
	</simpleType>
	<simpleType name="HexBinary8">
		<restriction base="hexBinary">
			<maxLength value="8"/>
		</restriction>
	</simpleType>
	<simpleType name="HexBinary16">
		<restriction base="hexBinary">
			<maxLength value="16"/>
		</restriction>
	</simpleType>
	<simpleType name="PercentageType">
		<restriction base="float">
			<minInclusive value="0.0"/>
			<maxInclusive value="100.0"/>
		</restriction>
	</simpleType>
	<simpleType name="NumOfDaysType">
		<restriction base="positiveInteger"/>
	</simpleType>
	<simpleType name="NumOfSecondsType">
		<restriction base="positiveInteger"/>
	</simpleType>
	<simpleType name="NumOfSecondsWithZeroType">
		<restriction base="nonNegativeInteger"/>
	</simpleType>
	<complexType name="LanguageType">
		<attribute ref="xml:lang" use="optional"/>
	</complexType>
	<complexType name="ResolutionType">
		<attribute name="width" type="positiveInteger" use="required"/>
		<attribute name="height " type="positiveInteger" use="required"/>
	</complexType>
	<complexType name="TimeWindowOfTheDayType">
		<attribute name="startTime" type="time" use="optional"/>
		<attribute name="endTime" type="time" use="optional"/>
	</complexType>
	<complexType name="TimeWindowOfTheDayWithDefaultValueType">
		<attributeGroup ref="am2:TimeWindowOfTheDayWithDefaultValue"/>
	</complexType>
	<attributeGroup name="TimeWindowOfTheDayWithDefaultValue">
		<attribute name="startTime" type="time" use="optional" default="00:00:00.00"/>
		<attribute name="endTime" type="time" use="optional" default="23:59:59.99"/>
	</attributeGroup>
	<!-- ============================================== -->
	<simpleType name="AnonUserIDSType">
		<list itemType="am2:AnonUserIDType"/>
	</simpleType>
	<simpleType name="AnonUserIDType">
		<restriction base="positiveInteger"/>
	</simpleType>
	<simpleType name="UserIDSType">
		<list itemType="am2:UserIDType"/>
	</simpleType>
	<simpleType name="UserIDType">
		<restriction base="am2:NonEmptyString"/>
	</simpleType>
	<simpleType name="MeasurementRequestIDSType">
		<list itemType="am2:MeasurementRequestIDType"/>
	</simpleType>
	<simpleType name="MeasurementRequestIDType">
		<restriction base="positiveInteger"/>
	</simpleType>
	<simpleType name="ServiceInstanceIDType">
		<restriction base="integer"/>
	</simpleType>
	<simpleType name="TerminalDeviceIDType">
		<restriction base="am2:HexBinary16"/>
	</simpleType>
	<simpleType name="SubscriberIDType">
		<restriction base="am2:NonEmptyString"/>
	</simpleType>
	<simpleType name="PackageIDType">
		<restriction base="positiveInteger"/>
	</simpleType>
	<!-- ========================================================= -->
	<!-- ========================================================= -->
	<!-- Data Elements for H.741 Part.2 -->
	<!-- ========================================================= -->
	<!-- ============================================== -->
	<!-- User Device Information (Tables 2,5,6) -->
	<!-- ============================================== -->
	<complexType name="UserDeviceInformationType">
		<sequence>
			<element name="AMFCapabilityProfile" type="am2:AMFCapabilityProfileType" minOccurs="0"/>
			<element name="CaptionLanguage" type="am2:LanguageType"/>
			<element name="AudioLanguage" type="am2:LanguageType"/>
			<element name="TVInformation" type="am2:TVandAudioAmplifierInformationType" minOccurs="0"/>
			<element name="IPTV-TVInformation" type="am2:DeviceInformationBaseType" minOccurs="0"/>
			<element name="AudioAmplifierInformation" type="am2:TVandAudioAmplifierInformationType" minOccurs="0"/>
			<element name="STBInformation" type="am2:DeviceInformationBaseType" minOccurs="0"/>
			<element name="MobileDeviceInformation" type="am2:DeviceInformationBaseType" minOccurs="0"/>
			<element name="PCInformation" type="am2:DeviceInformationBaseType" minOccurs="0"/>
			<element name="ImageSize" type="am2:ResolutionType" minOccurs="0"/>
			<element name="ZoomFactor" type="float" minOccurs="0"/>
			<element name="Obscuration" type="am2:PercentageType" minOccurs="0"/>
			<element name="VolumeDirection" type="am2:VolumeDirectionType" minOccurs="0"/>
			<element name="ControlDevice" type="am2:ControlDeviceType" minOccurs="0"/>
		</sequence>
		<attribute name="serviceInstanceId" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="AMFCapabilityProfileType">
		<sequence>
			<element name="TransportCapabilitiesList" type="am2:TransportCapabilitiesListType"/>
			<element name="SecurityCapabilities" type="am2:SecurityCapabilitiesType"/>
			<element name="PermissionOperationModes" type="am2:PermissionOperationModesType"/>
			<element name="ConfigurationPackageDelivery" type="am2:ConfigurationPackageDeliveryType"/>
			<element name="MeasurementTriggerMethod" type="am2:MeasurementTriggerMethodType"/>
			<element name="ReportDeliveryModes" type="am2:ReportDeliveryModesType"/>
			<element name="OperationalManagementCapabilities" type="am2:OperationalManagementCapabilitiesType"/>
			<element name="Compression" type="am2:CompressionType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="TransportCapabilitiesListType">
		<sequence>
			<element name="TransportProtocolMode" type="am2:TransportProtocolModeType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="TransportProtocolModeType">
		<restriction base="NMTOKEN"/>
		<!-- Values are out of scope of AM. -->
	</simpleType>
	<complexType name="SecurityCapabilitiesType">
		<sequence>
			<element name="CryptographicProtocol" type="am2:CryptographicProtocolType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="CryptographicProtocolType">
		<restriction base="NMTOKEN">
			<enumeration value="TLS"/>
			<enumeration value="TLS-SRP"/>
			<enumeration value="OTP"/>
			<enumeration value="HMAC"/>
		</restriction>
	</simpleType>
	<complexType name="PermissionOperationModesType">
		<sequence>
			<element name="PermissionMode" type="am2:PermissionModeType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="PermissionModeType">
		<restriction base="NMTOKEN">
			<enumeration value="External"/>
			<enumeration value="Internal"/>
			<enumeration value="Hybrid"/>
		</restriction>
	</simpleType>
	<complexType name="ConfigurationPackageDeliveryType">
		<sequence>
			<element name="ConfigurationMode" type="am2:ConfigurationModeType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="ConfigurationModeType">
		<restriction base="NMTOKEN">
			<enumeration value="Push"/>
			<enumeration value="Pull"/>
			<enumeration value="Hybrid"/>
		</restriction>
	</simpleType>
	<complexType name="MeasurementTriggerMethodType">
		<sequence>
			<element name="EventTrigger" type="am2:CommonEventForTriggerMethodType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="TimeTrigger" type="am2:CommonSampleSetForTriggerMethodType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ServiceStartTrigger" type="am2:LimitedSampleSetForTriggerMethodType" minOccurs="0" maxOccurs="unbounded"/>
			<!-- The element name "TimeSampleTrigger" is changed into "TimeTrigger"  in order to maintain consistency. (see the element "TimeTrigger" of the type "MeasurementScheduleType") -->
		</sequence>
	</complexType>
	<complexType name="CommonEventForTriggerMethodType">
		<attribute name="eventName" type="am2:CommonEventNameType" use="optional"/>
		<!-- The attribute "eventName" is newly added in order to maintain consistency. (see the element "EventTrigger" of the type "MeasurementScheduleType") -->
		<!-- The "use" definition of the attribute "eventName" should be "required" according to the spec, but the value is set as "optional" for type extension (based on restriction) in the part 3 schema. -->
	</complexType>
	<complexType name="CommonSampleSetForTriggerMethodType">
		<attribute name="sampleSetName" type="am2:CommonSampleSetNameType" use="optional"/>
		<!-- The attribute "sampleSetName" is newly added in order to maintain consistency. (see the element "TimeTrigger" of the type "MeasurementScheduleType") -->
		<!-- The "use" definition of the attribute "sampleSetName" should be "required" according to the spec, but the value is set as "optional" for type extension (based on restriction) in the part 3 schema. -->
	</complexType>
	<complexType name="LimitedSampleSetForTriggerMethodType">
		<attribute name="sampleSetName" type="am2:LimitedSampleSetNameType" use="optional"/>
		<!-- The attribute "sampleSetName" is newly added in order to maintain consistency. (see the element "ServiceStartTrigger" of the type "MeasurementScheduleType") -->
		<!-- The "use" definition of the attribute "sampleSetName" should be "required" according to the spec, but the value is set as "optional" for type extension (based on restriction) in the part 3 schema. -->
	</complexType>
	<simpleType name="CommonEventNameType">
		<restriction base="NMTOKEN">
			<enumeration value="VideoResize"/>
			<enumeration value="VideoZoom"/>
			<enumeration value="VideoObscure"/>
			<enumeration value="AudioVolume"/>
			<enumeration value="ConfigurationChange"/>
			<enumeration value="UserChange"/>
			<enumeration value="UserInfoChange"/>
			<enumeration value="AudioLanguageChange"/>
			<enumeration value="CaptionLanguageChange"/>
			<enumeration value="DisplayStatus"/>
		</restriction>
	</simpleType>
	<simpleType name="CommonSampleSetNameType">
		<restriction base="NMTOKEN">
			<enumeration value="UserPresent"/>
			<enumeration value="TDLocation"/>
			<enumeration value="DeviceInfo"/>
			<enumeration value="UserBioInfo"/>
			<enumeration value="GenericUserInfo"/>
			<enumeration value="EventCount"/>
			<enumeration value="UserList"/>
			<enumeration value="PermitBlockedInfo"/>
		</restriction>
	</simpleType>
	<simpleType name="LimitedSampleSetNameType">
		<restriction base="am2:CommonSampleSetNameType">
			<enumeration value="TDLocation"/>
			<enumeration value="DeviceInfo"/>
			<enumeration value="UserBioInfo"/>
			<enumeration value="GenericUserInfo"/>
			<enumeration value="UserList"/>
			<enumeration value="PermitBlockedInfo"/>
		</restriction>
	</simpleType>
	<complexType name="ReportDeliveryModesType">
		<sequence>
			<element name="DeliveryMode" type="am2:DeliveryModeType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="DeliveryModeType">
		<restriction base="NMTOKEN">
			<enumeration value="ImmediatePush"/>
			<enumeration value="DelayedPush"/>
			<enumeration value="Pull"/>
			<enumeration value="DelayedPushAndPull"/>
		</restriction>
	</simpleType>
	<complexType name="OperationalManagementCapabilitiesType">
		<sequence>
			<element name="OperationalManagement" type="am2:OperationalManagementType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="OperationalManagementType">
		<restriction base="NMTOKEN">
			<enumeration value="Acknowledgements"/>
			<enumeration value="MulticastThresholdRanges"/>
			<enumeration value="MulticastErrorReporting"/>
			<enumeration value="MulticastUserInfo"/>
			<enumeration value="MulticastDeviceType"/>
			<enumeration value="MulticastMAC"/>
			<enumeration value="ContentFiltering"/>
			<enumeration value="ChannelsMeasured"/>
			<enumeration value="ChannelChangeFilter"/>
			<enumeration value="NavMethodReporting"/>
			<enumeration value="ControlDeviceReporting"/>
		</restriction>
	</simpleType>
	<simpleType name="CompressionType">
		<restriction base="NMTOKEN">
			<enumeration value="BiM"/>
			<enumeration value="ZLIB"/>
			<enumeration value="Infoset"/>
			<enumeration value="EXI"/>
			<enumeration value="None"/>
			<!-- "None" is included for the "CompressionType" of Part 1. -->
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="TVandAudioAmplifierInformationType">
		<sequence>
			<element name="Manufacturer" type="am2:EISA-PNPID" minOccurs="0"/>
			<element name="Model " type="am2:VESA-EDID-ModelCode" minOccurs="0"/>
			<element name="SerialNum " type="am2:VESA-EDID-SerialNumCode" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="EISA-PNPID">
		<restriction base="unsignedShort"/>
	</simpleType>
	<simpleType name="VESA-EDID-ModelCode">
		<restriction base="unsignedShort"/>
	</simpleType>
	<simpleType name="VESA-EDID-SerialNumCode">
		<restriction base="unsignedInt"/>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="DeviceInformationBaseType">
		<sequence>
			<element name="Manufacturer" type="am2:IEEE-OUI" minOccurs="0"/>
			<element name="Model " type="am2:NonEmptyString" minOccurs="0"/>
			<element name="SerialNum " type="am2:NonEmptyString" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="IEEE-OUI">
		<restriction base="am2:HexBinary6"/>
	</simpleType>
	<!-- ============================================== -->
	<simpleType name="VolumeDirectionType">
		<restriction base="NMTOKEN">
			<enumeration value="Up"/>
			<enumeration value="Down"/>
			<enumeration value="Mute"/>
			<enumeration value="Unmute"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<simpleType name="ControlDeviceType">
		<restriction base="integer">
			<enumeration value="0"/>
			<enumeration value="1"/>
			<enumeration value="2"/>
			<enumeration value="10"/>
			<enumeration value="20"/>
			<enumeration value="30"/>
			<enumeration value="40"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<!-- User information (Tables 3,4) -->
	<!-- ============================================== -->
	<complexType name="UserInformationType">
		<sequence>
			<element name="PermissionLevel" type="am2:PermissionLevelType" default="0" minOccurs="0"/>
			<element name="ControlledUserInfoTypeString" type="am2:ControlledUserInfoTypeStringType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ControlledUserInfoTypeDate" type="am2:ControlledUserInfoTypeDateType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ControlledUserInfoTypeAddress" type="am2:ControlledUserInfoAddressType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="GenericUserInfoType" type="am2:GenericUserInfoTypeType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="TDLocation" type="am2:PointType"/>
			<element name="UserPresent" type="am2:UserPresentType"/>
			<element name="UserList" type="am2:UserListType" minOccurs="0"/>
			<element name="PermitBlockedInfo" type="am2:PermitBlockedInfoType"/>
		</sequence>
		<attribute name="serviceProviderId" type="am2:H770IDType" use="required"/>
		<attribute name="subscriberId" type="am2:SubscriberIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<simpleType name="PermissionLevelType">
		<restriction base="nonNegativeInteger">
			<enumeration value="0"/>
			<enumeration value="1"/>
			<enumeration value="2"/>
			<enumeration value="3"/>
		</restriction>
	</simpleType>
	<simpleType name="LimitedPermissionLevelType">
		<restriction base="am2:PermissionLevelType">
			<enumeration value="0"/>
			<enumeration value="1"/>
			<enumeration value="2"/>
		</restriction>
	</simpleType>
	<complexType name="ControlledUserInfoTypeStringType">
		<simpleContent>
			<extension base="am2:NonEmptyString">
				<attribute name="controlledUserInfoValueString" type="am2:NonEmptyString" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="ControlledUserInfoTypeDateType">
		<simpleContent>
			<extension base="am2:NonEmptyString">
				<attribute name="controlledUserInfoValueDate" type="date" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<complexType name="ControlledUserInfoAddressType">
		<sequence>
			<element name="controlledUserInfoTypeAddress" type="am2:NonEmptyString"/>
			<element name="controlledUserInfoValueAddress" type="am2:CivicAddr"/>
		</sequence>
	</complexType>
	<complexType name="GenericUserInfoTypeType">
		<simpleContent>
			<extension base="am2:NonEmptyString">
				<attribute name="genericUserInfoValue" type="am2:NonEmptyString" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<!-- ============================================== -->
	<complexType name="UserPresentType">
		<sequence>
			<element name="PresenceMethod" type="am2:PresenceMethodType" default="RemoteKeyPush" minOccurs="0"/>
			<element name="PresenceTime" type="time" minOccurs="0"/>
			<element name="PresenceConfidence" type="am2:PercentageType" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="PresenceMethodType">
		<restriction base="NMTOKEN">
			<enumeration value="RemoteKeyPush"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="UserListType">
		<sequence>
			<element name="UserIdInfo" type="am2:UserIdInfoType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="UserIdInfoType">
		<sequence>
			<element name="UserIdMethod" type="am2:NonEmptyString" minOccurs="0"/>
			<element name="UserIdConfidence" type="am2:PercentageType" minOccurs="0"/>
		</sequence>
		<attribute name="anonUserId" type="am2:AnonUserIDType" use="optional"/>
		<attribute name="userId" type="am2:UserIDType" use="optional"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="PermitBlockedInfoType">
		<sequence>
			<element name="PermissionLevelFlag" type="am2:LimitedPermissionLevelType" default="0" minOccurs="0"/>
			<element name="TerminalDeviceTypeFlag" type="am2:TerminalDeviceTypeType" minOccurs="0"/>
			<element name="ChannelFlag" type="boolean" default="false" minOccurs="0"/>
			<element name="ContentClassFlag" type="am2:ContentClassNameType" minOccurs="0"/>
		</sequence>
	</complexType>
	<!-- ========================================================= -->
	<!-- ========================================================= -->
	<!-- Data Structures for H.741 Part.2 -->
	<!-- ========================================================= -->
	<!-- ========================================================= -->
	<!-- -->
	<!-- ========================================================= -->
	<!-- 1. Configuration Package Request (Table 18) -->
	<!-- ========================================================= -->
	<complexType name="ConfigPackageRequestType">
		<sequence>
			<element name="TerminalDeviceType" type="am2:TerminalDeviceTypeType"/>
			<element name="UserPermitInfo" type="am2:UserPermitInfoType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="AMFCapabilityProfile" type="am2:AMFCapabilityProfileType" minOccurs="0"/>
			<element name="CurrentMeasurement" type="am2:PackageReferenceType" minOccurs="0"/>
			<element name="FutureMeasurement" type="am2:PackageReferenceType" minOccurs="0"/>
		</sequence>
		<attribute name="terminalDeviceIdref" type="am2:TerminalDeviceIDType" use="required"/>
		<attributeGroup ref="am2:SPAndSubscriberReference"/>
	</complexType>
	<complexType name="PackageReferenceType">
		<attributeGroup ref="am2:packageReference"/>
	</complexType>
	<attributeGroup name="packageReference">
		<attribute name="packageId" type="am2:PackageIDType" use="required"/>
		<attribute name="packageVersion" type="positiveInteger" use="optional"/>
	</attributeGroup>
	<attributeGroup name="SPAndSubscriberReference">
		<attribute name="serviceProviderIdref" type="am2:H770IDType" use="optional"/>
		<attribute name="subscriberIdref" type="am2:SubscriberIDType" use="required"/>
	</attributeGroup>
	<!-- ========================================================= -->
	<!-- 2. Configuration Package Request Response (Tables 9,10,11,12,13,15,19,20) -->
	<!-- ========================================================= -->
	<!-- ============================================== -->
	<!-- Configuration package request response (Table 19) -->
	<!-- ============================================== -->
	<complexType name="ConfigPackageRequestResponseType">
		<sequence>
			<element name="ConfigurationPackageCheckDelay" type="am2:NumOfDaysType" minOccurs="0"/>
			<element name="ImmediateMeasurementDirective" type="am2:ImmediateMeasurementDirectiveType" minOccurs="0"/>
			<element name="FutureMeasurementDirective" type="am2:FutureMeasurementDirectiveType" minOccurs="0"/>
		</sequence>
	</complexType>
	<!-- ============================================== -->
	<complexType name="ImmediateMeasurementDirectiveType">
		<sequence>
			<element name="Code" type="am2:ImmediateMeasurementDirectiveCodeType" minOccurs="0"/>
			<element name="AMFConfigurationPackage" type="am2:AMFConfigurationPackageType" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="ImmediateMeasurementDirectiveCodeType">
		<restriction base="NMTOKEN">
			<enumeration value="NoAMRequired"/>
			<enumeration value="NoConfPackageChange"/>
			<enumeration value="ConfPackagePresent"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="FutureMeasurementDirectiveType">
		<sequence>
			<element name="Code" type="am2:FutureMeasurementDirectiveCodeType" minOccurs="0"/>
			<element name="AMFConfigurationPackage" type="am2:AMFConfigurationPackageType" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="FutureMeasurementDirectiveCodeType">
		<restriction base="NMTOKEN">
			<enumeration value="NoFutureConfPackage"/>
			<enumeration value="NoConfPackageChange"/>
			<enumeration value="ConfPackagePresent"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<!-- AMF Configuration Package (Tables 16) -->
	<!-- ============================================== -->
	<complexType name="AMFConfigurationPackageType">
		<sequence>
			<element name="UserPermitInfo" type="am2:UserPermitInfoType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="MeasurementRequestSet" type="am2:MeasurementRequestSetType" maxOccurs="unbounded"/>
			<element name="MeasurementRequestSetFilter" type="am2:MeasurementRequestSetFilterType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attributeGroup ref="am2:packageReference"/>
		<attribute name="effectivityDateAndTime" type="dateTime" use="optional"/>
	</complexType>
	<!-- ============================================== -->
	<!-- User Permit Info (Tables 16,20) -->
	<!-- ============================================== -->
	<!-- ==================================== (Table 16) -->
	<complexType name="UserPermitInfoType">
		<sequence>
			<element name="UserPermit" type="am2:UserPermitType"/>
		</sequence>
		<attribute name="lastUpdateDateAndTime" type="dateTime" use="optional"/>
	</complexType>
	<!-- ==================================== (Table 20) -->
	<complexType name="UserPermitType">
		<sequence>
			<element name="DefaultPermissionLevel" type="am2:PermissionLevelType" minOccurs="0"/>
			<element name="DefaultAllContentClassExceptList" type="am2:ContentClassListType" minOccurs="0"/>
			<element name="UserPermissionSet" type="am2:UserPermissionSetType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="expirationDate" type="date" use="optional"/>
		<attributeGroup ref="am2:userListReference"/>
	</complexType>
	<attributeGroup name="userListReference">
		<attribute name="anonUserIdref" type="am2:AnonUserIDSType" use="optional"/>
		<attribute name="userIdref" type="am2:UserIDSType" use="optional"/>
	</attributeGroup>
	<complexType name="UserPermissionSetType">
		<sequence>
			<element name="PermissionLevel" type="am2:PermissionLevelType" minOccurs="0"/>
			<element name="UserPermission" type="am2:UserPermissionType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="UserPermissionType">
		<sequence>
			<!-- The element "ChannelQualifier" will be extended in the Part 3. -->
			<element name="TerminalDeviceSet" type="am2:TerminalDeviceSetType" minOccurs="0"/>
			<element name="AllContentClassExceptList" type="am2:ContentClassListType" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="TerminalDeviceSetType">
		<sequence>
			<element name="TerminalDeviceType" type="am2:TerminalDeviceTypeType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="TerminalDeviceTypeType">
		<restriction base="hexBinary">
			<enumeration value="0000"/>
			<enumeration value="0001"/>
			<enumeration value="0002"/>
			<enumeration value="0003"/>
			<enumeration value="0004"/>
			<enumeration value="0005"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<!-- Measurement Request Set (Tables 9,10,11,12,13) -->
	<!-- ============================================== -->
	<!-- ==================================== (Table 13) -->
	<complexType name="MeasurementRequestSetType">
		<sequence>
			<sequence>
				<element name="DefaultAllContentClassExceptList" type="am2:ContentClassListType" minOccurs="0"/>
				<element name="DefaultMeasurementPeriod" type="am2:MeasurementPeriodType" minOccurs="0" maxOccurs="unbounded"/>
				<element name="DefaultTimeDrivenMeasurementPeriodicity" type="am2:NumOfSecondsType" minOccurs="0"/>
				<element name="DefaultNothingNewReportMode" type="am2:NothingNewReportModeType" minOccurs="0"/>
				<element name="DefaultInterval" type="am2:NumOfDaysType" minOccurs="0"/>
				<element name="DefaultDeliveryAddress" type="am2:URL" minOccurs="0" maxOccurs="unbounded"/>
				<element name="DefaultRetransmitNumber" type="positiveInteger" minOccurs="0"/>
				<element name="DefaultStorageCongestionPolicy" type="am2:StorageCongestionPolicyType" default="DropSufficient" minOccurs="0"/>
				<element name="DefaultMeasurementReportNumberByPush" type="am2:MeasurementReportNumberByPushType" default="1" minOccurs="0"/>
				<element name="DefaultMaxTimeBetweenDelivery" type="am2:NumOfSecondsWithZeroType" default="0" minOccurs="0"/>
				<element name="DefaultDeliveryWindow" type="am2:TimeWindowOfTheDayWithDefaultValueType" minOccurs="0" maxOccurs="unbounded"/>
				<element name="DefaultServiceStartPermitBlockedInfo" type="am2:PermitBlockedInfoType" minOccurs="0"/>
				<element name="DefaultTimeTriggerPermitBlockedInfo" type="am2:PermitBlockedInfoType" minOccurs="0"/>
			</sequence>
			<element name="MeasurementRequest" type="am2:MeasurementRequestType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<!-- ===================================== (Table 9) -->
	<complexType name="MeasurementRequestType">
		<sequence>
			<!-- The element "LinearTVQualifier" will be extended in the Part 3. -->
			<element name="AllContentClassExceptList" type="am2:ContentClassListType" minOccurs="0"/>
			<element name="MeasurementSchedule" type="am2:MeasurementScheduleType" maxOccurs="unbounded"/>
			<element name="MeasurementDeliverySchedule" type="am2:MeasurementDeliveryScheduleType" minOccurs="0"/>
		</sequence>
		<attribute name="measurementRequestId" type="am2:MeasurementRequestIDType" use="required"/>
	</complexType>
	<!-- ==================================== (Table 10) -->
	<complexType name="ContentClassListType">
		<sequence>
			<element name="ContentClass" type="am2:ContentClassType" maxOccurs="unbounded"/>
			<!-- Original definitions of the element "ContentClassDomain". -->
			<!-- element name="ContentClassDomain" type="am2:ContentClassDomainType" maxOccurs="unbounded"/ -->
		</sequence>
	</complexType>
	<complexType name="ContentClassType">
		<simpleContent>
			<extension base="am2:ContentClassNameType">
				<attribute name="domain" type="am2:NonEmptyString" use="required"/>
			</extension>
		</simpleContent>
	</complexType>
	<simpleType name="ContentClassNameType">
		<restriction base="am2:NonEmptyString"/>
	</simpleType>
	<!-- ==================================== (Table 11) -->
	<complexType name="MeasurementScheduleType">
		<sequence>
			<element name="MeasurementPeriod" type="am2:MeasurementPeriodType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="EventTrigger" type="am2:EventTriggerForScheduleType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="TimeTrigger" type="am2:TimeTriggerForScheduleType" minOccurs="0"/>
			<element name="ServiceStartTrigger" type="am2:ServiceStartTriggerForScheduleType" minOccurs="0"/>
		</sequence>
	</complexType>
	<!-- ============================================== -->
	<complexType name="MeasurementPeriodType">
		<sequence>
			<element name="DayOfTheWeek" type="am2:DayWithTimeWindowType" default="0" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="DayWithTimeWindowType">
		<simpleContent>
			<extension base="am2:DayOfTheWeekType">
				<attributeGroup ref="am2:TimeWindowOfTheDayWithDefaultValue"/>
			</extension>
		</simpleContent>
	</complexType>
	<simpleType name="DayOfTheWeekType">
		<restriction base="nonNegativeInteger">
			<enumeration value="0"/>
			<enumeration value="1"/>
			<enumeration value="2"/>
			<enumeration value="3"/>
			<enumeration value="4"/>
			<enumeration value="5"/>
			<enumeration value="6"/>
			<enumeration value="7"/>
			<enumeration value="8"/>
			<enumeration value="9"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="TriggerBaseType">
		<sequence>
			<element name="Priority" type="am2:PriorityType" default="0" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="PriorityType">
		<restriction base="nonNegativeInteger">
			<minInclusive value="0"/>
			<maxInclusive value="10"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="EventTriggerForScheduleType">
		<complexContent>
			<extension base="am2:TriggerBaseType">
				<sequence>
					<element name="Event" type="am2:CommonEventForScheduleType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="CommonEventForScheduleType">
		<attribute name="eventName" type="am2:CommonEventNameType" use="optional"/>
		<attribute name="eventParameter1" type="normalizedString" use="optional"/>
		<!-- The attribute "eventName" is newly added in order to maintain consistency. (see the attribute "sampleSetIdentifier" of the type "CommonSampleSetType") -->
		<!-- The "use" definition of the attribute "eventName" should be "required", but the value is set as "optional" for type extension (based on restriction) in the part 3 schema. -->
	</complexType>
	<!-- ============================================== -->
	<complexType name="TimeTriggerForScheduleType">
		<complexContent>
			<extension base="am2:TriggerBaseType">
				<sequence>
					<element name="Periodicity" type="positiveInteger"/>
					<element name="NothingNewReportMode" type="am2:NothingNewReportModeType" default="0" minOccurs="0"/>
					<element name="SampleSet" type="am2:CommonSampleSetForScheduleType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<simpleType name="NothingNewReportModeType">
		<restriction base="nonNegativeInteger">
			<enumeration value="0"/>
			<enumeration value="1"/>
			<enumeration value="2"/>
		</restriction>
	</simpleType>
	<complexType name="CommonSampleSetForScheduleType">
		<sequence>
			<element name="SampleSetQualifier" type="am2:SampleSetQualifierType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="sampleSetName" type="am2:CommonSampleSetNameType" use="optional"/>
		<!-- The original name of the attribute "sampleSetName" is "sampleSetIdentifier". -->
		<!-- The values of the CommonSampleSetNameType are not "idtentifiers". They are just "names" of the sample set. -->
		<!-- Original "use" definition of the attribute "sampleSetName" should be "required", but the value is set as "optional" for type extension (based on restriction) in the part 3 schema. -->
	</complexType>
	<!-- ============================================== -->
	<complexType name="ServiceStartTriggerForScheduleType">
		<complexContent>
			<extension base="am2:TriggerBaseType">
				<sequence>
					<element name="Interval" type="am2:NumOfDaysType" minOccurs="0"/>
					<element name="SampleSet" type="am2:LimitedSampleSetForScheduleType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="LimitedSampleSetForScheduleType">
		<sequence>
			<element name="SampleSetQualifier" type="am2:SampleSetQualifierType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="sampleSetName" type="am2:LimitedSampleSetNameType" use="optional"/>
		<!-- The original name of the attribute "sampleSetName" is "sampleSetIdentifier". -->
		<!-- The values of the CommonSampleSetNameType are not "idtentifiers". They are just "names" of the sample set. -->
		<!-- Original "use" definition of the attribute "sampleSetName" should be "required", but the value is set as "optional" for type extension (based on restriction) in the part 3 schema. -->
	</complexType>
	<simpleType name="SampleSetQualifierType">
		<restriction base="NMTOKEN"/>
		<!-- Parameters relating to the sample set identifier attribute. -->
	</simpleType>
	<!-- ==================================== (Table 12) -->
	<complexType name="MeasurementDeliveryScheduleType">
		<sequence>
			<element name="DeliveryAddress" type="am2:URL" minOccurs="0" maxOccurs="unbounded"/>
			<element name="RetransmitNumber" type="positiveInteger" minOccurs="0"/>
			<element name="StorageCongestionPolicy" type="am2:StorageCongestionPolicyType" minOccurs="0"/>
			<choice>
				<element name="ImmediatePush" type="am2:ImmediatePushType" minOccurs="0"/>
				<element name="DelayedDelivery" type="am2:DelayedDeliveryType" minOccurs="0"/>
				<element name="Pull" type="am2:PullType" minOccurs="0"/>
				<element name="DelayedPushAndPull" type="am2:DelayedDeliveryType" minOccurs="0"/>
			</choice>
		</sequence>
	</complexType>
	<simpleType name="StorageCongestionPolicyType">
		<restriction base="NMTOKEN">
			<enumeration value="ImmediatePush"/>
			<enumeration value="DropSufficient"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="ImmediatePushType">
		<sequence>
			<element name="MeasurementReportNumberByPush" type="am2:MeasurementReportNumberByPushType" default="1" minOccurs="0"/>
			<element name="MaxTimeBetweenDelivery" type="am2:NumOfSecondsWithZeroType" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="MeasurementReportNumberByPushType">
		<restriction base="positiveInteger">
			<enumeration value="1"/>
		</restriction>
	</simpleType>
	<complexType name="DelayedDeliveryType">
		<sequence>
			<element name="DeliveryWindow" type="am2:TimeWindowOfTheDayType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="PullType">
		<!-- TBD -->
	</complexType>
	<!-- ============================================== -->
	<!-- Measurement Request Set Filter (Table 14) -->
	<!-- ============================================== -->
	<complexType name="MeasurementRequestSetFilterType">
		<sequence>
			<element name="UserInfoTargetString" type="am2:UserInfoTargetStringType" maxOccurs="unbounded"/>
			<!-- Original definitions of the element "UserInfoTarget". -->
			<!-- element name="UserInfoTarget" type="am2:UserInfoTargetType" maxOccurs="unbounded"/ -->
		</sequence>
		<attribute name="measurementRequestIdref" type="am2:MeasurementRequestIDSType" use="required"/>
	</complexType>
	<complexType name="UserInfoTargetStringType">
		<simpleContent>
			<extension base="am2:NonEmptyString">
				<attribute name="type" type="am2:NonEmptyString" use="required"/>
				<attribute name="ignoreIfUnavailable" type="boolean" use="optional" default="false"/>
			</extension>
		</simpleContent>
		<!-- Originally defined in H.741.4, but moved to H.741.2 in order to avoid recursive imports between the two schemas. -->
	</complexType>
	<!-- Original definitions of the type "UserInfoTargetType". -->
	<!-- complexType name="UserInfoTargetType">
		<sequence>
			<element name="UserInfoTypeString" type="am2:NonEmptyString"/>
			<element name="IgnoreIfUnavailable" type="boolean" default="false" minOccurs="0"/>
			<element name="UserInfoValueString" type="am2:NonEmptyString"/>
		</sequence>
	</complexType -->
	<!-- ========================================================= -->
	<!-- 3. Report Package Request (Table 15) -->
	<!-- ========================================================= -->
	<complexType name="MeasurementReportRequestType">
		<attribute name="measurementRequestIdref" type="am2:MeasurementRequestIDSType" use="optional"/>
	</complexType>
	<!-- ========================================================= -->
	<!-- 4. Report Package Request Response (Tables 21,22) -->
	<!-- ========================================================= -->
	<!-- ============================================== -->
	<!-- AM Report Package (Table 22) -->
	<!-- ============================================== -->
	<complexType name="AMReportPackageType">
		<sequence>
			<element name="StorageCongestionImpactedService" type="am2:StorageCongestionImpactedServiceType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="MeasurementReport" type="am2:MeasurementReportType" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="subscriberIdref" type="am2:SubscriberIDType" use="optional"/>
		<attribute name="terminalDeviceIdref" type="am2:TerminalDeviceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="StorageCongestionImpactedServiceType">
		<attribute name="serviceStopDropped" type="boolean" use="optional" default="false"/>
	</complexType>
	<!-- ============================================== -->
	<!-- Measurement Report (Table 21) -->
	<!-- ============================================== -->
	<complexType name="MeasurementReportType">
		<sequence>
			<element name="DisplayStatus" type="am2:DisplayStatusType" minOccurs="0"/>
			<element name="AudioFocus" type="am2:AudioFocusType" minOccurs="0"/>
			<element name="CaptionLanguageChange" type="am2:CaptionLanguageChangeType" minOccurs="0"/>
			<element name="AudioLanguageChange" type="am2:AudioLanguageChangeType" minOccurs="0"/>
			<element name="AudioVolume" type="am2:AudioVolumeType" minOccurs="0"/>
			<element name="ConfigurationChange" type="am2:ConfigurationChangeType" minOccurs="0"/>
			<element name="VideoObscure" type="am2:VideoObscureType" minOccurs="0"/>
			<element name="VideoZoom" type="am2:VideoZoomType" minOccurs="0"/>
			<element name="VideoResize" type="am2:VideoResizeType" minOccurs="0"/>
			<element name="EventCount" type="am2:EventCountType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="DeviceInformation" type="am2:DeviceInformationType" minOccurs="0"/>
			<element name="UserBiographicInformation" type="am2:UserBiographicInformationType" minOccurs="0"/>
			<element name="TDLocation" type="am2:PointType" minOccurs="0"/>
			<element name="UserList" type="am2:UserListType" minOccurs="0"/>
			<element name="UserPresent" type="am2:UserPresentType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="GenericUserInfo" type="am2:GenericUserInfoType" minOccurs="0"/>
			<element name="UserInfoChange" type="am2:UserInfoChangeType" minOccurs="0"/>
			<element name="PermitBlockedInfo" type="am2:PermitBlockedInfoType" minOccurs="0"/>
		</sequence>
		<attribute name="measurementRequestIdref" type="am2:MeasurementRequestIDType" use="required"/>
		<attribute name="measurementReportTriggerTime" type="dateTime" use="required"/>
	</complexType>
	<simpleType name="DisplayStatusType">
		<restriction base="NMTOKEN">
			<enumeration value="TurnedOff"/>
			<enumeration value="TurnedOn"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="AudioFocusType">
		<sequence>
			<element name="IPTVFocus" type="boolean" default="true" minOccurs="0"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="CaptionLanguageChangeType">
		<sequence>
			<element name="CaptionLanguage" type="am2:LanguageType"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="AudioLanguageChangeType">
		<sequence>
			<element name="AudioLanguage" type="am2:LanguageType"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="AudioVolumeType">
		<sequence>
			<element name="VolumeDirection" type="am2:VolumeDirectionType"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="ConfigurationChangeType">
		<sequence>
			<element name="AMFCapabilityProfile" type="am2:AMFCapabilityProfileType" minOccurs="0"/>
			<element name="TVInformation" type="am2:TVandAudioAmplifierInformationType" minOccurs="0"/>
			<element name="AudioAmplifierInformation" type="am2:TVandAudioAmplifierInformationType" minOccurs="0"/>
		</sequence>
	</complexType>
	<!-- ============================================== -->
	<complexType name="VideoObscureType">
		<sequence>
			<element name="Obscuration" type="am2:PercentageType"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="VideoZoomType">
		<sequence>
			<element name="ZoomFactor" type="float"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="VideoResizeType">
		<sequence>
			<element name="ResizedImage" type="am2:ResolutionType"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="EventCountType">
		<sequence>
			<element name="EventsCounted" type="nonNegativeInteger" default="0" minOccurs="0"/>
		</sequence>
		<attribute name="serviceInstanceIdref" type="am2:ServiceInstanceIDType" use="required"/>
		<attribute name="startTime" type="time" use="required"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="DeviceInformationType">
		<sequence>
			<element name="STBInformation" type="am2:DeviceInformationBaseType" minOccurs="0"/>
			<element name="AudioAmplifierInformation" type="am2:TVandAudioAmplifierInformationType" minOccurs="0"/>
			<element name="TVInformation" type="am2:TVandAudioAmplifierInformationType" minOccurs="0"/>
			<element name="IPTV-TVInformation" type="am2:DeviceInformationBaseType" minOccurs="0"/>
			<element name="MobileDeviceInformation" type="am2:DeviceInformationBaseType" minOccurs="0"/>
			<element name="PCInformation" type="am2:DeviceInformationBaseType" minOccurs="0"/>
		</sequence>
	</complexType>
	<!-- ============================================== -->
	<complexType name="UserBiographicInformationType">
		<sequence>
			<element name="UserIdBioInfo" type="am2:UserIdBioInfoType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="UserIdBioInfoType">
		<sequence>
			<element name="ControlledUserInfoTypeString" type="am2:ControlledUserInfoTypeStringType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ControlledUserInfoTypeDate" type="am2:ControlledUserInfoTypeDateType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ControlledUserInfoTypeAddress" type="am2:ControlledUserInfoAddressType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="userIdref" type="am2:UserIDType" use="optional"/>
	</complexType>
	<!-- ============================================== -->
	<complexType name="GenericUserInfoType">
		<sequence>
			<element name="UserIdGenericInfo" type="am2:UserIdGenericInfoType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="UserIdGenericInfoType">
		<sequence>
			<element name="GenericUserInfoType" type="am2:GenericUserInfoTypeType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attributeGroup ref="am2:userReference"/>
	</complexType>
	<attributeGroup name="userReference">
		<attribute name="anonUserIdref" type="am2:AnonUserIDType" use="optional"/>
		<attribute name="userIdref" type="am2:UserIDType" use="optional"/>
	</attributeGroup>
	<!-- ============================================== -->
	<complexType name="UserInfoChangeType">
		<sequence>
			<element name="ControlledUserInfoTypeString" type="am2:ControlledUserInfoTypeStringType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ControlledUserInfoTypeDate" type="am2:ControlledUserInfoTypeDateType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ControlledUserInfoTypeAddress" type="am2:ControlledUserInfoAddressType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="GenericUserInfoType" type="am2:GenericUserInfoTypeType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attributeGroup ref="am2:userReference"/>
	</complexType>
	<!-- ========================================================= -->
	<!-- 5. Ack (Table 17) -->
	<!-- ========================================================= -->
	<complexType name="AckType"/>
	<!-- ========================================================= -->
	<!-- 6. Error (Table 8) -->
	<!-- ========================================================= -->
	<complexType name="ErrorType">
		<sequence>
			<element name="Accepted" type="boolean" default="true" minOccurs="0"/>
			<element name="HighLevelError" type="am2:HighLevelErrorType" minOccurs="0"/>
			<element name="ConfigPackageError" type="am2:ConfigPackageErrorType" minOccurs="0"/>
			<element name="ReportRequestError" type="am2:ReportRequestErrorType" minOccurs="0"/>
			<element name="ReportError" type="am2:ReportErrorType" minOccurs="0"/>
			<element name="ConfigRequestError" type="am2:ConfigRequestErrorType" minOccurs="0"/>
		</sequence>
	</complexType>
	<!-- ============================================== -->
	<complexType name="HighLevelErrorType">
		<sequence>
			<element name="ErrorCode" type="am2:HighLevelErrorCodeType"/>
			<!-- The element "HighLevelErrorCode" is changed into "ErrorCode" in order to maintain consistency. (see "ConfigPackageErrorType", "ReportRequestErrorType", "ReportErrorType" and "ConfigRequestErrorType") -->
			<element name="RootElement" type="NMTOKEN"/>
		</sequence>
	</complexType>
	<simpleType name="HighLevelErrorCodeType">
		<restriction base="NMTOKEN">
			<enumeration value="NotWellFormedXMLMessage"/>
			<enumeration value="InvalidXMLMessage"/>
			<enumeration value="VersionMismatch"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="ConfigPackageErrorType">
		<sequence>
			<element name="ConfigPackageErrorInfo" type="am2:ConfigPackageErrorInfoType" maxOccurs="unbounded"/>
		</sequence>
		<attributeGroup ref="am2:packageReference"/>
	</complexType>
	<complexType name="ConfigPackageErrorInfoType">
		<sequence>
			<element name="ErrorCode" type="am2:ConfigPackageErrorInfoCodeType"/>
			<element name="ErrorElement" type="am2:XPath" minOccurs="0" maxOccurs="unbounded"/>
			<element name="ErrorEvent" type="am2:CommonEventNameType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<!-- The element "ConfigPackageErrorInfoType" is slightly modified in order to maintain consistency. (see "HighLevelErrorType" and "ReportRequestErrorInfoType") -->
	</complexType>
	<simpleType name="ConfigPackageErrorInfoCodeType">
		<restriction base="NMTOKEN">
			<enumeration value="ElementNotSupported"/>
			<enumeration value="ElementInfoNotAvailable"/>
			<enumeration value="ElementNotPermitted"/>
			<enumeration value="EventNotSupported"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="ReportRequestErrorType">
		<sequence>
			<element name="ReportRequestErrorInfo" type="am2:ReportRequestErrorInfoType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="ReportRequestErrorInfoType">
		<sequence>
			<element name="ErrorCode" type="am2:ReportRequestErrorInfoCodeType"/>
			<element name="ErrorElement" type="am2:XPath" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="measurementRequestIdref" type="am2:MeasurementRequestIDSType" use="optional"/>
	</complexType>
	<simpleType name="ReportRequestErrorInfoCodeType">
		<restriction base="NMTOKEN">
			<enumeration value="RequestedMeasurementRequestIdWhichWasNotPreviouslyConfigured"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="ReportErrorType">
		<sequence>
			<element name="ReportErrorInfo" type="am2:ReportErrorInfoType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="ReportErrorInfoType">
		<sequence>
			<element name="ErrorCode" type="am2:ReportErrorInfoCodeType"/>
			<element name="ErrorElement" type="am2:XPath" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
		<attribute name="measurementRequestIdref" type="am2:MeasurementRequestIDSType" use="optional"/>
	</complexType>
	<simpleType name="ReportErrorInfoCodeType">
		<restriction base="NMTOKEN">
			<enumeration value="ElementOrAttributeValueUnknown"/>
			<enumeration value="KnownButUnexpectedElementOrAttributeValue"/>
		</restriction>
	</simpleType>
	<!-- ============================================== -->
	<complexType name="ConfigRequestErrorType">
		<sequence>
			<element name="ConfigRequestErrorInfo" type="am2:ConfigRequestErrorInfoType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="ConfigRequestErrorInfoType">
		<sequence>
			<element name="ErrorCode" type="am2:ConfigRequestErrorInfoCodeType"/>
			<element name="ErrorElement" type="am2:XPath" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="ConfigRequestErrorInfoCodeType">
		<restriction base="NMTOKEN">
			<enumeration value="ElementOrAttributeValueUnknown"/>
		</restriction>
	</simpleType>
</schema>
