-- XSD schema extracted from ITU-T H.741.2 (2012) Amd. 1 (11/2013)
<?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>