<application xmlns="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:prefix1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message"><grammars><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:ns2="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure" xmlns:registry="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/registry" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/registry" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/registry">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure"/>
    <xs:complexType name="NotifyRegistryEventType">
        <xs:sequence>
            <xs:element name="EventTime" type="xs:dateTime"/>
            <xs:element minOccurs="0" name="RegistrationID" type="xs:string"/>
            <xs:element minOccurs="0" name="ObjectURN" type="xs:anyURI"/>
            <xs:element name="SubscriptionURN" type="xs:anyURI"/>
            <xs:element name="EventAction" type="ns1:ActionType"/>
            <xs:element minOccurs="0" name="RegistrationEvent" type="registry:RegistrationEventType"/>
            <xs:element minOccurs="0" name="StructuralEvent" type="registry:StructuralEventType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RegistrationEventType">
        <xs:sequence>
            <xs:element name="Registration" type="registry:RegistrationType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RegistrationType">
        <xs:sequence>
            <xs:element name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
            <xs:element name="Datasource" type="registry:DataSourceType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="lastUpdated" type="xs:dateTime"/>
        <xs:attribute name="indexTimeSeries" type="xs:boolean"/>
        <xs:attribute name="indexDataSet" type="xs:boolean"/>
        <xs:attribute name="indexAttributes" type="xs:boolean"/>
        <xs:attribute name="indexReportingPeriod" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="DataSourceType">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="SimpleDataSource" type="xs:string"/>
                <xs:element name="QueryableDataSource" type="registry:QueryableDataSourceType"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ValidityPeriodType">
        <xs:sequence>
            <xs:element name="StartDate" type="xs:date"/>
            <xs:element name="EndDate" type="xs:date"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QueryResultType">
        <xs:sequence>
            <xs:element minOccurs="0" name="MetadataResult" type="registry:ResultType"/>
            <xs:element minOccurs="0" name="DataResult" type="registry:ResultType"/>
        </xs:sequence>
        <xs:attribute name="timeSeriesMatch" type="xs:boolean" use="required"/>
    </xs:complexType>
    <xs:complexType name="ResultType">
        <xs:sequence>
            <xs:element name="Registration" type="registry:RegistrationType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ContentConstraint" type="ns1:ContentConstraintReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataRegistrationEventsType">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="Category" type="ns1:CategoryReferenceType"/>
                <xs:element name="KeyFamilyReference" type="registry:MaintainableEventType"/>
                <xs:element name="DataflowReference" type="registry:MaintainableEventType"/>
                <xs:element name="RegistrationID" type="xs:string"/>
                <xs:element name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
                <xs:element name="DataProvider" type="ns1:DataProviderReferenceType"/>
            </xs:choice>
            <xs:element minOccurs="0" name="AllEvents" type="ns1:EmptyType"/>
        </xs:sequence>
        <xs:attribute name="TYPE" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="VersionableObjectEventType">
        <xs:sequence>
            <xs:element default="%" minOccurs="0" name="ID" type="xs:string"/>
            <xs:element minOccurs="0" name="Version">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="All" type="ns1:EmptyType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QuerySubscriptionResponseType">
        <xs:sequence>
            <xs:element name="StatusMessage" type="registry:StatusMessageType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Subscription" type="registry:SubscriptionType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StatusMessageType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MessageText" type="ns1:StatusMessageType"/>
        </xs:sequence>
        <xs:attribute name="status" type="registry:StatusType" use="required"/>
    </xs:complexType>
    <xs:complexType name="SubscriptionType">
        <xs:sequence>
            <xs:element name="Organisation" type="ns1:OrganisationReferenceType"/>
            <xs:element minOccurs="0" name="RegistryURN" type="xs:anyURI"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="NotificationMailTo" type="registry:NotificationURLType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="NotificationHTTP" type="registry:NotificationURLType"/>
            <xs:element minOccurs="0" name="SubscriberAssignedID" type="xs:string"/>
            <xs:element name="ValidityPeriod" type="registry:ValidityPeriodType"/>
            <xs:element name="EventSelector" type="registry:EventSelectorType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NotificationURLType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="isSOAP" type="xs:boolean"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="EventSelectorType">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="StructuralRepositoryEvents" type="registry:StructuralRepositoryEventsType"/>
                <xs:element name="DataRegistrationEvents" type="registry:DataRegistrationEventsType"/>
                <xs:element name="MetadataRegistrationEvents" type="registry:MetadataRegistrationEventsType"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructuralRepositoryEventsType">
        <xs:sequence>
            <xs:element default="%" maxOccurs="unbounded" name="AgencyID" type="xs:string"/>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="ConceptScheme" type="registry:VersionableObjectEventType"/>
                <xs:element name="OrganisationUnitScheme" type="registry:VersionableObjectEventType"/>
                <xs:element name="AttachmentConstraint" type="registry:VersionableObjectEventType"/>
                <xs:element name="DataConsmerScheme" type="registry:VersionableObjectEventType"/>
                <xs:element name="Categorisation" type="registry:IdentifiableObjectEventType"/>
                <xs:element name="MetadataStructureDefinition" type="registry:VersionableObjectEventType"/>
                <xs:element name="ReportingTaxonomy" type="registry:VersionableObjectEventType"/>
                <xs:element name="KeyFamily" type="registry:VersionableObjectEventType"/>
                <xs:element name="DataProviderScheme" type="registry:VersionableObjectEventType"/>
                <xs:element name="Dataflow" type="registry:VersionableObjectEventType"/>
                <xs:element name="CategoryScheme" type="registry:VersionableObjectEventType"/>
                <xs:element name="Codelist" type="registry:VersionableObjectEventType"/>
                <xs:element name="HierarchicalCodelist" type="registry:VersionableObjectEventType"/>
                <xs:element name="StructureSet" type="registry:VersionableObjectEventType"/>
                <xs:element name="ContentConstraint" type="registry:VersionableObjectEventType"/>
                <xs:element name="AgencyScheme" type="registry:VersionableObjectEventType"/>
                <xs:element name="ProvisionAgreement" type="registry:VersionableObjectEventType"/>
                <xs:element name="Metadataflow" type="registry:VersionableObjectEventType"/>
                <xs:element name="Process" type="registry:VersionableObjectEventType"/>
            </xs:choice>
            <xs:element minOccurs="0" name="AllEvents" type="ns1:EmptyType"/>
        </xs:sequence>
        <xs:attribute name="TYPE" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="MetadataRegistrationEventsType">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="MetadataStructureDefinitionReference" type="registry:MaintainableEventType"/>
                <xs:element name="RegistrationID" type="xs:string"/>
                <xs:element name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
                <xs:element name="DataProvider" type="ns1:DataProviderReferenceType"/>
                <xs:element name="MetadataflowReference" type="registry:MaintainableEventType"/>
                <xs:element name="Category" type="ns1:CategoryReferenceType"/>
            </xs:choice>
            <xs:element minOccurs="0" name="AllEvents" type="ns1:EmptyType"/>
        </xs:sequence>
        <xs:attribute name="TYPE" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="SimpleDataSourceType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="TYPE" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="QueryRegistrationResponseType">
        <xs:sequence>
            <xs:element name="StatusMessage" type="registry:StatusMessageType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="QueryResult" type="registry:QueryResultType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitSubscriptionsResponseType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="SubscriptionStatus" type="registry:SubscriptionStatusType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubscriptionStatusType">
        <xs:sequence>
            <xs:element minOccurs="0" name="SubscriptionURN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="SubscriberAssignedID" type="xs:string"/>
            <xs:element name="StatusMessage" type="registry:StatusMessageType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IdentifiableObjectEventType">
        <xs:sequence>
            <xs:element default="%" minOccurs="0" name="ID" type="xs:string"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="All" type="ns1:EmptyType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QueryRegistrationRequestType">
        <xs:sequence>
            <xs:element name="QueryType" type="registry:QueryTypeType"/>
            <xs:element minOccurs="0" name="Metadataflow" type="ns1:MetadataflowReferenceType"/>
            <xs:element minOccurs="0" name="Dataflow" type="ns1:DataflowReferenceType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
            <xs:element minOccurs="0" name="All" type="ns1:EmptyType"/>
            <xs:element minOccurs="0" name="ReferencePeriod" type="ns1:ReferencePeriodType"/>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="DataKeySet" type="ns2:DataKeySetType"/>
                <xs:element name="MetadataKeySet" type="ns2:MetadataKeySetType"/>
                <xs:element name="CubeRegion" type="ns1:CubeRegionType"/>
                <xs:element name="MetadataTargetRegion" type="ns1:MetadataTargetRegionType"/>
            </xs:choice>
        </xs:sequence>
        <xs:attribute name="returnConstraints" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="SubscriptionRequestType">
        <xs:sequence>
            <xs:element name="Subscription" type="registry:SubscriptionType"/>
        </xs:sequence>
        <xs:attribute name="action" type="ns1:ActionType" use="required"/>
    </xs:complexType>
    <xs:complexType name="RegistrationStatusType">
        <xs:sequence>
            <xs:element name="Registration" type="registry:RegistrationType"/>
            <xs:element name="StatusMessage" type="registry:StatusMessageType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitRegistrationsRequestType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="RegistrationRequest" type="registry:RegistrationRequestType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RegistrationRequestType">
        <xs:sequence>
            <xs:element name="Registration" type="registry:RegistrationType"/>
        </xs:sequence>
        <xs:attribute name="action" type="ns1:ActionType" use="required"/>
    </xs:complexType>
    <xs:complexType name="QuerySubscriptionRequestType">
        <xs:sequence>
            <xs:element name="Organisation" type="ns1:OrganisationReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MaintainableEventType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="registry:MaintainableQueryType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MaintainableQueryType">
        <xs:complexContent>
            <xs:extension base="registry:VersionableQueryType">
                <xs:sequence/>
                <xs:attribute name="agencyID" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="VersionableQueryType">
        <xs:complexContent>
            <xs:extension base="registry:IdentifiableQueryType">
                <xs:sequence/>
                <xs:attribute name="version">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="IdentifiableQueryType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="SubmitSubscriptionsRequestType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="SubscriptionRequest" type="registry:SubscriptionRequestType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QueryableDataSourceType">
        <xs:complexContent>
            <xs:extension base="ns1:QueryableDataSourceType">
                <xs:sequence/>
                <xs:attribute name="TYPE" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="StructuralEventType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns2:Structures"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitStructureRequestType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns2:Structures"/>
            <xs:element minOccurs="0" name="StructureLocation" type="xs:anyURI"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="SubmittedStructure" type="registry:SubmittedStructureType"/>
        </xs:sequence>
        <xs:attribute name="action" type="ns1:ActionType"/>
        <xs:attribute name="externalDependencies" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="SubmittedStructureType">
        <xs:sequence>
            <xs:element name="MaintainableObject" type="ns1:MaintainableReferenceType"/>
        </xs:sequence>
        <xs:attribute name="action" type="ns1:ActionType"/>
        <xs:attribute name="externalDependencies" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="SubmitRegistrationsResponseType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="RegistrationStatus" type="registry:RegistrationStatusType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmissionResultType">
        <xs:sequence>
            <xs:element name="SubmittedStructure" type="registry:SubmittedStructureType"/>
            <xs:element name="StatusMessage" type="registry:StatusMessageType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitStructureResponseType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="SubmissionResult" type="registry:SubmissionResultType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="StatusType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Success"/>
            <xs:enumeration value="Warning"/>
            <xs:enumeration value="Failure"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="QueryTypeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="DataSets"/>
            <xs:enumeration value="MetadataSets"/>
            <xs:enumeration value="AllSets"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:messagefooter="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message/footer" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message/footer" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message/footer">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:element name="Footer" type="messagefooter:FooterType"/>
    <xs:complexType name="FooterMessageType">
        <xs:complexContent>
            <xs:extension base="ns1:CodedStatusMessageType">
                <xs:sequence/>
                <xs:attribute name="severity" type="messagefooter:SeverityCodeType"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="FooterType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Message" type="messagefooter:FooterMessageType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="SeverityCodeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Error"/>
            <xs:enumeration value="Warning"/>
            <xs:enumeration value="Information"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.w3.org/XML/1998/namespace">
    <xs:attribute name="lang" type="xs:string"/>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:query="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/query" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/query" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/query">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:element name="AttributeWhere" type="query:AttributeWhereType"/>
    <xs:element name="CategorisationWhere" type="query:CategorisationWhereType"/>
    <xs:element name="CategorySchemeWhere" type="query:CategorySchemeWhereType"/>
    <xs:element name="CategoryWhere" type="query:CategoryWhereType"/>
    <xs:element name="CodeWhere" type="query:CodeWhereType"/>
    <xs:element name="CodelistWhere" type="query:CodelistWhereType"/>
    <xs:element name="ComponentListWhere" type="query:ComponentListWhereType"/>
    <xs:element name="ComponentWhere" type="query:ComponentWhereType"/>
    <xs:element name="ConceptSchemeWhere" type="query:ConceptSchemeWhereType"/>
    <xs:element name="ConceptWhere" type="query:ConceptWhereType"/>
    <xs:element name="ConstraintWhere" type="query:ConstraintWhereType"/>
    <xs:element name="DataStructureWhere" type="query:DataStructureWhereType"/>
    <xs:element name="DataflowWhere" type="query:DataflowWhereType"/>
    <xs:element name="DimensionWhere" type="query:DimensionWhereType"/>
    <xs:element name="GroupDimensionWhere" type="query:DimensionWhereType"/>
    <xs:element name="GroupWhere" type="query:GroupWhereType"/>
    <xs:element name="HierarchicalCodelistWhere" type="query:HierarchicalCodelistWhereType"/>
    <xs:element name="ItemWhere" type="query:ItemWhereType"/>
    <xs:element name="MeasureDimensionWhere" type="query:MeasureDimensionWhereType"/>
    <xs:element name="MetadataAttributeWhere" type="query:MetadataAttributeWhereType"/>
    <xs:element name="MetadataStructureWhere" type="query:MetadataStructureWhereType"/>
    <xs:element name="MetadataTargetWhere" type="query:MetadataTargetWhereType"/>
    <xs:element name="MetadataflowWhere" type="query:MetadataflowWhereType"/>
    <xs:element name="NumericValue" type="query:NumericValueType"/>
    <xs:element name="OrganisationSchemeWhere" type="query:OrganisationSchemeWhereType"/>
    <xs:element name="OrganisationWhere" type="query:OrganisationWhereType"/>
    <xs:element name="PrimaryMeasureWhere" type="query:PrimaryMeasureWhereType"/>
    <xs:element name="ProcessWhere" type="query:ProcessWhereType"/>
    <xs:element name="ProvisionAgreementWhere" type="query:ProvisionAgreementWhereType"/>
    <xs:element name="ReportStructureWhere" type="query:ReportStructureWhereType"/>
    <xs:element name="ReportingCategoryWhere" type="query:ReportingCategoryWhereType"/>
    <xs:element name="ReportingTaxonomyWhere" type="query:ReportingTaxonomyWhereType"/>
    <xs:element name="StructuralMetadataWhere" type="query:MaintainableWhereType"/>
    <xs:element name="StructureSetWhere" type="query:StructureSetWhereType"/>
    <xs:element name="StructuresWhere" type="query:StructuresWhereType"/>
    <xs:element name="TargetObjectWhere" type="query:TargetObjectWhereType"/>
    <xs:element name="TextValue" type="query:QueryTextType"/>
    <xs:element name="TimeDimensionWhere" type="query:TimeDimensionWhereType"/>
    <xs:element name="TimeValue" type="query:TimePeriodValueType"/>
    <xs:element name="Value" type="query:SimpleValueType"/>
    <xs:complexType name="QueryTextType">
        <xs:simpleContent>
            <xs:extension base="ns1:TextType">
                <xs:attribute name="operator" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="DataStructureRequestType">
        <xs:complexContent>
            <xs:extension base="ns1:DataStructureRequestType">
                <xs:sequence/>
                <xs:attribute name="timeSeries" type="xs:boolean"/>
                <xs:attribute name="processConstraints" type="xs:boolean"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProvisionAgreementQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="ProvisionAgreementWhere" type="query:ProvisionAgreementWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MaintainableReturnDetailsType">
        <xs:sequence>
            <xs:element name="References" type="query:ReferencesType"/>
        </xs:sequence>
        <xs:attribute name="detail" type="query:MaintainableReturnDetailType"/>
        <xs:attribute name="returnMatchedArtefact" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="ReferencesType">
        <xs:sequence>
            <xs:element minOccurs="0" name="SpecificObjects" type="ns1:MaintainableObjectTypeListType"/>
            <xs:element minOccurs="0" name="Descendants" type="ns1:EmptyType"/>
            <xs:element minOccurs="0" name="Children" type="ns1:EmptyType"/>
            <xs:element minOccurs="0" name="ParentsAndSiblings" type="ns1:EmptyType"/>
            <xs:element minOccurs="0" name="Parents" type="ns1:EmptyType"/>
            <xs:element minOccurs="0" name="All" type="ns1:EmptyType"/>
            <xs:element minOccurs="0" name="None" type="ns1:EmptyType"/>
        </xs:sequence>
        <xs:attribute name="processConstraints" type="xs:boolean"/>
        <xs:attribute name="detail" type="query:MaintainableReturnDetailType"/>
    </xs:complexType>
    <xs:complexType name="ProvisionAgreementWhereType">
        <xs:complexContent>
            <xs:extension base="query:ProvisionAgreementWhereBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="StructureUsage" type="ns1:StructureUsageReferenceType"/>
                    <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ProvisionAgreementWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="AnnotationWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Type" type="query:QueryStringType"/>
            <xs:element minOccurs="0" name="Title" type="query:QueryStringType"/>
            <xs:element minOccurs="0" name="Text" type="query:QueryTextType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QueryStringType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="operator" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="QueryIDType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="operator" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="QueryNestedIDType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="operator" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="DataQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:DataReturnDetailsType"/>
            <xs:element name="DataWhere" type="query:DataParametersAndType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataReturnDetailsType">
        <xs:complexContent>
            <xs:extension base="query:DataReturnDetailsBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="FirstNObservations" type="xs:int"/>
                    <xs:element minOccurs="0" name="LastNObservations" type="xs:int"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Structure" type="ns1:DataStructureRequestType"/>
                </xs:sequence>
                <xs:attribute name="observationAction" type="query:ObservationActionCodeType"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="DataReturnDetailsBaseType">
        <xs:sequence/>
        <xs:attribute name="detail" type="query:DataReturnDetailType"/>
    </xs:complexType>
    <xs:complexType name="DataParametersAndType">
        <xs:sequence>
            <xs:element minOccurs="0" name="DataSetID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="DataStructure" type="ns1:DataStructureReferenceType"/>
            <xs:element minOccurs="0" name="Dataflow" type="ns1:DataflowReferenceType"/>
            <xs:element minOccurs="0" name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Category" type="ns1:CategoryReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Updated" type="ns1:TimeRangeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptValue" type="query:ConceptValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="RepresentationValue" type="query:CodeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DimensionValue" type="query:DimensionValueType"/>
            <xs:element minOccurs="0" name="TimeDimensionValue" type="query:TimeDimensionValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttributeValue" type="query:AttributeValueType"/>
            <xs:element minOccurs="0" name="PrimaryMeasureValue" type="query:PrimaryMeasureValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachmentConstraint" type="ns1:AttachmentConstraintReferenceType"/>
            <xs:element minOccurs="0" name="TimeFormat" type="ns1:TimeDataType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Or" type="query:DataParametersOrType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptValueType">
        <xs:sequence>
            <xs:element name="Concept" type="ns1:ConceptReferenceType"/>
            <xs:element minOccurs="0" ref="query:Value"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TimeValue"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TextValue"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:NumericValue"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SimpleValueType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="operator" type="ns1:SimpleOperatorType"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="TimePeriodValueType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="operator" type="xs:string"/>
                <xs:attribute name="reportingYearStartDay" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="NumericValueType">
        <xs:simpleContent>
            <xs:extension base="xs:decimal">
                <xs:attribute name="operator" type="xs:string"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="CodeValueType">
        <xs:sequence>
            <xs:element name="Codelist" type="ns1:CodelistReferenceType"/>
        </xs:sequence>
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="DimensionValueType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element minOccurs="0" ref="query:Value"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TimeValue"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:NumericValue"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeDimensionValueType">
        <xs:sequence>
            <xs:element minOccurs="0" name="ID" type="xs:string"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TimeValue"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttributeValueType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element minOccurs="0" ref="query:Value"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TimeValue"/>
            <xs:element minOccurs="0" ref="query:TextValue"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:NumericValue"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PrimaryMeasureValueType">
        <xs:sequence>
            <xs:element minOccurs="0" name="ID" type="xs:string"/>
            <xs:element minOccurs="0" ref="query:Value"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TimeValue"/>
            <xs:element minOccurs="0" ref="query:TextValue"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:NumericValue"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataParametersOrType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSetID" type="query:QueryIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataStructure" type="ns1:DataStructureReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Dataflow" type="ns1:DataflowReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Category" type="ns1:CategoryReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Updated" type="ns1:TimeRangeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptValue" type="query:ConceptValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="RepresentationValue" type="query:CodeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DimensionValue" type="query:DimensionValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="TimeDimensionValue" type="query:TimeDimensionValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttributeValue" type="query:AttributeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="PrimaryMeasureValue" type="query:PrimaryMeasureValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachmentConstraint" type="ns1:AttachmentConstraintReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="TimeFormat" type="ns1:TimeDataType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="And" type="query:DataParametersAndType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategorySchemeQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:StructureReturnDetailsType"/>
            <xs:element name="CategorySchemeWhere" type="query:CategorySchemeWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureReturnDetailsType">
        <xs:complexContent>
            <xs:extension base="query:StructureReturnDetailsBaseType">
                <xs:sequence>
                    <xs:element name="References" type="query:ReferencesType"/>
                </xs:sequence>
                <xs:attribute name="returnMatchedArtefact" type="xs:boolean"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureReturnDetailsBaseType">
        <xs:sequence/>
        <xs:attribute name="detail" type="query:StructureReturnDetailType"/>
    </xs:complexType>
    <xs:complexType name="CategorySchemeWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="CategoryWhere" type="query:CategoryWhereType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CategoryWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="CategoryWhere" type="query:CategoryWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericDataQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:GenericDataReturnDetailsType"/>
            <xs:element name="DataWhere" type="query:DataParametersAndType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericDataReturnDetailsType">
        <xs:sequence>
            <xs:element minOccurs="0" name="FirstNObservations" type="xs:int"/>
            <xs:element minOccurs="0" name="LastNObservations" type="xs:int"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Structure" type="ns1:GenericDataStructureRequestType"/>
        </xs:sequence>
        <xs:attribute name="observationAction" type="query:ObservationActionCodeType"/>
    </xs:complexType>
    <xs:complexType name="ConstraintQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="ConstraintWhere" type="query:ConstraintWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConstraintWhereType">
        <xs:complexContent>
            <xs:extension base="query:ConstraintWhereBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="ConstraintAttachmentWhere" type="query:ConstraintAttachmentWhereType"/>
                </xs:sequence>
                <xs:attribute name="allowable" type="xs:boolean"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ConstraintWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
        </xs:sequence>
        <xs:attribute name="type" type="query:ConstraintTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ConstraintAttachmentWhereType">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="MetadataSet" type="ns1:SetReferenceType"/>
                <xs:element name="DataProvider" type="ns1:DataProviderReferenceType"/>
                <xs:element name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
                <xs:element name="Metadataflow" type="ns1:MetadataflowReferenceType"/>
                <xs:element name="Dataflow" type="ns1:DataflowReferenceType"/>
                <xs:element name="DataStructure" type="ns1:DataStructureReferenceType"/>
                <xs:element name="DataSet" type="ns1:SetReferenceType"/>
                <xs:element name="MetadataStructure" type="ns1:MetadataStructureReferenceType"/>
                <xs:element name="DataSourceURL" type="xs:string"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProcessWhereType">
        <xs:complexContent>
            <xs:extension base="query:ProcessWhereBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="ProcessStepWhere" type="query:ProcessStepWhereType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ProcessWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ProcessStepWhereType">
        <xs:complexContent>
            <xs:extension base="query:IdentifiableWhereType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="InputOrOutputObject" type="query:InputOrOutputObjectType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="ProcessStepWhere" type="query:ProcessStepWhereType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="IdentifiableWhereType">
        <xs:complexContent>
            <xs:extension base="query:AnnotableWhereType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
                    <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="AnnotableWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="InputOrOutputObjectType">
        <xs:sequence>
            <xs:element name="ObjectReference" type="ns1:ObjectReferenceType"/>
        </xs:sequence>
        <xs:attribute name="type" type="query:InputOutputTypeCodeType"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="ComponentWhereType">
        <xs:complexContent>
            <xs:extension base="query:IdentifiableWhereType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
                    <xs:element minOccurs="0" name="Enumeration" type="ns1:ItemSchemeReferenceBaseType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ComponentListWhereType">
        <xs:complexContent>
            <xs:extension base="query:IdentifiableWhereType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="query:ComponentWhere"/>
                        <xs:element ref="query:PrimaryMeasureWhere"/>
                        <xs:element ref="query:DimensionWhere"/>
                        <xs:element ref="query:TimeDimensionWhere"/>
                        <xs:element ref="query:TargetObjectWhere"/>
                        <xs:element ref="query:GroupDimensionWhere"/>
                        <xs:element ref="query:MeasureDimensionWhere"/>
                        <xs:element ref="query:MetadataAttributeWhere"/>
                        <xs:element ref="query:AttributeWhere"/>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="NameableWhereType">
        <xs:complexContent>
            <xs:extension base="query:IdentifiableWhereType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
                    <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ItemWhereType">
        <xs:complexContent>
            <xs:extension base="query:NameableWhereType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="query:ItemWhere"/>
                        <xs:element ref="query:ReportingCategoryWhere"/>
                        <xs:element ref="query:ConceptWhere"/>
                        <xs:element ref="query:OrganisationWhere"/>
                        <xs:element ref="query:CategoryWhere"/>
                        <xs:element ref="query:CodeWhere"/>
                    </xs:choice>
                    <xs:element minOccurs="0" name="Parent" type="ns1:LocalItemReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="VersionableWhereType">
        <xs:complexContent>
            <xs:extension base="query:NameableWhereType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Version" type="xs:string"/>
                    <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
                    <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
                    <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MaintainableWhereType">
        <xs:complexContent>
            <xs:extension base="query:VersionableWhereType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
                </xs:sequence>
                <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureUsageWhereType">
        <xs:complexContent>
            <xs:extension base="query:MaintainableWhereType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Structure" type="ns1:StructureReferenceBaseType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureWhereType">
        <xs:complexContent>
            <xs:extension base="query:MaintainableWhereType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="UsedConcept" type="ns1:ConceptReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="UsedRepresentation" type="ns1:ItemSchemeReferenceBaseType"/>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="query:ComponentListWhere"/>
                        <xs:element ref="query:ReportStructureWhere"/>
                        <xs:element ref="query:MetadataTargetWhere"/>
                        <xs:element ref="query:GroupWhere"/>
                    </xs:choice>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="query:ComponentWhere"/>
                        <xs:element ref="query:PrimaryMeasureWhere"/>
                        <xs:element ref="query:DimensionWhere"/>
                        <xs:element ref="query:TimeDimensionWhere"/>
                        <xs:element ref="query:TargetObjectWhere"/>
                        <xs:element ref="query:GroupDimensionWhere"/>
                        <xs:element ref="query:MeasureDimensionWhere"/>
                        <xs:element ref="query:MetadataAttributeWhere"/>
                        <xs:element ref="query:AttributeWhere"/>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ItemSchemeWhereType">
        <xs:complexContent>
            <xs:extension base="query:MaintainableWhereType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="query:ItemWhere"/>
                        <xs:element ref="query:ReportingCategoryWhere"/>
                        <xs:element ref="query:ConceptWhere"/>
                        <xs:element ref="query:OrganisationWhere"/>
                        <xs:element ref="query:CategoryWhere"/>
                        <xs:element ref="query:CodeWhere"/>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="StructureSetWhereType">
        <xs:complexContent>
            <xs:extension base="query:StructureSetWhereBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="RelatedStructures" type="ns1:StructureOrUsageReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="MappedObject" type="query:MappedObjectType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureSetWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MappedObjectType">
        <xs:complexContent>
            <xs:extension base="query:MappedObjectReferenceType">
                <xs:sequence/>
                <xs:attribute name="type" type="query:SourceTargetType"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MappedObjectReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="query:MappedObjectRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MappedObjectRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="query:MappedObjectTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="ns1:PackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="DataflowQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="DataflowWhere" type="query:DataflowWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataflowWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element minOccurs="0" name="Structure" type="ns1:DataStructureReferenceType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MetadataParametersAndType">
        <xs:sequence>
            <xs:element minOccurs="0" name="MetadataSetID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="MetadataStructure" type="ns1:MetadataStructureReferenceType"/>
            <xs:element minOccurs="0" name="Metadataflow" type="ns1:MetadataflowReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Category" type="ns1:CategoryReferenceType"/>
            <xs:element minOccurs="0" name="Updated" type="ns1:TimeRangeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptValue" type="query:ConceptValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="RepresentationValue" type="query:CodeValueType"/>
            <xs:element minOccurs="0" name="MetadataTargetValue" type="query:MetadataTargetValueType"/>
            <xs:element minOccurs="0" name="ReportStructureValue" type="query:ReportStructureValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachmentConstraint" type="ns1:AttachmentConstraintReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachedObject" type="ns1:ObjectReferenceType"/>
            <xs:element minOccurs="0" name="AttachedDataKey" type="ns1:DataKeyType"/>
            <xs:element minOccurs="0" name="AttachedDataSet" type="ns1:SetReferenceType"/>
            <xs:element minOccurs="0" name="AttachedReportingPeriod" type="ns1:TimeRangeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Or" type="query:MetadataParametersOrType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataTargetValueType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="TargetObjectValue" type="query:TargetObjectValueType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TargetObjectValueType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TimeValue"/>
            <xs:element minOccurs="0" name="Object" type="ns1:ObjectReferenceType"/>
            <xs:element minOccurs="0" name="DataKey" type="ns1:DataKeyType"/>
            <xs:element minOccurs="0" name="DataSet" type="ns1:SetReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportStructureValueType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataAttributeValue" type="query:MetadataAttributeValueType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataAttributeValueType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TimeValue"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:NumericValue"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="query:TextValue"/>
            <xs:element minOccurs="0" ref="query:Value"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataAttributeValue" type="query:MetadataAttributeValueType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataParametersOrType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataSetID" type="query:QueryIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataStructure" type="ns1:MetadataStructureReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Metadataflow" type="ns1:MetadataflowReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Category" type="ns1:CategoryReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Updated" type="ns1:TimeRangeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptValue" type="query:ConceptValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="RepresentationValue" type="query:CodeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataTargetValue" type="query:MetadataTargetValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ReportStructureValue" type="query:ReportStructureValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachmentConstraint" type="ns1:AttachmentConstraintReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachedObject" type="ns1:ObjectReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachedDataKey" type="ns1:DataKeyType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachedDataSet" type="ns1:SetReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachedReportingPeriod" type="ns1:TimeRangeValueType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="And" type="query:MetadataParametersAndType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSetQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="StructureSetWhere" type="query:StructureSetWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemeQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:StructureReturnDetailsType"/>
            <xs:element name="OrganisationSchemeWhere" type="query:OrganisationSchemeWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemeWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="OrganisationWhere" type="query:OrganisationWhereType"/>
        </xs:sequence>
        <xs:attribute name="type" type="query:OrganisationSchemeTypeCodeType"/>
    </xs:complexType>
    <xs:complexType name="OrganisationWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Parent" type="ns1:LocalOrganisationUnitReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodelistQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="HierarchicalCodelistWhere" type="query:HierarchicalCodelistWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodelistWhereType">
        <xs:complexContent>
            <xs:extension base="query:HierarchicalCodelistWhereBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="IncludedCodelist" type="ns1:CodelistReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="HierarchicalCodelistWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ProcessQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="ProcessWhere" type="query:ProcessWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataReturnDetailsType">
        <xs:complexContent>
            <xs:extension base="query:ReturnDetailsBaseType">
                <xs:sequence/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ReturnDetailsBaseType">
        <xs:sequence/>
        <xs:attribute name="defaultLimit" type="xs:integer"/>
        <xs:attribute name="detail" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="MetadataflowQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="MetadataflowWhere" type="query:MetadataflowWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataflowWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element minOccurs="0" name="Structure" type="ns1:MetadataStructureReferenceType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ReportingTaxonomyQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:StructureReturnDetailsType"/>
            <xs:element name="ReportingTaxonomyWhere" type="query:ReportingTaxonomyWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportingTaxonomyWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ReportingCategoryWhere" type="query:ReportingCategoryWhereType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ReportingCategoryWhereType">
        <xs:complexContent>
            <xs:extension base="query:ReportingCategoryWhereBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="StructuralMetadata" type="ns1:StructureReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="ProvisioningMetadata" type="ns1:StructureUsageReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ReportingCategoryWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ReportingCategoryWhere" type="query:ReportingCategoryWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericTimeSeriesDataReturnDetailsType">
        <xs:sequence>
            <xs:element minOccurs="0" name="FirstNObservations" type="xs:int"/>
            <xs:element minOccurs="0" name="LastNObservations" type="xs:int"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Structure" type="ns1:TimeSeriesGenericDataStructureRequestType"/>
        </xs:sequence>
        <xs:attribute name="observationAction" type="query:ObservationActionCodeType"/>
    </xs:complexType>
    <xs:complexType name="StructuresQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="StructuresWhere" type="query:StructuresWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructuresWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CategorisationQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="CategorisationWhere" type="query:CategorisationWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategorisationWhereType">
        <xs:complexContent>
            <xs:extension base="query:CategorisationWhereBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="CategoryScheme" type="ns1:CategorySchemeReferenceType"/>
                    <xs:element minOccurs="0" name="TargetCategory" type="ns1:CategoryReferenceType"/>
                    <xs:element minOccurs="0" name="ObjectReference" type="ns1:ObjectReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="CategorisedObjectType" type="ns1:ObjectTypeCodelistType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="CategorisationWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataStructureComponentWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:CodelistReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DimensionWhereType">
        <xs:complexContent>
            <xs:extension base="query:DataStructureComponentWhereType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Role" type="ns1:ConceptReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AttributeWhereType">
        <xs:complexContent>
            <xs:extension base="query:DataStructureComponentWhereType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Role" type="ns1:ConceptReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DataStructureQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="DataStructureWhere" type="query:DataStructureWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataStructureWhereType">
        <xs:complexContent>
            <xs:extension base="query:DataStructureWhereBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="AttributeWhere" type="query:AttributeWhereType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="DimensionWhere" type="query:DimensionWhereType"/>
                    <xs:element minOccurs="0" name="MeasureDimensionWhere" type="query:MeasureDimensionWhereType"/>
                    <xs:element minOccurs="0" name="TimeDimensionWhere" type="query:TimeDimensionWhereType"/>
                    <xs:element minOccurs="0" name="PrimaryMeasureWhere" type="query:PrimaryMeasureWhereType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="DataStructureWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="UsedConcept" type="ns1:ConceptReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="UsedRepresentation" type="ns1:DataStructureEnumerationSchemeReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="GroupWhere" type="query:GroupWhereType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MeasureDimensionWhereType">
        <xs:complexContent>
            <xs:extension base="query:MeasureDimensionWhereBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Role" type="ns1:ConceptReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MeasureDimensionWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:ConceptSchemeReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeDimensionWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PrimaryMeasureWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:CodelistReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GroupWhereType">
        <xs:complexContent>
            <xs:extension base="query:GroupWhereBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="AttachmentConstraint" type="ns1:AttachmentConstraintReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="GroupWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="GroupDimensionWhere" type="query:DimensionWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:StructureReturnDetailsType"/>
            <xs:element name="ConceptSchemeWhere" type="query:ConceptSchemeWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptWhere" type="query:ConceptWhereType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ConceptWhereType">
        <xs:complexContent>
            <xs:extension base="query:ConceptWhereBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Enumeration" type="ns1:CodelistReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ConceptWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Parent" type="ns1:LocalConceptReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataSchemaQueryType">
        <xs:sequence>
            <xs:element name="DataStructure" type="query:DataStructureRequestType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportStructureWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataAttributeWhere" type="query:MetadataAttributeWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataAttributeWhereType">
        <xs:complexContent>
            <xs:extension base="query:MetadataAttributeWhereBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataAttributeWhere" type="query:MetadataAttributeWhereType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MetadataAttributeWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:CodelistReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataTargetWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="TargetObjectWhere" type="query:TargetObjectWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TargetObjectWhereType">
        <xs:complexContent>
            <xs:extension base="query:TargetObjectWhereBaseType">
                <xs:sequence/>
                <xs:attribute name="type" type="ns1:TargetObjectTypeCodelistType"/>
                <xs:attribute name="targetClass" type="ns1:ObjectTypeCodelistType"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="TargetObjectWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:ItemSchemeReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataStructureWhereType">
        <xs:complexContent>
            <xs:extension base="query:MetadataStructureWhereBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataTargetWhere" type="query:MetadataTargetWhereType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="TargetObjectWhere" type="query:TargetObjectWhereType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="ReportStructureWhere" type="query:ReportStructureWhereType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataAttributeWhere" type="query:MetadataAttributeWhereType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MetadataStructureWhereBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="UsedConcept" type="ns1:ConceptReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="UsedRepresentation" type="ns1:ItemSchemeReferenceType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CodelistWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Version" type="xs:string"/>
            <xs:element minOccurs="0" name="VersionTo" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionFrom" type="ns1:TimeRangeValueType"/>
            <xs:element minOccurs="0" name="VersionActive" type="xs:boolean"/>
            <xs:element minOccurs="0" name="AgencyID" type="query:QueryNestedIDType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="CodeWhere" type="query:CodeWhereType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:MaintainableTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CodeWhereType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Annotation" type="query:AnnotationWhereType"/>
            <xs:element minOccurs="0" name="ID" type="query:QueryIDType"/>
            <xs:element minOccurs="0" name="Name" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Description" type="query:QueryTextType"/>
            <xs:element minOccurs="0" name="Parent" type="ns1:LocalCodeReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataSchemaQueryType">
        <xs:sequence>
            <xs:element name="MetadataStructure" type="ns1:GenericMetadataStructureType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeSeriesDataReturnDetailsType">
        <xs:sequence>
            <xs:element minOccurs="0" name="FirstNObservations" type="xs:int"/>
            <xs:element minOccurs="0" name="LastNObservations" type="xs:int"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Structure" type="ns1:TimeSeriesDataStructureRequestType"/>
        </xs:sequence>
        <xs:attribute name="observationAction" type="query:ObservationActionCodeType"/>
    </xs:complexType>
    <xs:complexType name="GenericTimeSeriesDataQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:GenericTimeSeriesDataReturnDetailsType"/>
            <xs:element name="DataWhere" type="query:DataParametersAndType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeSeriesDataQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:TimeSeriesDataReturnDetailsType"/>
            <xs:element name="DataWhere" type="query:DataParametersAndType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodelistQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:StructureReturnDetailsType"/>
            <xs:element name="CodelistWhere" type="query:CodelistWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataStructureQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MaintainableReturnDetailsType"/>
            <xs:element name="MetadataStructureWhere" type="query:MetadataStructureWhereType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataQueryType">
        <xs:sequence>
            <xs:element name="ReturnDetails" type="query:MetadataReturnDetailsType"/>
            <xs:element name="MetadataParameters" type="query:MetadataParametersAndType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="StructureReturnDetailType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Stub"/>
            <xs:enumeration value="CompleteStub"/>
            <xs:enumeration value="Full"/>
            <xs:enumeration value="MatchedItems"/>
            <xs:enumeration value="CascadedMatchedItems"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MaintainableReturnDetailType">
        <xs:restriction base="query:StructureReturnDetailType">
            <xs:enumeration value="Stub"/>
            <xs:enumeration value="CompleteStub"/>
            <xs:enumeration value="Full"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ObservationActionCodeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Active"/>
            <xs:enumeration value="Added"/>
            <xs:enumeration value="Updated"/>
            <xs:enumeration value="Deleted"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DataReturnDetailType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Full"/>
            <xs:enumeration value="DataOnly"/>
            <xs:enumeration value="SeriesKeyOnly"/>
            <xs:enumeration value="NoData"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="InputOutputTypeCodeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Input"/>
            <xs:enumeration value="Output"/>
            <xs:enumeration value="Any"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SourceTargetType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Any"/>
            <xs:enumeration value="Source"/>
            <xs:enumeration value="Target"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MappedObjectTypeCodelistType">
        <xs:restriction base="ns1:ConcreteMaintainableTypeCodelistType">
            <xs:enumeration value="AgencyScheme"/>
            <xs:enumeration value="CategoryScheme"/>
            <xs:enumeration value="Codelist"/>
            <xs:enumeration value="ConceptScheme"/>
            <xs:enumeration value="Dataflow"/>
            <xs:enumeration value="DataConsumerScheme"/>
            <xs:enumeration value="DataProviderScheme"/>
            <xs:enumeration value="DataStructure"/>
            <xs:enumeration value="HierarchicalCodelist"/>
            <xs:enumeration value="Metadataflow"/>
            <xs:enumeration value="MetadataStructure"/>
            <xs:enumeration value="OrganisationUnitScheme"/>
            <xs:enumeration value="ReportingTaxonomy"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="OrganisationSchemeTypeCodeType">
        <xs:restriction base="ns1:MaintainableTypeCodelistType">
            <xs:enumeration value="OrganisationScheme"/>
            <xs:enumeration value="AgencyScheme"/>
            <xs:enumeration value="DataConsumerScheme"/>
            <xs:enumeration value="DataProviderScheme"/>
            <xs:enumeration value="OrganisationUnitScheme"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ConstraintTypeCodelistType">
        <xs:restriction base="ns1:MaintainableTypeCodelistType">
            <xs:enumeration value="Constraint"/>
            <xs:enumeration value="AttachmentConstraint"/>
            <xs:enumeration value="ContentConstraint"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:metadatageneric="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:complexType name="ReportedAttributeType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:StructuredText"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Text"/>
                    <xs:element minOccurs="0" name="AttributeSet" type="tns:AttributeSetType"/>
                </xs:sequence>
                <xs:attribute name="id" type="xs:string" use="required"/>
                <xs:attribute name="value" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AttributeSetType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="ReportedAttribute" type="tns:ReportedAttributeType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataSetType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
                    <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
                    <xs:element maxOccurs="unbounded" name="Report" type="tns:ReportType"/>
                </xs:sequence>
                <xs:attribute name="structureRef" type="xs:IDREF" use="required"/>
                <xs:attribute name="setID" type="xs:string"/>
                <xs:attribute name="action" type="ns1:ActionType"/>
                <xs:attribute name="reportingBeginDate">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="reportingEndDate">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="validFromDate" type="xs:dateTime"/>
                <xs:attribute name="validToDate" type="xs:dateTime"/>
                <xs:attribute name="publicationYear" type="xs:gYear"/>
                <xs:attribute name="publicationPeriod">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ReportType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="Target" type="tns:TargetType"/>
                    <xs:element name="AttributeSet" type="tns:AttributeSetType"/>
                </xs:sequence>
                <xs:attribute name="id" type="xs:string" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TargetType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="ReferenceValue" type="tns:ReferenceValueType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="ReferenceValueType">
        <xs:sequence>
            <xs:element minOccurs="0" name="ReportPeriod">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="ConstraintContentReference" type="ns1:AttachmentConstraintReferenceType"/>
            <xs:element minOccurs="0" name="DataSetReference" type="ns1:SetReferenceType"/>
            <xs:element minOccurs="0" name="DataKey" type="ns1:DataKeyType"/>
            <xs:element minOccurs="0" name="ObjectReference" type="ns1:ObjectReferenceType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:message="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:ns2="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure" xmlns:ns3="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message/footer" xmlns:ns4="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/registry" xmlns:ns5="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/query" xmlns:ns6="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" xmlns:ns7="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific" xmlns:ns8="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic" xmlns:ns9="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/message/footer"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/registry"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/query"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic"/>
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/generic"/>
    <xs:element name="CategorisationQuery" type="tns:CategorisationQueryType"/>
    <xs:element name="CategorySchemeQuery" type="tns:CategorySchemeQueryType"/>
    <xs:element name="CodelistQuery" type="tns:CodelistQueryType"/>
    <xs:element name="ConceptSchemeQuery" type="tns:ConceptSchemeQueryType"/>
    <xs:element name="ConstraintQuery" type="tns:ConstraintQueryType"/>
    <xs:element name="DataSchemaQuery" type="tns:DataSchemaQueryType"/>
    <xs:element name="DataStructureQuery" type="tns:DataStructureQueryType"/>
    <xs:element name="DataflowQuery" type="tns:DataflowQueryType"/>
    <xs:element name="Error" type="tns:ErrorType"/>
    <xs:element name="GenericData">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Header" type="tns:GenericDataHeaderType"/>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSet" type="ns8:DataSetType"/>
                <xs:element minOccurs="0" ref="ns3:Footer"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="GenericDataQuery" type="tns:GenericDataQueryType"/>
    <xs:element name="GenericMetadata" type="tns:GenericMetadataType"/>
    <xs:element name="GenericMetadataQuery" type="tns:MetadataQueryType"/>
    <xs:element name="GenericTimeSeriesData" type="tns:GenericTimeSeriesDataType"/>
    <xs:element name="GenericTimeSeriesDataQuery" type="tns:GenericTimeSeriesDataQueryType"/>
    <xs:element name="HierarchicalCodelistQuery" type="tns:HierarchicalCodelistQueryType"/>
    <xs:element name="MetadataSchemaQuery" type="tns:MetadataSchemaQueryType"/>
    <xs:element name="MetadataStructureQuery" type="tns:MetadataStructureQueryType"/>
    <xs:element name="MetadataflowQuery" type="tns:MetadataflowQueryType"/>
    <xs:element name="NotifyRegistryEvent" type="tns:NotifyRegistryEventType"/>
    <xs:element name="OrganisationSchemeQuery" type="tns:OrganisationSchemeQueryType"/>
    <xs:element name="ProcessQuery" type="tns:ProcessQueryType"/>
    <xs:element name="ProvisionAgreementQuery" type="tns:ProvisionAgreementQueryType"/>
    <xs:element name="QueryRegistrationRequest" type="tns:QueryRegistrationRequestType"/>
    <xs:element name="QueryRegistrationResponse" type="tns:QueryRegistrationResponseType"/>
    <xs:element name="QuerySubscriptionRequest" type="tns:QuerySubscriptionRequestType"/>
    <xs:element name="QuerySubscriptionResponse" type="tns:QuerySubscriptionResponseType"/>
    <xs:element name="RegistryInterface" type="tns:RegistryInterfaceType"/>
    <xs:element name="ReportingTaxonomyQuery" type="tns:ReportingTaxonomyQueryType"/>
    <xs:element name="Structure">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Header" type="tns:StructureHeaderType"/>
                <xs:element minOccurs="0" ref="ns2:Structures"/>
                <xs:element minOccurs="0" ref="ns3:Footer"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="StructureSetQuery" type="tns:StructureSetQueryType"/>
    <xs:element name="StructureSpecificData">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Header" type="tns:StructureSpecificDataHeaderType"/>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSet" type="ns6:DataSetType"/>
                <xs:element minOccurs="0" ref="ns3:Footer"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="StructureSpecificDataQuery" type="tns:DataQueryType"/>
    <xs:element name="StructureSpecificMetadata" type="tns:StructureSpecificMetadataType"/>
    <xs:element name="StructureSpecificMetadataQuery" type="tns:MetadataQueryType"/>
    <xs:element name="StructureSpecificTimeSeriesData" type="tns:StructureSpecificTimeSeriesDataType"/>
    <xs:element name="StructureSpecificTimeSeriesDataQuery" type="tns:StructureSpecificTimeSeriesDataQueryType"/>
    <xs:element name="StructuresQuery" type="tns:StructuresQueryType"/>
    <xs:element name="SubmitRegistrationsRequest" type="tns:SubmitRegistrationsRequestType"/>
    <xs:element name="SubmitRegistrationsResponse" type="tns:SubmitRegistrationsResponseType"/>
    <xs:element name="SubmitStructureRequest" type="tns:SubmitStructureRequestType"/>
    <xs:element name="SubmitStructureResponse" type="tns:SubmitStructureResponseType"/>
    <xs:element name="SubmitSubscriptionsRequest" type="tns:SubmitSubscriptionsRequestType"/>
    <xs:element name="SubmitSubscriptionsResponse" type="tns:SubmitSubscriptionsResponseType"/>
    <xs:complexType name="StructureHeaderType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element default="false" name="Test" type="xs:boolean"/>
            <xs:element name="Prepared" type="xs:string"/>
            <xs:element name="Sender" type="tns:SenderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Receiver" type="tns:PartyType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Source" type="ns1:TextType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SenderType">
        <xs:complexContent>
            <xs:extension base="tns:PartyType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Timezone" type="xs:string"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PartyType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Contact" type="tns:ContactType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="ContactType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Department" type="ns1:TextType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Role" type="ns1:TextType"/>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="Fax" type="xs:string"/>
                <xs:element name="Email" type="xs:string"/>
                <xs:element name="URI" type="xs:string"/>
                <xs:element name="Telephone" type="xs:string"/>
                <xs:element name="X400" type="xs:string"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="NotifyRegistryEventType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="NotifyRegistryEvent" type="ns4:NotifyRegistryEventType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BasicHeaderType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element default="false" name="Test" type="xs:boolean"/>
            <xs:element name="Prepared" type="xs:string"/>
            <xs:element name="Sender" type="tns:SenderType"/>
            <xs:element name="Receiver" type="tns:PartyType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProvisionAgreementQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:ProvisionAgreementQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitRegistrationsRequestType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="SubmitRegistrationsRequest" type="ns4:SubmitRegistrationsRequestType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:DataQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSpecificDataHeaderType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element default="false" name="Test" type="xs:boolean"/>
            <xs:element name="Prepared" type="xs:string"/>
            <xs:element name="Sender" type="tns:SenderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Receiver" type="tns:PartyType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" name="Structure" type="ns1:StructureSpecificDataStructureType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="DataSetAction" type="ns1:ActionType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSetID" type="xs:string"/>
            <xs:element minOccurs="0" name="Extracted" type="xs:dateTime"/>
            <xs:element minOccurs="0" name="ReportingBegin">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="ReportingEnd">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="EmbargoDate" type="xs:dateTime"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Source" type="ns1:TextType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategorySchemeQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:CategorySchemeQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSpecificMetadataType">
        <xs:sequence>
            <xs:element name="Header" type="tns:StructureSpecificMetadataHeaderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataSet" type="ns7:MetadataSetType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSpecificMetadataHeaderType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element default="false" name="Test" type="xs:boolean"/>
            <xs:element name="Prepared" type="xs:string"/>
            <xs:element name="Sender" type="tns:SenderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Receiver" type="tns:PartyType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" name="Structure" type="ns1:StructureSpecificMetadataStructureType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="DataSetAction" type="ns1:ActionType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSetID" type="xs:string"/>
            <xs:element minOccurs="0" name="Extracted" type="xs:dateTime"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Source" type="ns1:TextType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitSubscriptionsResponseType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="SubmitSubscriptionsResponse" type="ns4:SubmitSubscriptionsResponseType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QueryRegistrationRequestType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="QueryRegistrationRequest" type="ns4:QueryRegistrationRequestType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericDataQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:GenericDataQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConstraintQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:ConstraintQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericTimeSeriesDataType">
        <xs:sequence>
            <xs:element name="Header" type="tns:GenericTimeSeriesDataHeaderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSet" type="ns8:TimeSeriesDataSetType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericTimeSeriesDataHeaderType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element default="false" name="Test" type="xs:boolean"/>
            <xs:element name="Prepared" type="xs:string"/>
            <xs:element name="Sender" type="tns:SenderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Receiver" type="tns:PartyType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element name="Structure" type="ns1:GenericTimeSeriesDataStructureType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="DataSetAction" type="ns1:ActionType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSetID" type="xs:string"/>
            <xs:element minOccurs="0" name="Extracted" type="xs:dateTime"/>
            <xs:element minOccurs="0" name="ReportingBegin">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="ReportingEnd">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="EmbargoDate" type="xs:dateTime"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Source" type="ns1:TextType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSpecificTimeSeriesDataType">
        <xs:sequence>
            <xs:element name="Header" type="tns:StructureSpecificTimeSeriesDataHeaderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSet" type="ns6:TimeSeriesDataSetType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSpecificTimeSeriesDataHeaderType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element default="false" name="Test" type="xs:boolean"/>
            <xs:element name="Prepared" type="xs:string"/>
            <xs:element name="Sender" type="tns:SenderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Receiver" type="tns:PartyType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" name="Structure" type="ns1:StructureSpecificDataTimeSeriesStructureType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="DataSetAction" type="ns1:ActionType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSetID" type="xs:string"/>
            <xs:element minOccurs="0" name="Extracted" type="xs:dateTime"/>
            <xs:element minOccurs="0" name="ReportingBegin">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="ReportingEnd">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="EmbargoDate" type="xs:dateTime"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Source" type="ns1:TextType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataflowQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:DataflowQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataStructureQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:MetadataStructureQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategorisationQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:CategorisationQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataSchemaQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:DataSchemaQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:ConceptSchemeQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemeQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:OrganisationSchemeQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructuresQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:StructuresQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RegistryInterfaceType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element minOccurs="0" name="NotifyRegistryEvent" type="ns4:NotifyRegistryEventType"/>
            <xs:element minOccurs="0" name="QuerySubscriptionResponse" type="ns4:QuerySubscriptionResponseType"/>
            <xs:element minOccurs="0" name="QuerySubscriptionRequest" type="ns4:QuerySubscriptionRequestType"/>
            <xs:element minOccurs="0" name="SubmitSubscriptionsResponse" type="ns4:SubmitSubscriptionsResponseType"/>
            <xs:element minOccurs="0" name="SubmitSubscriptionsRequest" type="ns4:SubmitSubscriptionsRequestType"/>
            <xs:element minOccurs="0" name="SubmitStructureResponse" type="ns4:SubmitStructureResponseType"/>
            <xs:element minOccurs="0" name="SubmitStructureRequest" type="ns4:SubmitStructureRequestType"/>
            <xs:element minOccurs="0" name="QueryRegistrationResponse" type="ns4:QueryRegistrationResponseType"/>
            <xs:element minOccurs="0" name="QueryRegistrationRequest" type="ns4:QueryRegistrationRequestType"/>
            <xs:element minOccurs="0" name="SubmitRegistrationsResponse" type="ns4:SubmitRegistrationsResponseType"/>
            <xs:element minOccurs="0" name="SubmitRegistrationsRequest" type="ns4:SubmitRegistrationsRequestType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitSubscriptionsRequestType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="SubmitSubscriptionsRequest" type="ns4:SubmitSubscriptionsRequestType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitStructureRequestType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="SubmitStructureRequest" type="ns4:SubmitStructureRequestType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:MetadataQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataStructureQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:DataStructureQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodelistQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:HierarchicalCodelistQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QuerySubscriptionRequestType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="QuerySubscriptionRequest" type="ns4:QuerySubscriptionRequestType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitStructureResponseType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="SubmitStructureResponse" type="ns4:SubmitStructureResponseType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericTimeSeriesDataQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:GenericTimeSeriesDataQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QuerySubscriptionResponseType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="QuerySubscriptionResponse" type="ns4:QuerySubscriptionResponseType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataflowQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:MetadataflowQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericDataHeaderType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element default="false" name="Test" type="xs:boolean"/>
            <xs:element name="Prepared" type="xs:string"/>
            <xs:element name="Sender" type="tns:SenderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Receiver" type="tns:PartyType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" name="Structure" type="ns1:GenericDataStructureType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="DataSetAction" type="ns1:ActionType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSetID" type="xs:string"/>
            <xs:element minOccurs="0" name="Extracted" type="xs:dateTime"/>
            <xs:element minOccurs="0" name="ReportingBegin">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="ReportingEnd">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="EmbargoDate" type="xs:dateTime"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Source" type="ns1:TextType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSetQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:StructureSetQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProcessQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:ProcessQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSpecificTimeSeriesDataQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:TimeSeriesDataQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="QueryRegistrationResponseType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="QueryRegistrationResponse" type="ns4:QueryRegistrationResponseType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubmitRegistrationsResponseType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="SubmitRegistrationsResponse" type="ns4:SubmitRegistrationsResponseType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericMetadataType">
        <xs:sequence>
            <xs:element name="Header" type="tns:GenericMetadataHeaderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataSet" type="ns9:MetadataSetType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericMetadataHeaderType">
        <xs:sequence>
            <xs:element name="ID" type="xs:string"/>
            <xs:element default="false" name="Test" type="xs:boolean"/>
            <xs:element name="Prepared" type="xs:string"/>
            <xs:element name="Sender" type="tns:SenderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Receiver" type="tns:PartyType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" name="Structure" type="ns1:GenericMetadataStructureType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="DataSetAction" type="ns1:ActionType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSetID" type="xs:string"/>
            <xs:element minOccurs="0" name="Extracted" type="xs:dateTime"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Source" type="ns1:TextType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataSchemaQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:MetadataSchemaQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodelistQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:CodelistQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportingTaxonomyQueryType">
        <xs:sequence>
            <xs:element name="Header" type="tns:BasicHeaderType"/>
            <xs:element name="Query" type="ns5:ReportingTaxonomyQueryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSpecificDataType">
        <xs:sequence>
            <xs:element name="Header" type="tns:StructureSpecificDataHeaderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSet" type="ns6:DataSetType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericDataType">
        <xs:sequence>
            <xs:element name="Header" type="tns:GenericDataHeaderType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSet" type="ns8:DataSetType"/>
            <xs:element minOccurs="0" ref="ns3:Footer"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ErrorType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="ErrorMessage" type="ns1:CodedStatusMessageType"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:datastructurespecific="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/structurespecific">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:complexType name="DataSetType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Group" type="datastructurespecific:GroupType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Obs" type="datastructurespecific:ObsType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Series" type="datastructurespecific:SeriesType"/>
                </xs:sequence>
                <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay"/>
                <xs:attribute ref="datastructurespecific:structureRef" use="required"/>
                <xs:attribute ref="datastructurespecific:setID"/>
                <xs:attribute ref="datastructurespecific:action"/>
                <xs:attribute ref="datastructurespecific:reportingBeginDate"/>
                <xs:attribute ref="datastructurespecific:reportingEndDate"/>
                <xs:attribute ref="datastructurespecific:validFromDate"/>
                <xs:attribute ref="datastructurespecific:validToDate"/>
                <xs:attribute ref="datastructurespecific:publicationYear"/>
                <xs:attribute ref="datastructurespecific:publicationPeriod"/>
                <xs:attribute ref="datastructurespecific:dataScope" use="required"/>
                <xs:anyAttribute namespace="##other" processContents="skip"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="GroupType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence/>
                <xs:attribute name="type" type="xs:string"/>
                <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay"/>
                <xs:anyAttribute namespace="##other" processContents="skip"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ObsType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence/>
                <xs:attribute name="type" type="xs:string"/>
                <xs:attribute name="TIME_PERIOD">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay"/>
                <xs:attribute name="OBS_VALUE" type="xs:anySimpleType"/>
                <xs:anyAttribute namespace="##other" processContents="skip"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SeriesType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Obs" type="datastructurespecific:ObsType"/>
                </xs:sequence>
                <xs:attribute name="TIME_PERIOD">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="REPORTING_YEAR_START_DAY" type="xs:gMonthDay"/>
                <xs:anyAttribute namespace="##other" processContents="skip"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TimeSeriesDataSetType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Group" type="datastructurespecific:GroupType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Series" type="datastructurespecific:TimeSeriesType"/>
        </xs:sequence>
        <xs:attribute ref="datastructurespecific:structureRef" use="required"/>
        <xs:attribute ref="datastructurespecific:setID"/>
        <xs:attribute ref="datastructurespecific:action"/>
        <xs:attribute ref="datastructurespecific:reportingBeginDate"/>
        <xs:attribute ref="datastructurespecific:reportingEndDate"/>
        <xs:attribute ref="datastructurespecific:validFromDate"/>
        <xs:attribute ref="datastructurespecific:validToDate"/>
        <xs:attribute ref="datastructurespecific:publicationYear"/>
        <xs:attribute ref="datastructurespecific:publicationPeriod"/>
        <xs:attribute ref="datastructurespecific:dataScope" use="required"/>
        <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:complexType>
    <xs:complexType name="TimeSeriesType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Obs" type="datastructurespecific:TimeSeriesObsType"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:complexType>
    <xs:complexType name="TimeSeriesObsType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
        </xs:sequence>
        <xs:attribute name="TIME_PERIOD" use="required">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="OBS_VALUE" type="xs:anySimpleType"/>
        <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:complexType>
    <xs:simpleType name="DataScopeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="DataStructure"/>
            <xs:enumeration value="ConstrainedDataStructure"/>
            <xs:enumeration value="Dataflow"/>
            <xs:enumeration value="ProvisionAgreement"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:attribute name="action" type="xs:string"/>
    <xs:attribute name="dataScope" type="xs:string"/>
    <xs:attribute name="publicationPeriod" type="xs:string"/>
    <xs:attribute name="publicationYear" type="xs:string"/>
    <xs:attribute name="reportingBeginDate" type="xs:string"/>
    <xs:attribute name="reportingEndDate" type="xs:string"/>
    <xs:attribute name="setID" type="xs:string"/>
    <xs:attribute name="structureRef" type="xs:string"/>
    <xs:attribute name="validFromDate" type="xs:string"/>
    <xs:attribute name="validToDate" type="xs:string"/>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:datageneric="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/data/generic">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:complexType name="DataSetType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
                    <xs:element minOccurs="0" name="Attributes" type="tns:ValuesType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Group" type="tns:GroupType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Obs" type="tns:ObsOnlyType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Series" type="tns:SeriesType"/>
                </xs:sequence>
                <xs:attribute name="structureRef" type="xs:IDREF" use="required"/>
                <xs:attribute name="setID" type="xs:string"/>
                <xs:attribute name="action" type="ns1:ActionType"/>
                <xs:attribute name="reportingBeginDate">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="reportingEndDate">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="validFromDate" type="xs:dateTime"/>
                <xs:attribute name="validToDate" type="xs:dateTime"/>
                <xs:attribute name="publicationYear" type="xs:gYear"/>
                <xs:attribute name="publicationPeriod">
                    <xs:simpleType>
                        <xs:list itemType="xs:string"/>
                    </xs:simpleType>
                </xs:attribute>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ValuesType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Value" type="tns:ComponentValueType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ComponentValueType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="GroupType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="GroupKey" type="tns:ValuesType"/>
                    <xs:element name="Attributes" type="tns:ValuesType"/>
                </xs:sequence>
                <xs:attribute name="type" type="xs:string" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ObsOnlyType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="ObsKey" type="tns:ValuesType"/>
                    <xs:element minOccurs="0" name="ObsValue" type="tns:ObsValueType"/>
                    <xs:element minOccurs="0" name="Attributes" type="tns:ValuesType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ObsValueType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="SeriesType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="SeriesKey" type="tns:ValuesType"/>
                    <xs:element minOccurs="0" name="Attributes" type="tns:ValuesType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Obs" type="tns:ObsType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ObsType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="ObsDimension" type="tns:BaseValueType"/>
                    <xs:element minOccurs="0" name="ObsValue" type="tns:ObsValueType"/>
                    <xs:element minOccurs="0" name="Attributes" type="tns:ValuesType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BaseValueType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="value" type="xs:anySimpleType" use="required"/>
    </xs:complexType>
    <xs:complexType name="TimeSeriesDataSetType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
            <xs:element minOccurs="0" name="Attributes" type="tns:ValuesType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Group" type="tns:GroupType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Series" type="tns:TimeSeriesType"/>
        </xs:sequence>
        <xs:attribute name="structureRef" type="xs:IDREF" use="required"/>
        <xs:attribute name="setID" type="xs:string"/>
        <xs:attribute name="action" type="ns1:ActionType"/>
        <xs:attribute name="reportingBeginDate">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="reportingEndDate">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="validFromDate" type="xs:dateTime"/>
        <xs:attribute name="validToDate" type="xs:dateTime"/>
        <xs:attribute name="publicationYear" type="xs:gYear"/>
        <xs:attribute name="publicationPeriod">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="TimeSeriesType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="SeriesKey" type="tns:ValuesType"/>
            <xs:element minOccurs="0" name="Attributes" type="tns:ValuesType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Obs" type="tns:TimeSeriesObsType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeSeriesObsType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="ObsDimension" type="tns:TimeValueType"/>
            <xs:element minOccurs="0" name="ObsValue" type="tns:ObsValueType"/>
            <xs:element minOccurs="0" name="Attributes" type="tns:ValuesType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeValueType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="value" use="required">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:metadatastructurespecific="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/metadata/structurespecific">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:complexType abstract="true" name="ReportedAttributeType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:StructuredText"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Text"/>
                    <xs:element minOccurs="0" name="AttributeSet" type="xs:anyType"/>
                </xs:sequence>
                <xs:attribute name="id" type="xs:string"/>
                <xs:attribute name="value" type="xs:anySimpleType"/>
                <xs:attribute ref="tns:isMetadataAttribute"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MetadataSetType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
                    <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
                    <xs:element maxOccurs="unbounded" name="Report" type="tns:ReportType"/>
                </xs:sequence>
                <xs:attribute ref="tns:structureRef" use="required"/>
                <xs:attribute ref="tns:setID"/>
                <xs:attribute ref="tns:action"/>
                <xs:attribute ref="tns:reportingBeginDate"/>
                <xs:attribute ref="tns:reportingEndDate"/>
                <xs:attribute ref="tns:validFromDate"/>
                <xs:attribute ref="tns:validToDate"/>
                <xs:attribute ref="tns:publicationYear"/>
                <xs:attribute ref="tns:publicationPeriod"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ReportType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="Target" type="tns:TargetType"/>
                    <xs:element name="AttributeSet" type="xs:anyType"/>
                </xs:sequence>
                <xs:attribute name="id" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="TargetType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="ReferenceValue" type="tns:ReferenceValueType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="ReferenceValueType">
        <xs:sequence>
            <xs:element minOccurs="0" name="ReportPeriod">
                <xs:simpleType>
                    <xs:list itemType="xs:string"/>
                </xs:simpleType>
            </xs:element>
            <xs:element minOccurs="0" name="ConstraintContentReference" type="ns1:AttachmentConstraintReferenceType"/>
            <xs:element minOccurs="0" name="DataSetReference" type="ns1:SetReferenceType"/>
            <xs:element minOccurs="0" name="DataKey" type="ns1:DataKeyType"/>
            <xs:element minOccurs="0" name="ObjectReference" type="ns1:ReferenceType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:attribute name="action" type="ns1:ActionType"/>
    <xs:attribute name="isMetadataAttribute" type="xs:boolean"/>
    <xs:attribute name="publicationPeriod">
        <xs:simpleType>
            <xs:list itemType="xs:string"/>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="publicationYear" type="xs:gYear"/>
    <xs:attribute name="reportingBeginDate">
        <xs:simpleType>
            <xs:list itemType="xs:string"/>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="reportingEndDate">
        <xs:simpleType>
            <xs:list itemType="xs:string"/>
        </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="setID" type="xs:string"/>
    <xs:attribute name="structureRef" type="xs:IDREF"/>
    <xs:attribute name="validFromDate" type="xs:dateTime"/>
    <xs:attribute name="validToDate" type="xs:dateTime"/>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:common="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common">
    <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
    <xs:element name="Agency" type="common:EmptyType"/>
    <xs:element name="AgencyScheme" type="common:EmptyType"/>
    <xs:element name="Annotations" type="common:AnnotationsType"/>
    <xs:element name="Any" type="common:EmptyType"/>
    <xs:element name="AttachmentConstraint" type="common:EmptyType"/>
    <xs:element name="Attribute" type="common:EmptyType"/>
    <xs:element name="AttributeDescriptor" type="common:EmptyType"/>
    <xs:element name="Categorisation" type="common:EmptyType"/>
    <xs:element name="Category" type="common:EmptyType"/>
    <xs:element name="CategoryScheme" type="common:EmptyType"/>
    <xs:element name="CategorySchemeMap" type="common:EmptyType"/>
    <xs:element name="Code" type="common:EmptyType"/>
    <xs:element name="CodeMap" type="common:EmptyType"/>
    <xs:element name="Codelist" type="common:EmptyType"/>
    <xs:element name="CodelistMap" type="common:EmptyType"/>
    <xs:element name="ComponentMap" type="common:EmptyType"/>
    <xs:element name="Concept" type="common:EmptyType"/>
    <xs:element name="ConceptMap" type="common:EmptyType"/>
    <xs:element name="ConceptScheme" type="common:EmptyType"/>
    <xs:element name="ConceptSchemeMap" type="common:EmptyType"/>
    <xs:element name="ConstraintTarget" type="common:EmptyType"/>
    <xs:element name="ContentConstraint" type="common:EmptyType"/>
    <xs:element name="DataConsumer" type="common:EmptyType"/>
    <xs:element name="DataConsumerScheme" type="common:EmptyType"/>
    <xs:element name="DataProvider" type="common:EmptyType"/>
    <xs:element name="DataProviderScheme" type="common:EmptyType"/>
    <xs:element name="DataSetTarget" type="common:EmptyType"/>
    <xs:element name="DataStructure" type="common:EmptyType"/>
    <xs:element name="Dataflow" type="common:EmptyType"/>
    <xs:element name="Description" type="common:TextType"/>
    <xs:element name="Dimension" type="common:EmptyType"/>
    <xs:element name="DimensionDescriptor" type="common:EmptyType"/>
    <xs:element name="DimensionDescriptorValuesTarget" type="common:EmptyType"/>
    <xs:element name="GroupDimensionDescriptor" type="common:EmptyType"/>
    <xs:element name="HierarchicalCode" type="common:EmptyType"/>
    <xs:element name="HierarchicalCodelist" type="common:EmptyType"/>
    <xs:element name="Hierarchy" type="common:EmptyType"/>
    <xs:element name="HybridCodeMap" type="common:EmptyType"/>
    <xs:element name="HybridCodelistMap" type="common:EmptyType"/>
    <xs:element name="IdentifiableObjectTarget" type="common:EmptyType"/>
    <xs:element name="Level" type="common:EmptyType"/>
    <xs:element name="MeasureDescriptor" type="common:EmptyType"/>
    <xs:element name="MeasureDimension" type="common:EmptyType"/>
    <xs:element name="MetadataAttribute" type="common:EmptyType"/>
    <xs:element name="MetadataSet" type="common:EmptyType"/>
    <xs:element name="MetadataStructure" type="common:EmptyType"/>
    <xs:element name="MetadataTarget" type="common:EmptyType"/>
    <xs:element name="Metadataflow" type="common:EmptyType"/>
    <xs:element name="Name" type="common:TextType"/>
    <xs:element name="OrganisationMap" type="common:EmptyType"/>
    <xs:element name="OrganisationSchemeMap" type="common:EmptyType"/>
    <xs:element name="OrganisationUnit" type="common:EmptyType"/>
    <xs:element name="OrganisationUnitScheme" type="common:EmptyType"/>
    <xs:element name="PrimaryMeasure" type="common:EmptyType"/>
    <xs:element name="Process" type="common:EmptyType"/>
    <xs:element name="ProcessStep" type="common:EmptyType"/>
    <xs:element name="ProvisionAgreement" type="common:EmptyType"/>
    <xs:element name="ReportPeriodTarget" type="common:EmptyType"/>
    <xs:element name="ReportStructure" type="common:EmptyType"/>
    <xs:element name="ReportingCategory" type="common:EmptyType"/>
    <xs:element name="ReportingCategoryMap" type="common:EmptyType"/>
    <xs:element name="ReportingTaxonomy" type="common:EmptyType"/>
    <xs:element name="ReportingTaxonomyMap" type="common:EmptyType"/>
    <xs:element name="StructureMap" type="common:EmptyType"/>
    <xs:element name="StructureSet" type="common:EmptyType"/>
    <xs:element name="StructuredText" type="common:XHTMLType"/>
    <xs:element name="Text" type="common:TextType"/>
    <xs:element name="TimeDimension" type="common:EmptyType"/>
    <xs:element name="Transition" type="common:EmptyType"/>
    <xs:complexType name="TextType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute ref="xml:lang"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="ProvisionAgreementReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ProvisionAgreementRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProvisionAgreementRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:MaintainableTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ContentConstraintReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ContentConstraintRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ContentConstraintRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ConstraintTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="EmptyType">
        <xs:sequence/>
    </xs:complexType>
    <xs:complexType name="StatusMessageType">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="Text" type="common:TextType"/>
        </xs:sequence>
        <xs:attribute name="code" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="OrganisationReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:OrganisationRefBaseType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType abstract="true" name="OrganisationRefBaseType">
        <xs:sequence/>
        <xs:attribute name="maintainableParentID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MetadataflowReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:MetadataflowRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataflowRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:StructureUsageTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataflowReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DataflowRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataflowRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:StructureUsageTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="DataProviderReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DataProviderRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataProviderRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ReferencePeriodType">
        <xs:sequence/>
        <xs:attribute name="startTime" type="xs:dateTime" use="required"/>
        <xs:attribute name="endTime" type="xs:dateTime" use="required"/>
    </xs:complexType>
    <xs:complexType name="DataKeyType">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="KeyValue" type="common:DataKeyValueType"/>
        </xs:sequence>
        <xs:attribute name="include" type="xs:boolean"/>
        <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:complexType>
    <xs:complexType name="DataKeyValueType">
        <xs:sequence>
            <xs:element form="qualified" name="Value" type="common:SimpleKeyValueType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:simpleType name="SimpleKeyValueType">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <xs:complexType name="MetadataKeyType">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="KeyValue" type="common:MetadataKeyValueType"/>
        </xs:sequence>
        <xs:attribute name="report" type="xs:string" use="required"/>
        <xs:attribute name="metadataTarget" type="xs:string" use="required"/>
        <xs:attribute name="include" type="xs:boolean"/>
        <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:complexType>
    <xs:complexType name="MetadataKeyValueType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Object" type="common:ObjectReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="DataKey" type="common:DataKeyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataSet" type="common:SetReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="Value" type="common:SimpleKeyValueType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="ObjectReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ObjectRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ObjectRefType">
        <xs:sequence/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType" use="required"/>
        <xs:attribute name="maintainableParentID" type="xs:string"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="containerID" type="xs:string"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="SetReferenceType">
        <xs:sequence>
            <xs:element form="qualified" name="DataProvider" type="common:DataProviderReferenceType"/>
            <xs:element form="qualified" name="ID" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CubeRegionType">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="KeyValue" type="common:CubeRegionKeyType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="Attribute" type="common:AttributeValueSetType"/>
        </xs:sequence>
        <xs:attribute name="include" type="xs:boolean"/>
        <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:complexType>
    <xs:complexType name="CubeRegionKeyType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="TimeRange" type="common:TimeRangeValueType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="Value" type="common:SimpleValueType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="include" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="TimeRangeValueType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="StartPeriod" type="common:TimePeriodRangeType"/>
            <xs:element form="qualified" minOccurs="0" name="EndPeriod" type="common:TimePeriodRangeType"/>
            <xs:element form="qualified" minOccurs="0" name="AfterPeriod" type="common:TimePeriodRangeType"/>
            <xs:element form="qualified" minOccurs="0" name="BeforePeriod" type="common:TimePeriodRangeType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimePeriodRangeType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="isInclusive" type="xs:boolean"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="SimpleValueType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="cascadeValues" type="xs:boolean"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="AttributeValueSetType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="TimeRange" type="common:TimeRangeValueType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="Value" type="common:SimpleValueType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="include" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="MetadataTargetRegionType">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="KeyValue" type="common:MetadataTargetRegionKeyType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="Attribute" type="common:MetadataAttributeValueSetType"/>
        </xs:sequence>
        <xs:attribute name="report" type="xs:string" use="required"/>
        <xs:attribute name="metadataTarget" type="xs:string" use="required"/>
        <xs:attribute name="include" type="xs:boolean"/>
        <xs:anyAttribute namespace="##other" processContents="skip"/>
    </xs:complexType>
    <xs:complexType name="MetadataTargetRegionKeyType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="TimeRange" type="common:TimeRangeValueType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="Object" type="common:ObjectReferenceType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="DataKey" type="common:DataKeyType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="DataSet" type="common:SetReferenceType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="Value" type="common:SimpleKeyValueType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="include" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="MetadataAttributeValueSetType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="TimeRange" type="common:TimeRangeValueType"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="Value" type="common:SimpleValueType"/>
        </xs:sequence>
        <xs:attribute name="include" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="CategoryReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:CategoryRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategoryRefType">
        <xs:sequence/>
        <xs:attribute name="maintainableParentID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="QueryableDataSourceType">
        <xs:sequence>
            <xs:element form="qualified" name="DataURL" type="xs:anyURI"/>
            <xs:element form="qualified" minOccurs="0" name="WSDLURL" type="xs:anyURI"/>
            <xs:element form="qualified" minOccurs="0" name="WADLURL" type="xs:anyURI"/>
        </xs:sequence>
        <xs:attribute name="isRESTDatasource" type="xs:boolean" use="required"/>
        <xs:attribute name="isWebServiceDatasource" type="xs:boolean" use="required"/>
    </xs:complexType>
    <xs:complexType name="AnnotationsType">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="Annotation" type="common:AnnotationType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AnnotationType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="AnnotationTitle" type="xs:string"/>
            <xs:element form="qualified" minOccurs="0" name="AnnotationType" type="xs:string"/>
            <xs:element form="qualified" minOccurs="0" name="AnnotationURL" type="xs:anyURI"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="AnnotationText" type="common:TextType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="ConceptReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ConceptRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptRefType">
        <xs:sequence/>
        <xs:attribute name="maintainableParentID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="LocalPrimaryMeasureReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalPrimaryMeasureRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalPrimaryMeasureRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="LocalGroupKeyDescriptorReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalGroupKeyDescriptorRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalGroupKeyDescriptorRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="LocalDimensionReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalDimensionRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalDimensionRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:DimensionTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CodelistReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:CodelistRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodelistRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ItemSchemeTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ConceptSchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ItemSchemeTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="AttachmentConstraintReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:AttachmentConstraintRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttachmentConstraintRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ConstraintTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalConceptReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalConceptRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalConceptRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MetadataStructureReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:MetadataStructureRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataStructureRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:StructureTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataStructureReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DataStructureRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataStructureRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:StructureTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="LocalCodeReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalCodeRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalCodeRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="LocalOrganisationUnitReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalOrganisationUnitRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalOrganisationUnitRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="LocalItemReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalItemRefBaseType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType abstract="true" name="LocalItemRefBaseType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="ItemSchemeReferenceBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ItemSchemeRefBaseType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType abstract="true" name="ItemSchemeRefBaseType">
        <xs:sequence/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
        <xs:attribute name="class" type="common:ItemSchemeTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="StructureUsageReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:StructureUsageRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureUsageRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:StructureUsageTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="AnnotableType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="common:Annotations"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AnyLocalCodeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:AnyLocalCodeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AnyLocalCodeRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
        <xs:attribute name="class" type="common:CodeTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
        <xs:attribute name="version" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="LocalComponentListComponentReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalComponentListComponentRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalComponentListComponentRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="LocalCodelistMapReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalCodelistMapRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalCodelistMapRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="LocalProcessStepReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalProcessStepRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalProcessStepRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType mixed="true" name="XHTMLType">
        <xs:sequence>
            <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
        </xs:sequence>
        <xs:attribute ref="xml:lang"/>
    </xs:complexType>
    <xs:complexType name="StructureSpecificDataTimeSeriesStructureType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:DataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:DataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="namespace" type="xs:anyURI" use="required"/>
        <xs:attribute name="dimensionAtObservation" type="xs:string" use="required"/>
        <xs:attribute name="structureID" type="xs:ID" use="required"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="MeasureDescriptorReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:MeasureDescriptorRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MeasureDescriptorRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataConsumerRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MeasureDimensionRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:DimensionTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalTargetObjectReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalTargetObjectRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalTargetObjectRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:TargetObjectTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalComponentRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="StructureSetReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:StructureSetRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSetRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:MaintainableTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeMapRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="StructureOrUsageRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:StructureOrUsageTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="ConstraintTargetReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ConstraintTargetRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConstraintTargetRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalReportingCategoryReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalReportingCategoryRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalReportingCategoryRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="TransitionReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:TransitionRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TransitionRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ProcessStepReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ProcessStepRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProcessStepRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalLevelReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalLevelRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalLevelRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="AnyCodelistRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:CodelistTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="StructureMapReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:StructureMapRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureMapRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalMetadataTargetRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ReportCategoryRefType">
        <xs:sequence/>
        <xs:attribute name="maintainableParentID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataConsumerSchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationSchemeTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="StructureReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:StructureRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:StructureTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="CodelistMapRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="ReportingCategoryReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ReportCategoryRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodeRefType">
        <xs:sequence/>
        <xs:attribute name="maintainableParentID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
        <xs:attribute name="version" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemeMapReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:OrganisationSchemeMapRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemeMapRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CodeRefType">
        <xs:sequence/>
        <xs:attribute name="maintainableParentID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="LocalMetadataStructureComponentReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalMetadataStructureComponentRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalMetadataStructureComponentRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:MetadataStructureComponentTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataConsumerReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DataConsumerRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IdentifiableObjectTargetReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:IdentifiableObjectTargetRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IdentifiableObjectTargetRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataSetTargetReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DataSetTargetRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataSetTargetRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="KeyDescriptorRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:OrganisationSchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationSchemeTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="MetadataAttributeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:MetadataAttributeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataAttributeRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalDataStructureComponentRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:DataStructureComponentTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="TimeSeriesDataStructureRequestType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:DataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:DataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="dimensionAtObservation" type="xs:string" use="required"/>
        <xs:attribute name="explicitMeasures" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="KeyDescriptorValuesTargetRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LevelReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:LevelRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LevelRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalDataProviderReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalDataProviderRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalDataProviderRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataStructureEnumerationSchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DataStructureEnumerationSchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataStructureEnumerationSchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:DimensionEumerationSchemeTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="LocalCategoryReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalCategoryRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalCategoryRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ItemTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CategorySchemeMapRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="GenericDataStructureType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:DataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:DataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="dimensionAtObservation" type="xs:string" use="required"/>
        <xs:attribute name="structureID" type="xs:ID" use="required"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="AttributeRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalDataStructureComponentReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalDataStructureComponentRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalComponentReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalComponentRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AnyCodelistReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:AnyCodelistRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationUnitSchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:OrganisationUnitSchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationUnitSchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationSchemeTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ConstraintReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ConstraintRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType abstract="true" name="ConstraintRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ConstraintTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="AttributeDescriptorRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ReportPeriodTargetRefType">
        <xs:sequence/>
        <xs:attribute name="containerID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="AgencyRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CategorisationRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:MaintainableTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CategorySchemeMapReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:CategorySchemeMapRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationUnitReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:OrganisationUnitRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationUnitRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DimensionReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DimensionRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DimensionRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:DimensionTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MaintainableReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:MaintainableRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MaintainableRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ConcreteMaintainableTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="AgencySchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:AgencySchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AgencySchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationSchemeTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="TimeSeriesGenericDataStructureRequestType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:DataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:DataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="dimensionAtObservation" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="ReportingTaxonomyReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ReportingTaxonomyRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportingTaxonomyRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ItemSchemeTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ReportStructureReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ReportStructureRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportStructureRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="CodeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:CodeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttributeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:AttributeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalDataConsumerReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalDataConsumerRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalDataConsumerRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeMapReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ConceptSchemeMapRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodelistReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:HierarchicalCodelistRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodelistRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:MaintainableTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="GenericMetadataStructureType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:MetadataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:MetadataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchyRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentID" type="xs:string" use="required"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="StructureSpecificMetadataStructureType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:MetadataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:MetadataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="namespace" type="xs:anyURI" use="required"/>
    </xs:complexType>
    <xs:complexType name="CodelistMapReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:CodelistMapRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportPeriodTargetReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ReportPeriodTargetRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataProviderSchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DataProviderSchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataProviderSchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationSchemeTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="ProcessReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ProcessRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProcessRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:MaintainableTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="StructureSpecificDataStructureType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:DataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:DataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="namespace" type="xs:anyURI" use="required"/>
        <xs:attribute name="dimensionAtObservation" type="xs:string" use="required"/>
        <xs:attribute name="explicitMeasures" type="xs:boolean"/>
        <xs:attribute name="structureID" type="xs:ID" use="required"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="LocalAgencyRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="LocalReportStructureRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="DataStructureRequestType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:DataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:DataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="dimensionAtObservation" type="xs:string" use="required"/>
        <xs:attribute name="explicitMeasures" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="DataConsumerSchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:DataConsumerSchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategorySchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:CategorySchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategorySchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ItemSchemeTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="TimeDimensionRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:DimensionTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:HierarchicalCodeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ItemSchemeReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:ItemSchemeRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ItemSchemeRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:ItemSchemeTypeCodelistType" use="required"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="AgencyReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:AgencyRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalOrganisationRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MaintainableObjectTypeListType">
        <xs:all>
            <xs:element form="qualified" minOccurs="0" name="AgencyScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="AttachmentConstraint" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Categorisation" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="CategoryScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Codelist" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ConceptScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ContentConstraint" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Dataflow" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataConsumerScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataProviderScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataStructure" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="HierarchicalCodelist" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Metadataflow" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="MetadataStructure" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="OrganisationUnitScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Process" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgreement" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ReportingTaxonomy" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureSet" type="common:EmptyType"/>
        </xs:all>
    </xs:complexType>
    <xs:complexType name="KeyDescriptorReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:KeyDescriptorRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchyReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:HierarchyRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalMetadataTargetReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalMetadataTargetRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GenericTimeSeriesDataStructureType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:DataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:DataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="dimensionAtObservation" type="xs:string" use="required"/>
        <xs:attribute name="structureID" type="xs:ID" use="required"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="CategorisationReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:CategorisationRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationRefType">
        <xs:sequence/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType" use="required"/>
    </xs:complexType>
    <xs:complexType name="GroupKeyDescriptorReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:GroupKeyDescriptorRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="GroupKeyDescriptorRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="MetadataTargetRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentListTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="GenericDataStructureRequestType">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="Structure" type="common:DataStructureReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureUsage" type="common:DataflowReferenceType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgrement" type="common:ProvisionAgreementReferenceType"/>
        </xs:sequence>
        <xs:attribute name="dimensionAtObservation" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="LocalReportStructureReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalReportStructureRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureOrUsageReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:StructureOrUsageRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LocalAgencyReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalAgencyRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataTargetReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:MetadataTargetRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeDimensionReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:TimeDimensionRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="PrimaryMeasureRefType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:ComponentTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType name="AttributeDescriptorReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:AttributeDescriptorRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="KeyDescriptorValuesTargetReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:KeyDescriptorValuesTargetRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodedStatusMessageType">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="Text" type="common:TextType"/>
        </xs:sequence>
        <xs:attribute name="code" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="PrimaryMeasureReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:PrimaryMeasureRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MeasureDimensionReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:MeasureDimensionRefType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ObjectTypeListType">
        <xs:all>
            <xs:element form="qualified" minOccurs="0" name="Any" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Agency" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="AgencyScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="AttachmentConstraint" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Attribute" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="AttributeDescriptor" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Categorisation" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Category" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="CategorySchemeMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="CategoryScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Code" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="CodeMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Codelist" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="CodelistMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ComponentMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Concept" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ConceptMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ConceptScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ConceptSchemeMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ContentConstraint" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Dataflow" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataConsumer" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataConsumerScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataProvider" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataProviderScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataSetTarget" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DataStructure" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Dimension" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DimensionDescriptor" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="DimensionDescriptorValuesTarget" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="GroupDimensionDescriptor" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="HierarchicalCode" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="HierarchicalCodelist" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Hierarchy" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="HybridCodelistMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="HybridCodeMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="IdentifiableObjectTarget" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Level" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="MeasureDescriptor" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="MeasureDimension" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Metadataflow" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="MetadataAttribute" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="MetadataSet" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="MetadataStructure" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="MetadataTarget" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="OrganisationMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="OrganisationSchemeMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="OrganisationUnit" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="OrganisationUnitScheme" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="PrimaryMeasure" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Process" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ProcessStep" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ProvisionAgreement" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ReportingCategory" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ReportingCategoryMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ReportingTaxonomy" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ReportingTaxonomyMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ReportPeriodTarget" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="ReportStructure" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureMap" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="StructureSet" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="TimeDimension" type="common:EmptyType"/>
            <xs:element form="qualified" minOccurs="0" name="Transition" type="common:EmptyType"/>
        </xs:all>
    </xs:complexType>
    <xs:complexType name="LocalOrganisationReferenceType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalOrganisationRefType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="URNReferenceType">
        <xs:sequence>
            <xs:element name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType abstract="true" name="ReferenceType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:RefBaseType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType abstract="true" name="RefBaseType">
        <xs:sequence/>
        <xs:attribute name="agencyID" type="xs:string"/>
        <xs:attribute name="maintainableParentID" type="xs:string"/>
        <xs:attribute name="maintainableParentVersion" type="xs:string"/>
        <xs:attribute name="containerID" type="xs:string"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
        <xs:attribute name="class" type="common:ObjectTypeCodelistType"/>
        <xs:attribute name="package" type="common:PackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureReferenceBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Ref" type="common:StructureRefBaseType"/>
            <xs:element minOccurs="0" name="URN" type="xs:anyURI"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureRefBaseType">
        <xs:sequence/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="local" type="xs:boolean"/>
        <xs:attribute name="class" type="common:StructureTypeCodelistType"/>
        <xs:attribute name="package" type="common:StructurePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="LocalOrganisationReferenceBaseType">
        <xs:sequence>
            <xs:element name="Ref" type="common:LocalOrganisationRefBaseType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType abstract="true" name="LocalOrganisationRefBaseType">
        <xs:sequence/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="class" type="common:OrganisationTypeCodelistType"/>
        <xs:attribute name="package" type="common:ItemSchemePackageTypeCodelistType"/>
    </xs:complexType>
    <xs:simpleType name="ActionType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Append"/>
            <xs:enumeration value="Replace"/>
            <xs:enumeration value="Delete"/>
            <xs:enumeration value="Information"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ObjectTypeCodelistType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Any"/>
            <xs:enumeration value="Agency"/>
            <xs:enumeration value="AgencyScheme"/>
            <xs:enumeration value="AttachmentConstraint"/>
            <xs:enumeration value="Attribute"/>
            <xs:enumeration value="AttributeDescriptor"/>
            <xs:enumeration value="Categorisation"/>
            <xs:enumeration value="Category"/>
            <xs:enumeration value="CategorySchemeMap"/>
            <xs:enumeration value="CategoryScheme"/>
            <xs:enumeration value="Code"/>
            <xs:enumeration value="CodeMap"/>
            <xs:enumeration value="Codelist"/>
            <xs:enumeration value="CodelistMap"/>
            <xs:enumeration value="ComponentMap"/>
            <xs:enumeration value="Concept"/>
            <xs:enumeration value="ConceptMap"/>
            <xs:enumeration value="ConceptScheme"/>
            <xs:enumeration value="ConceptSchemeMap"/>
            <xs:enumeration value="Constraint"/>
            <xs:enumeration value="ConstraintTarget"/>
            <xs:enumeration value="ContentConstraint"/>
            <xs:enumeration value="Dataflow"/>
            <xs:enumeration value="DataConsumer"/>
            <xs:enumeration value="DataConsumerScheme"/>
            <xs:enumeration value="DataProvider"/>
            <xs:enumeration value="DataProviderScheme"/>
            <xs:enumeration value="DataSetTarget"/>
            <xs:enumeration value="DataStructure"/>
            <xs:enumeration value="Dimension"/>
            <xs:enumeration value="DimensionDescriptor"/>
            <xs:enumeration value="DimensionDescriptorValuesTarget"/>
            <xs:enumeration value="GroupDimensionDescriptor"/>
            <xs:enumeration value="HierarchicalCode"/>
            <xs:enumeration value="HierarchicalCodelist"/>
            <xs:enumeration value="Hierarchy"/>
            <xs:enumeration value="HybridCodelistMap"/>
            <xs:enumeration value="HybridCodeMap"/>
            <xs:enumeration value="IdentifiableObjectTarget"/>
            <xs:enumeration value="Level"/>
            <xs:enumeration value="MeasureDescriptor"/>
            <xs:enumeration value="MeasureDimension"/>
            <xs:enumeration value="Metadataflow"/>
            <xs:enumeration value="MetadataAttribute"/>
            <xs:enumeration value="MetadataSet"/>
            <xs:enumeration value="MetadataStructure"/>
            <xs:enumeration value="MetadataTarget"/>
            <xs:enumeration value="Organisation"/>
            <xs:enumeration value="OrganisationMap"/>
            <xs:enumeration value="OrganisationScheme"/>
            <xs:enumeration value="OrganisationSchemeMap"/>
            <xs:enumeration value="OrganisationUnit"/>
            <xs:enumeration value="OrganisationUnitScheme"/>
            <xs:enumeration value="PrimaryMeasure"/>
            <xs:enumeration value="Process"/>
            <xs:enumeration value="ProcessStep"/>
            <xs:enumeration value="ProvisionAgreement"/>
            <xs:enumeration value="ReportingCategory"/>
            <xs:enumeration value="ReportingCategoryMap"/>
            <xs:enumeration value="ReportingTaxonomy"/>
            <xs:enumeration value="ReportingTaxonomyMap"/>
            <xs:enumeration value="ReportingYearStartDay"/>
            <xs:enumeration value="ReportPeriodTarget"/>
            <xs:enumeration value="ReportStructure"/>
            <xs:enumeration value="StructureMap"/>
            <xs:enumeration value="StructureSet"/>
            <xs:enumeration value="TimeDimension"/>
            <xs:enumeration value="Transition"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MaintainableTypeCodelistType">
        <xs:restriction base="common:ObjectTypeCodelistType">
            <xs:enumeration value="Any"/>
            <xs:enumeration value="AgencyScheme"/>
            <xs:enumeration value="AttachmentConstraint"/>
            <xs:enumeration value="Categorisation"/>
            <xs:enumeration value="CategoryScheme"/>
            <xs:enumeration value="Codelist"/>
            <xs:enumeration value="ConceptScheme"/>
            <xs:enumeration value="Constraint"/>
            <xs:enumeration value="ContentConstraint"/>
            <xs:enumeration value="Dataflow"/>
            <xs:enumeration value="DataConsumerScheme"/>
            <xs:enumeration value="DataProviderScheme"/>
            <xs:enumeration value="DataStructure"/>
            <xs:enumeration value="HierarchicalCodelist"/>
            <xs:enumeration value="Metadataflow"/>
            <xs:enumeration value="MetadataStructure"/>
            <xs:enumeration value="OrganisationScheme"/>
            <xs:enumeration value="OrganisationUnitScheme"/>
            <xs:enumeration value="Process"/>
            <xs:enumeration value="ProvisionAgreement"/>
            <xs:enumeration value="ReportingTaxonomy"/>
            <xs:enumeration value="StructureSet"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="PackageTypeCodelistType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="base"/>
            <xs:enumeration value="datastructure"/>
            <xs:enumeration value="metadatastructure"/>
            <xs:enumeration value="process"/>
            <xs:enumeration value="registry"/>
            <xs:enumeration value="mapping"/>
            <xs:enumeration value="codelist"/>
            <xs:enumeration value="categoryscheme"/>
            <xs:enumeration value="conceptscheme"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ConstraintTypeCodelistType">
        <xs:restriction base="common:MaintainableTypeCodelistType">
            <xs:enumeration value="AttachmentConstraint"/>
            <xs:enumeration value="ContentConstraint"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ItemTypeCodelistType">
        <xs:restriction base="common:ObjectTypeCodelistType">
            <xs:enumeration value="Agency"/>
            <xs:enumeration value="Category"/>
            <xs:enumeration value="Code"/>
            <xs:enumeration value="Concept"/>
            <xs:enumeration value="DataConsumer"/>
            <xs:enumeration value="DataProvider"/>
            <xs:enumeration value="OrganisationUnit"/>
            <xs:enumeration value="ReportingCategory"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="OrganisationTypeCodelistType">
        <xs:restriction base="common:ItemTypeCodelistType">
            <xs:enumeration value="Agency"/>
            <xs:enumeration value="DataConsumer"/>
            <xs:enumeration value="DataProvider"/>
            <xs:enumeration value="OrganisationUnit"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ItemSchemePackageTypeCodelistType">
        <xs:restriction base="common:PackageTypeCodelistType">
            <xs:enumeration value="base"/>
            <xs:enumeration value="codelist"/>
            <xs:enumeration value="categoryscheme"/>
            <xs:enumeration value="conceptscheme"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StructureOrUsageTypeCodelistType">
        <xs:restriction base="common:MaintainableTypeCodelistType">
            <xs:enumeration value="Dataflow"/>
            <xs:enumeration value="DataStructure"/>
            <xs:enumeration value="Metadataflow"/>
            <xs:enumeration value="MetadataStructure"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StructureUsageTypeCodelistType">
        <xs:restriction base="common:StructureOrUsageTypeCodelistType">
            <xs:enumeration value="Dataflow"/>
            <xs:enumeration value="Metadataflow"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StructurePackageTypeCodelistType">
        <xs:restriction base="common:PackageTypeCodelistType">
            <xs:enumeration value="datastructure"/>
            <xs:enumeration value="metadatastructure"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ComponentTypeCodelistType">
        <xs:restriction base="common:ObjectTypeCodelistType">
            <xs:enumeration value="Attribute"/>
            <xs:enumeration value="ConstraintTarget"/>
            <xs:enumeration value="DataSetTarget"/>
            <xs:enumeration value="Dimension"/>
            <xs:enumeration value="IdentifiableObjectTarget"/>
            <xs:enumeration value="DimensionDescriptorValuesTarget"/>
            <xs:enumeration value="MeasureDimension"/>
            <xs:enumeration value="MetadataAttribute"/>
            <xs:enumeration value="PrimaryMeasure"/>
            <xs:enumeration value="ReportingYearStartDay"/>
            <xs:enumeration value="ReportPeriodTarget"/>
            <xs:enumeration value="TimeDimension"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ComponentListTypeCodelistType">
        <xs:restriction base="common:ObjectTypeCodelistType">
            <xs:enumeration value="AttributeDescriptor"/>
            <xs:enumeration value="DimensionDescriptor"/>
            <xs:enumeration value="GroupDimensionDescriptor"/>
            <xs:enumeration value="MeasureDescriptor"/>
            <xs:enumeration value="MetadataTarget"/>
            <xs:enumeration value="ReportStructure"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DimensionTypeCodelistType">
        <xs:restriction base="common:ComponentTypeCodelistType">
            <xs:enumeration value="Dimension"/>
            <xs:enumeration value="MeasureDimension"/>
            <xs:enumeration value="TimeDimension"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ItemSchemeTypeCodelistType">
        <xs:restriction base="common:MaintainableTypeCodelistType">
            <xs:enumeration value="AgencyScheme"/>
            <xs:enumeration value="CategoryScheme"/>
            <xs:enumeration value="Codelist"/>
            <xs:enumeration value="ConceptScheme"/>
            <xs:enumeration value="DataConsumerScheme"/>
            <xs:enumeration value="DataProviderScheme"/>
            <xs:enumeration value="OrganisationUnitScheme"/>
            <xs:enumeration value="ReportingTaxonomy"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DataType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="String"/>
            <xs:enumeration value="Alpha"/>
            <xs:enumeration value="AlphaNumeric"/>
            <xs:enumeration value="Numeric"/>
            <xs:enumeration value="BigInteger"/>
            <xs:enumeration value="Integer"/>
            <xs:enumeration value="Long"/>
            <xs:enumeration value="Short"/>
            <xs:enumeration value="Decimal"/>
            <xs:enumeration value="Float"/>
            <xs:enumeration value="Double"/>
            <xs:enumeration value="Boolean"/>
            <xs:enumeration value="URI"/>
            <xs:enumeration value="Count"/>
            <xs:enumeration value="InclusiveValueRange"/>
            <xs:enumeration value="ExclusiveValueRange"/>
            <xs:enumeration value="Incremental"/>
            <xs:enumeration value="ObservationalTimePeriod"/>
            <xs:enumeration value="StandardTimePeriod"/>
            <xs:enumeration value="BasicTimePeriod"/>
            <xs:enumeration value="GregorianTimePeriod"/>
            <xs:enumeration value="GregorianYear"/>
            <xs:enumeration value="GregorianYearMonth"/>
            <xs:enumeration value="GregorianDay"/>
            <xs:enumeration value="ReportingTimePeriod"/>
            <xs:enumeration value="ReportingYear"/>
            <xs:enumeration value="ReportingSemester"/>
            <xs:enumeration value="ReportingTrimester"/>
            <xs:enumeration value="ReportingQuarter"/>
            <xs:enumeration value="ReportingMonth"/>
            <xs:enumeration value="ReportingWeek"/>
            <xs:enumeration value="ReportingDay"/>
            <xs:enumeration value="DateTime"/>
            <xs:enumeration value="TimeRange"/>
            <xs:enumeration value="Month"/>
            <xs:enumeration value="MonthDay"/>
            <xs:enumeration value="Day"/>
            <xs:enumeration value="Time"/>
            <xs:enumeration value="Duration"/>
            <xs:enumeration value="XHTML"/>
            <xs:enumeration value="KeyValues"/>
            <xs:enumeration value="IdentifiableReference"/>
            <xs:enumeration value="DataSetReference"/>
            <xs:enumeration value="AttachmentConstraintReference"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="BasicComponentDataType">
        <xs:restriction base="common:DataType">
            <xs:enumeration value="String"/>
            <xs:enumeration value="Alpha"/>
            <xs:enumeration value="AlphaNumeric"/>
            <xs:enumeration value="Numeric"/>
            <xs:enumeration value="BigInteger"/>
            <xs:enumeration value="Integer"/>
            <xs:enumeration value="Long"/>
            <xs:enumeration value="Short"/>
            <xs:enumeration value="Decimal"/>
            <xs:enumeration value="Float"/>
            <xs:enumeration value="Double"/>
            <xs:enumeration value="Boolean"/>
            <xs:enumeration value="URI"/>
            <xs:enumeration value="Count"/>
            <xs:enumeration value="InclusiveValueRange"/>
            <xs:enumeration value="ExclusiveValueRange"/>
            <xs:enumeration value="Incremental"/>
            <xs:enumeration value="ObservationalTimePeriod"/>
            <xs:enumeration value="StandardTimePeriod"/>
            <xs:enumeration value="BasicTimePeriod"/>
            <xs:enumeration value="GregorianTimePeriod"/>
            <xs:enumeration value="GregorianYear"/>
            <xs:enumeration value="GregorianYearMonth"/>
            <xs:enumeration value="GregorianDay"/>
            <xs:enumeration value="ReportingTimePeriod"/>
            <xs:enumeration value="ReportingYear"/>
            <xs:enumeration value="ReportingSemester"/>
            <xs:enumeration value="ReportingTrimester"/>
            <xs:enumeration value="ReportingQuarter"/>
            <xs:enumeration value="ReportingMonth"/>
            <xs:enumeration value="ReportingWeek"/>
            <xs:enumeration value="ReportingDay"/>
            <xs:enumeration value="DateTime"/>
            <xs:enumeration value="TimeRange"/>
            <xs:enumeration value="Month"/>
            <xs:enumeration value="MonthDay"/>
            <xs:enumeration value="Day"/>
            <xs:enumeration value="Time"/>
            <xs:enumeration value="Duration"/>
            <xs:enumeration value="XHTML"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SimpleDataType">
        <xs:restriction base="common:BasicComponentDataType">
            <xs:enumeration value="String"/>
            <xs:enumeration value="Alpha"/>
            <xs:enumeration value="AlphaNumeric"/>
            <xs:enumeration value="Numeric"/>
            <xs:enumeration value="BigInteger"/>
            <xs:enumeration value="Integer"/>
            <xs:enumeration value="Long"/>
            <xs:enumeration value="Short"/>
            <xs:enumeration value="Decimal"/>
            <xs:enumeration value="Float"/>
            <xs:enumeration value="Double"/>
            <xs:enumeration value="Boolean"/>
            <xs:enumeration value="URI"/>
            <xs:enumeration value="Count"/>
            <xs:enumeration value="InclusiveValueRange"/>
            <xs:enumeration value="ExclusiveValueRange"/>
            <xs:enumeration value="Incremental"/>
            <xs:enumeration value="ObservationalTimePeriod"/>
            <xs:enumeration value="StandardTimePeriod"/>
            <xs:enumeration value="BasicTimePeriod"/>
            <xs:enumeration value="GregorianTimePeriod"/>
            <xs:enumeration value="GregorianYear"/>
            <xs:enumeration value="GregorianYearMonth"/>
            <xs:enumeration value="GregorianDay"/>
            <xs:enumeration value="ReportingTimePeriod"/>
            <xs:enumeration value="ReportingYear"/>
            <xs:enumeration value="ReportingSemester"/>
            <xs:enumeration value="ReportingTrimester"/>
            <xs:enumeration value="ReportingQuarter"/>
            <xs:enumeration value="ReportingMonth"/>
            <xs:enumeration value="ReportingWeek"/>
            <xs:enumeration value="ReportingDay"/>
            <xs:enumeration value="DateTime"/>
            <xs:enumeration value="TimeRange"/>
            <xs:enumeration value="Month"/>
            <xs:enumeration value="MonthDay"/>
            <xs:enumeration value="Day"/>
            <xs:enumeration value="Time"/>
            <xs:enumeration value="Duration"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DimensionTypeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Dimension"/>
            <xs:enumeration value="MeasureDimension"/>
            <xs:enumeration value="TimeDimension"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TimeDataType">
        <xs:restriction base="common:SimpleDataType">
            <xs:enumeration value="ObservationalTimePeriod"/>
            <xs:enumeration value="StandardTimePeriod"/>
            <xs:enumeration value="BasicTimePeriod"/>
            <xs:enumeration value="GregorianTimePeriod"/>
            <xs:enumeration value="GregorianYear"/>
            <xs:enumeration value="GregorianYearMonth"/>
            <xs:enumeration value="GregorianDay"/>
            <xs:enumeration value="ReportingTimePeriod"/>
            <xs:enumeration value="ReportingYear"/>
            <xs:enumeration value="ReportingSemester"/>
            <xs:enumeration value="ReportingTrimester"/>
            <xs:enumeration value="ReportingQuarter"/>
            <xs:enumeration value="ReportingMonth"/>
            <xs:enumeration value="ReportingWeek"/>
            <xs:enumeration value="ReportingDay"/>
            <xs:enumeration value="DateTime"/>
            <xs:enumeration value="TimeRange"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="StructureTypeCodelistType">
        <xs:restriction base="common:StructureOrUsageTypeCodelistType">
            <xs:enumeration value="DataStructure"/>
            <xs:enumeration value="MetadataStructure"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ContentConstraintTypeCodeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Allowed"/>
            <xs:enumeration value="Actual"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CodeTypeCodelistType">
        <xs:restriction base="common:ObjectTypeCodelistType">
            <xs:enumeration value="Code"/>
            <xs:enumeration value="HierarchicalCode"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TargetObjectTypeCodelistType">
        <xs:restriction base="common:ComponentTypeCodelistType">
            <xs:enumeration value="ConstraintTarget"/>
            <xs:enumeration value="DataSetTarget"/>
            <xs:enumeration value="IdentifiableObjectTarget"/>
            <xs:enumeration value="DimensionDescriptorValuesTarget"/>
            <xs:enumeration value="ReportPeriodTarget"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CodelistTypeCodelistType">
        <xs:restriction base="common:MaintainableTypeCodelistType">
            <xs:enumeration value="Codelist"/>
            <xs:enumeration value="HierarchicalCodelist"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="OrganisationSchemeTypeCodelistType">
        <xs:restriction base="common:ItemSchemeTypeCodelistType">
            <xs:enumeration value="AgencyScheme"/>
            <xs:enumeration value="DataConsumerScheme"/>
            <xs:enumeration value="DataProviderScheme"/>
            <xs:enumeration value="OrganisationUnitScheme"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="MetadataStructureComponentTypeCodelistType">
        <xs:restriction base="common:ComponentTypeCodelistType">
            <xs:enumeration value="ConstraintTarget"/>
            <xs:enumeration value="DataSetTarget"/>
            <xs:enumeration value="IdentifiableObjectTarget"/>
            <xs:enumeration value="DimensionDescriptorValuesTarget"/>
            <xs:enumeration value="MetadataAttribute"/>
            <xs:enumeration value="ReportPeriodTarget"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DataStructureComponentTypeCodelistType">
        <xs:restriction base="common:ComponentTypeCodelistType">
            <xs:enumeration value="Attribute"/>
            <xs:enumeration value="Dimension"/>
            <xs:enumeration value="MeasureDimension"/>
            <xs:enumeration value="PrimaryMeasure"/>
            <xs:enumeration value="ReportingYearStartDay"/>
            <xs:enumeration value="TimeDimension"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DimensionEumerationSchemeTypeCodelistType">
        <xs:restriction base="common:ItemSchemeTypeCodelistType">
            <xs:enumeration value="Codelist"/>
            <xs:enumeration value="ConceptScheme"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ConcreteMaintainableTypeCodelistType">
        <xs:restriction base="common:MaintainableTypeCodelistType">
            <xs:enumeration value="AgencyScheme"/>
            <xs:enumeration value="AttachmentConstraint"/>
            <xs:enumeration value="Categorisation"/>
            <xs:enumeration value="CategoryScheme"/>
            <xs:enumeration value="Codelist"/>
            <xs:enumeration value="ConceptScheme"/>
            <xs:enumeration value="ContentConstraint"/>
            <xs:enumeration value="Dataflow"/>
            <xs:enumeration value="DataConsumerScheme"/>
            <xs:enumeration value="DataProviderScheme"/>
            <xs:enumeration value="DataStructure"/>
            <xs:enumeration value="HierarchicalCodelist"/>
            <xs:enumeration value="Metadataflow"/>
            <xs:enumeration value="MetadataStructure"/>
            <xs:enumeration value="OrganisationUnitScheme"/>
            <xs:enumeration value="Process"/>
            <xs:enumeration value="ProvisionAgreement"/>
            <xs:enumeration value="ReportingTaxonomy"/>
            <xs:enumeration value="StructureSet"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SimpleOperatorType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="notEqual"/>
            <xs:enumeration value="equal"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common" xmlns:structure="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure" xmlns:tns="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/structure">
    <xs:import namespace="http://www.sdmx.org/resources/sdmxml/schemas/v2_1/common"/>
    <xs:element name="Agency" type="tns:AgencyType"/>
    <xs:element name="Attribute" type="tns:AttributeType"/>
    <xs:element name="AttributeList" type="tns:AttributeListType"/>
    <xs:element name="Category" type="tns:CategoryType"/>
    <xs:element name="CategoryMap" type="tns:CategoryMapType"/>
    <xs:element name="Code" type="tns:CodeType"/>
    <xs:element name="CodeMap" type="tns:CodeMapType"/>
    <xs:element name="Component" type="tns:ComponentType"/>
    <xs:element name="ComponentList" type="tns:ComponentListType"/>
    <xs:element name="Concept" type="tns:ConceptType"/>
    <xs:element name="ConceptMap" type="tns:ConceptMapType"/>
    <xs:element name="ConstraintContentTarget" type="tns:ConstraintContentTargetType"/>
    <xs:element name="DataConsumer" type="tns:DataConsumerType"/>
    <xs:element name="DataProvider" type="tns:DataProviderType"/>
    <xs:element name="DataSetTarget" type="tns:DataSetTargetType"/>
    <xs:element name="DataStructureComponents" type="tns:DataStructureComponentsType"/>
    <xs:element name="Dimension" type="tns:DimensionType"/>
    <xs:element name="DimensionList" type="tns:DimensionListType"/>
    <xs:element name="Group" type="tns:GroupType"/>
    <xs:element name="GroupDimension" type="tns:GroupDimensionType"/>
    <xs:element name="Grouping" type="tns:GroupingType"/>
    <xs:element name="IdentifiableObjectTarget" type="tns:IdentifiableObjectTargetType"/>
    <xs:element name="Item" type="tns:ItemType"/>
    <xs:element name="ItemAssociation" type="tns:ItemAssociationType"/>
    <xs:element name="KeyDescriptorValuesTarget" type="tns:KeyDescriptorValuesTargetType"/>
    <xs:element name="MeasureDimension" type="tns:MeasureDimensionType"/>
    <xs:element name="MeasureList" type="tns:MeasureListType"/>
    <xs:element name="MetadataAttribute" type="tns:MetadataAttributeType"/>
    <xs:element name="MetadataStructureComponents" type="tns:MetadataStructureComponentsType"/>
    <xs:element name="MetadataTarget" type="tns:MetadataTargetType"/>
    <xs:element name="Organisation" type="tns:OrganisationType"/>
    <xs:element name="OrganisationMap" type="tns:OrganisationMapType"/>
    <xs:element name="OrganisationUnit" type="tns:OrganisationUnitType"/>
    <xs:element name="PrimaryMeasure" type="tns:PrimaryMeasureType"/>
    <xs:element name="ReportPeriodTarget" type="tns:ReportPeriodTargetType"/>
    <xs:element name="ReportStructure" type="tns:ReportStructureType"/>
    <xs:element name="ReportingCategory" type="tns:ReportingCategoryType"/>
    <xs:element name="ReportingCategoryMap" type="tns:ReportingCategoryMapType"/>
    <xs:element name="ReportingYearStartDay" type="tns:ReportingYearStartDayType"/>
    <xs:element name="Structures" type="tns:StructuresType"/>
    <xs:element name="TimeDimension" type="tns:TimeDimensionType"/>
    <xs:complexType name="DataKeySetType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Key" type="ns1:DataKeyType"/>
        </xs:sequence>
        <xs:attribute name="isIncluded" type="xs:boolean" use="required"/>
    </xs:complexType>
    <xs:complexType name="MetadataKeySetType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Key" type="ns1:MetadataKeyType"/>
        </xs:sequence>
        <xs:attribute name="isIncluded" type="xs:boolean" use="required"/>
    </xs:complexType>
    <xs:complexType name="StructuresType">
        <xs:sequence>
            <xs:element minOccurs="0" name="OrganisationSchemes" type="tns:OrganisationSchemesType"/>
            <xs:element minOccurs="0" name="Dataflows" type="tns:DataflowsType"/>
            <xs:element minOccurs="0" name="Metadataflows" type="tns:MetadataflowsType"/>
            <xs:element minOccurs="0" name="CategorySchemes" type="tns:CategorySchemesType"/>
            <xs:element minOccurs="0" name="Categorisations" type="tns:CategorisationsType"/>
            <xs:element minOccurs="0" name="Codelists" type="tns:CodelistsType"/>
            <xs:element minOccurs="0" name="HierarchicalCodelists" type="tns:HierarchicalCodelistsType"/>
            <xs:element minOccurs="0" name="Concepts" type="tns:ConceptsType"/>
            <xs:element minOccurs="0" name="MetadataStructures" type="tns:MetadataStructuresType"/>
            <xs:element minOccurs="0" name="DataStructures" type="tns:DataStructuresType"/>
            <xs:element minOccurs="0" name="StructureSets" type="tns:StructureSetsType"/>
            <xs:element minOccurs="0" name="ReportingTaxonomies" type="tns:ReportingTaxonomiesType"/>
            <xs:element minOccurs="0" name="Processes" type="tns:ProcessesType"/>
            <xs:element minOccurs="0" name="Constraints" type="tns:ConstraintsType"/>
            <xs:element minOccurs="0" name="ProvisionAgreements" type="tns:ProvisionAgreementsType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemesType">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="AgencyScheme" type="tns:AgencySchemeType"/>
                <xs:element name="DataConsumerScheme" type="tns:DataConsumerSchemeType"/>
                <xs:element name="DataProviderScheme" type="tns:DataProviderSchemeType"/>
                <xs:element name="OrganisationUnitScheme" type="tns:OrganisationUnitSchemeType"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AgencySchemeType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Agency" type="tns:AgencyType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isPartial" type="xs:boolean"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="AgencyType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Contact" type="tns:ContactType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="ContactType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Department" type="ns1:TextType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Role" type="ns1:TextType"/>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="Fax" type="xs:string"/>
                <xs:element name="Telephone" type="xs:string"/>
                <xs:element name="X400" type="xs:string"/>
                <xs:element name="URI" type="xs:string"/>
                <xs:element name="Email" type="xs:string"/>
            </xs:choice>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="AttributeListType">
        <xs:complexContent>
            <xs:extension base="tns:AttributeListBaseType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="Attribute" type="tns:AttributeType"/>
                        <xs:element name="ReportingYearStartDay" type="tns:ReportingYearStartDayType"/>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="AttributeListBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="AttributeType">
        <xs:complexContent>
            <xs:extension base="tns:AttributeBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptRole" type="ns1:ConceptReferenceType"/>
                    <xs:element name="AttributeRelationship" type="tns:AttributeRelationshipType"/>
                </xs:sequence>
                <xs:attribute name="assignmentStatus" type="tns:UsageStatusType" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="AttributeBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element minOccurs="0" name="LocalRepresentation" type="tns:SimpleDataStructureRepresentationType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="AttributeRelationshipType">
        <xs:sequence>
            <xs:element minOccurs="0" name="PrimaryMeasure" type="ns1:LocalPrimaryMeasureReferenceType"/>
            <xs:element minOccurs="0" name="Group" type="ns1:LocalGroupKeyDescriptorReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Dimension" type="ns1:LocalDimensionReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="AttachmentGroup" type="ns1:LocalGroupKeyDescriptorReferenceType"/>
            <xs:element minOccurs="0" name="None" type="ns1:EmptyType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SimpleDataStructureRepresentationType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:CodelistReferenceType"/>
            <xs:element minOccurs="0" name="EnumerationFormat" type="tns:CodededTextFormatType"/>
            <xs:element minOccurs="0" name="TextFormat" type="tns:SimpleComponentTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IncludedCodelistReferenceType">
        <xs:complexContent>
            <xs:extension base="ns1:CodelistReferenceType">
                <xs:sequence/>
                <xs:attribute name="alias" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CodededTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="tns:CodeDataType"/>
        <xs:attribute name="isSequence" type="xs:boolean"/>
        <xs:attribute name="interval" type="xs:integer"/>
        <xs:attribute name="startValue" type="xs:integer"/>
        <xs:attribute name="endValue" type="xs:integer"/>
        <xs:attribute name="timeInterval" type="xs:duration"/>
        <xs:attribute name="startTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="endTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="minLength" type="xs:positiveInteger"/>
        <xs:attribute name="maxLength" type="xs:positiveInteger"/>
        <xs:attribute name="minValue" type="xs:integer"/>
        <xs:attribute name="maxValue" type="xs:integer"/>
        <xs:attribute name="pattern" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="SimpleComponentTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="ns1:SimpleDataType"/>
        <xs:attribute name="isSequence" type="xs:boolean"/>
        <xs:attribute name="interval" type="xs:decimal"/>
        <xs:attribute name="startValue" type="xs:decimal"/>
        <xs:attribute name="endValue" type="xs:decimal"/>
        <xs:attribute name="timeInterval" type="xs:duration"/>
        <xs:attribute name="startTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="endTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="minLength" type="xs:positiveInteger"/>
        <xs:attribute name="maxLength" type="xs:positiveInteger"/>
        <xs:attribute name="minValue" type="xs:decimal"/>
        <xs:attribute name="maxValue" type="xs:decimal"/>
        <xs:attribute name="decimals" type="xs:positiveInteger"/>
        <xs:attribute name="pattern" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="ReportingYearStartDayType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element name="LocalRepresentation" type="tns:ReportingYearStartDayRepresentationType"/>
            <xs:element name="AttributeRelationship" type="tns:AttributeRelationshipType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="assignmentStatus" type="tns:UsageStatusType" use="required"/>
    </xs:complexType>
    <xs:complexType name="ReportingYearStartDayRepresentationType">
        <xs:sequence>
            <xs:element name="TextFormat" type="tns:ReportingYearStartDayTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportingYearStartDayTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="ns1:SimpleDataType"/>
    </xs:complexType>
    <xs:complexType name="DataStructureComponentsType">
        <xs:complexContent>
            <xs:extension base="tns:DataStructureComponentsBaseType">
                <xs:sequence>
                    <xs:element name="DimensionList" type="tns:DimensionListType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Group" type="tns:GroupType"/>
                    <xs:element minOccurs="0" name="AttributeList" type="tns:AttributeListType"/>
                    <xs:element name="MeasureList" type="tns:MeasureListType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="DataStructureComponentsBaseType">
        <xs:sequence/>
    </xs:complexType>
    <xs:complexType name="DimensionListType">
        <xs:complexContent>
            <xs:extension base="tns:DimensionListBaseType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="Dimension" type="tns:DimensionType"/>
                        <xs:element name="MeasureDimension" type="tns:MeasureDimensionType"/>
                        <xs:element name="TimeDimension" type="tns:TimeDimensionType"/>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="DimensionListBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="DimensionType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element minOccurs="0" name="LocalRepresentation" type="tns:SimpleDataStructureRepresentationType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptRole" type="ns1:ConceptReferenceType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:DimensionTypeType"/>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="position" type="xs:int"/>
    </xs:complexType>
    <xs:complexType name="MeasureDimensionType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element name="LocalRepresentation" type="tns:MeasureDimensionRepresentationType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptRole" type="ns1:ConceptReferenceType"/>
        </xs:sequence>
        <xs:attribute name="type" type="ns1:DimensionTypeType"/>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="position" type="xs:int"/>
    </xs:complexType>
    <xs:complexType name="MeasureDimensionRepresentationType">
        <xs:sequence>
            <xs:element name="Enumeration" type="ns1:ConceptSchemeReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeDimensionType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element name="LocalRepresentation" type="tns:TimeDimensionRepresentationType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="type" type="ns1:DimensionTypeType"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="position" type="xs:int"/>
    </xs:complexType>
    <xs:complexType name="TimeDimensionRepresentationType">
        <xs:sequence>
            <xs:element name="TextFormat" type="tns:TimeTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TimeTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="ns1:TimeDataType"/>
        <xs:attribute name="startTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="endTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="GroupType">
        <xs:complexContent>
            <xs:extension base="tns:GroupBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="AttachmentConstraint" type="ns1:AttachmentConstraintReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="GroupDimension" type="tns:GroupDimensionType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="GroupBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="GroupDimensionType">
        <xs:complexContent>
            <xs:extension base="tns:GroupDimensionBaseType">
                <xs:sequence>
                    <xs:element name="DimensionReference" type="ns1:LocalDimensionReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="GroupDimensionBaseType">
        <xs:sequence/>
    </xs:complexType>
    <xs:complexType name="MeasureListType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="PrimaryMeasure" type="tns:PrimaryMeasureType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="PrimaryMeasureType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element minOccurs="0" name="LocalRepresentation" type="tns:SimpleDataStructureRepresentationType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="BasicComponentTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="ns1:BasicComponentDataType"/>
        <xs:attribute name="isSequence" type="xs:boolean"/>
        <xs:attribute name="interval" type="xs:decimal"/>
        <xs:attribute name="startValue" type="xs:decimal"/>
        <xs:attribute name="endValue" type="xs:decimal"/>
        <xs:attribute name="timeInterval" type="xs:duration"/>
        <xs:attribute name="startTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="endTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="minLength" type="xs:positiveInteger"/>
        <xs:attribute name="maxLength" type="xs:positiveInteger"/>
        <xs:attribute name="minValue" type="xs:decimal"/>
        <xs:attribute name="maxValue" type="xs:decimal"/>
        <xs:attribute name="decimals" type="xs:positiveInteger"/>
        <xs:attribute name="pattern" type="xs:string"/>
        <xs:attribute name="isMultiLingual" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType name="ISOConceptReferenceType">
        <xs:sequence>
            <xs:element name="ConceptAgency" type="xs:string"/>
            <xs:element name="ConceptSchemeID" type="xs:string"/>
            <xs:element name="ConceptID" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptRepresentation">
        <xs:sequence>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:CodelistReferenceType"/>
            <xs:element minOccurs="0" name="EnumerationFormat" type="tns:CodededTextFormatType"/>
            <xs:element minOccurs="0" name="TextFormat" type="tns:BasicComponentTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptType">
        <xs:complexContent>
            <xs:extension base="tns:ConceptBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="CoreRepresentation" type="tns:ConceptRepresentation"/>
                    <xs:element minOccurs="0" name="ISOConceptReference" type="tns:ISOConceptReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ConceptBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="Parent" type="ns1:LocalConceptReferenceType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Concept" type="tns:ConceptType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="isPartial" type="xs:boolean"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="ConceptsType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ConceptScheme" type="tns:ConceptSchemeType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConstraintsType">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="AttachmentConstraint" type="tns:AttachmentConstraintType"/>
                <xs:element name="ContentConstraint" type="tns:ContentConstraintType"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AttachmentConstraintType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="ConstraintAttachment" type="tns:AttachmentConstraintAttachmentType"/>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="DataKeySet" type="tns:DataKeySetType"/>
                <xs:element name="MetadataKeySet" type="tns:MetadataKeySetType"/>
            </xs:choice>
        </xs:sequence>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="AttachmentConstraintAttachmentType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Metadataflow" type="ns1:MetadataflowReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Dataflow" type="ns1:DataflowReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataStructure" type="ns1:MetadataStructureReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataStructure" type="ns1:DataStructureReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="SimpleDataSource" type="xs:anyURI"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataSet" type="ns1:SetReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataSet" type="ns1:SetReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ContentConstraintType">
        <xs:complexContent>
            <xs:extension base="tns:ContentConstraintBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="ReleaseCalendar" type="tns:ReleaseCalendarType"/>
                    <xs:element minOccurs="0" name="ReferencePeriod" type="ns1:ReferencePeriodType"/>
                </xs:sequence>
                <xs:attribute name="type" type="ns1:ContentConstraintTypeCodeType"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ContentConstraintBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="ConstraintAttachment" type="tns:ContentConstraintAttachmentType"/>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element name="DataKeySet" type="tns:DataKeySetType"/>
                <xs:element name="MetadataKeySet" type="tns:MetadataKeySetType"/>
                <xs:element name="CubeRegion" type="ns1:CubeRegionType"/>
                <xs:element name="MetadataTargetRegion" type="ns1:MetadataTargetRegionType"/>
            </xs:choice>
        </xs:sequence>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="ReleaseCalendarType">
        <xs:sequence>
            <xs:element name="Periodicity" type="xs:string"/>
            <xs:element name="Offset" type="xs:string"/>
            <xs:element name="Tolerance" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ContentConstraintAttachmentType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ProvisionAgreement" type="ns1:ProvisionAgreementReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Metadataflow" type="ns1:MetadataflowReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Dataflow" type="ns1:DataflowReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataStructure" type="ns1:MetadataStructureReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataStructure" type="ns1:DataStructureReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="QueryableDataSource" type="ns1:QueryableDataSourceType"/>
            <xs:element minOccurs="0" name="SimpleDataSource" type="xs:anyURI"/>
            <xs:element minOccurs="0" name="MetadataSet" type="ns1:SetReferenceType"/>
            <xs:element minOccurs="0" name="DataSet" type="ns1:SetReferenceType"/>
            <xs:element minOccurs="0" name="DataProvider" type="ns1:DataProviderReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodelistsType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Codelist" type="tns:CodelistType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodelistType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Code" type="tns:CodeType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="isPartial" type="xs:boolean"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="CodeType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="Parent" type="ns1:LocalCodeReferenceType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="DataConsumerSchemeType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataConsumer" type="tns:DataConsumerType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isPartial" type="xs:boolean"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="DataConsumerType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Contact" type="tns:ContactType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="DataProviderSchemeType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="DataProvider" type="tns:DataProviderType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isPartial" type="xs:boolean"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="DataProviderType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Contact" type="tns:ContactType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="OrganisationUnitSchemeType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="OrganisationUnit" type="tns:OrganisationUnitType"/>
        </xs:sequence>
        <xs:attribute name="isPartial" type="xs:boolean"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="OrganisationUnitType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="Parent" type="ns1:LocalOrganisationUnitReferenceType"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Contact" type="tns:ContactType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="ItemType">
        <xs:complexContent>
            <xs:extension base="tns:ItemBaseType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="tns:Item"/>
                        <xs:element ref="tns:Code"/>
                        <xs:element ref="tns:Concept"/>
                        <xs:element ref="tns:Organisation"/>
                        <xs:element ref="tns:OrganisationUnit"/>
                        <xs:element ref="tns:DataConsumer"/>
                        <xs:element ref="tns:Agency"/>
                        <xs:element ref="tns:DataProvider"/>
                        <xs:element ref="tns:Category"/>
                        <xs:element ref="tns:ReportingCategory"/>
                    </xs:choice>
                    <xs:element minOccurs="0" name="Parent" type="ns1:LocalItemReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ItemBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="ComponentType">
        <xs:complexContent>
            <xs:extension base="tns:ComponentBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
                    <xs:element minOccurs="0" name="LocalRepresentation" type="tns:RepresentationType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ComponentBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="RepresentationType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:ItemSchemeReferenceBaseType"/>
            <xs:element minOccurs="0" name="EnumerationFormat" type="tns:CodededTextFormatType"/>
            <xs:element minOccurs="0" name="TextFormat" type="tns:TextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="ns1:DataType"/>
        <xs:attribute name="isSequence" type="xs:boolean"/>
        <xs:attribute name="interval" type="xs:decimal"/>
        <xs:attribute name="startValue" type="xs:decimal"/>
        <xs:attribute name="endValue" type="xs:decimal"/>
        <xs:attribute name="timeInterval" type="xs:duration"/>
        <xs:attribute name="startTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="endTime">
            <xs:simpleType>
                <xs:list itemType="xs:string"/>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="minLength" type="xs:positiveInteger"/>
        <xs:attribute name="maxLength" type="xs:positiveInteger"/>
        <xs:attribute name="minValue" type="xs:decimal"/>
        <xs:attribute name="maxValue" type="xs:decimal"/>
        <xs:attribute name="decimals" type="xs:positiveInteger"/>
        <xs:attribute name="pattern" type="xs:string"/>
        <xs:attribute name="isMultiLingual" type="xs:boolean"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="TargetObject">
        <xs:complexContent>
            <xs:extension base="tns:ComponentType">
                <xs:sequence/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CategoryType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Category" type="tns:CategoryType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="CategorisationsType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Categorisation" type="tns:CategorisationType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategorisationType">
        <xs:complexContent>
            <xs:extension base="tns:MaintainableType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Source" type="ns1:ObjectReferenceType"/>
                    <xs:element minOccurs="0" name="Target" type="ns1:CategoryReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MaintainableType">
        <xs:complexContent>
            <xs:extension base="tns:MaintainableBaseType">
                <xs:sequence/>
                <xs:attribute name="agencyID" type="xs:string" use="required"/>
                <xs:attribute name="isFinal" type="xs:boolean"/>
                <xs:attribute name="isExternalReference" type="xs:boolean"/>
                <xs:attribute name="serviceURL" type="xs:anyURI"/>
                <xs:attribute name="structureURL" type="xs:anyURI"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MaintainableBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="ProvisionAgreementType">
        <xs:complexContent>
            <xs:extension base="tns:MaintainableType">
                <xs:sequence>
                    <xs:element name="StructureUsage" type="ns1:StructureUsageReferenceType"/>
                    <xs:element name="DataProvider" type="ns1:DataProviderReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProcessType">
        <xs:complexContent>
            <xs:extension base="tns:MaintainableType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="ProcessStep" type="tns:ProcessStepType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ProcessStepType">
        <xs:complexContent>
            <xs:extension base="tns:ProcessStepBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Input" type="tns:InputOutputType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Output" type="tns:InputOutputType"/>
                    <xs:element minOccurs="0" name="Computation" type="tns:ComputationType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Transition" type="tns:TransitionType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="ProcessStep" type="tns:ProcessStepType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ProcessStepBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="InputOutputType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="ObjectReference" type="ns1:ObjectReferenceType"/>
                </xs:sequence>
                <xs:attribute name="localID" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ItemAssociationType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="Source" type="ns1:LocalItemReferenceType"/>
                    <xs:element name="Target" type="ns1:LocalItemReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ComputationType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" ref="ns1:Description"/>
                </xs:sequence>
                <xs:attribute name="localID" type="xs:string"/>
                <xs:attribute name="softwarePackage" type="xs:string"/>
                <xs:attribute name="softwareLanguage" type="xs:string"/>
                <xs:attribute name="softwareVersion" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="HybridCodeMapType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="Source" type="ns1:AnyLocalCodeReferenceType"/>
                    <xs:element name="Target" type="ns1:AnyLocalCodeReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ComponentMapType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence>
                    <xs:element name="Source" type="ns1:LocalComponentListComponentReferenceType"/>
                    <xs:element name="Target" type="ns1:LocalComponentListComponentReferenceType"/>
                    <xs:element minOccurs="0" name="RepresentationMapping" type="tns:RepresentationMapType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RepresentationMapType">
        <xs:sequence>
            <xs:element minOccurs="0" name="ValueMap" type="tns:ValueMapType"/>
            <xs:element minOccurs="0" name="ToTextFormat" type="tns:TextFormatType"/>
            <xs:element minOccurs="0" name="ToValueType" type="tns:ToValueTypeType"/>
            <xs:element minOccurs="0" name="CodelistMap" type="ns1:LocalCodelistMapReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ValueMapType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="ValueMapping" type="tns:ValueMappingType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ValueMappingType">
        <xs:sequence/>
        <xs:attribute name="source" type="xs:string" use="required"/>
        <xs:attribute name="target" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="IdentifiableType">
        <xs:complexContent>
            <xs:extension base="ns1:AnnotableType">
                <xs:sequence/>
                <xs:attribute name="id" type="xs:string"/>
                <xs:attribute name="urn" type="xs:anyURI"/>
                <xs:attribute name="uri" type="xs:anyURI"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ComponentListType">
        <xs:complexContent>
            <xs:extension base="tns:IdentifiableType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="tns:Component"/>
                        <xs:element ref="tns:ReportingYearStartDay"/>
                        <xs:element ref="tns:MeasureDimension"/>
                        <xs:element ref="tns:TimeDimension"/>
                        <xs:element ref="tns:PrimaryMeasure"/>
                        <xs:element ref="tns:Dimension"/>
                        <xs:element ref="tns:GroupDimension"/>
                        <xs:element ref="tns:ConstraintContentTarget"/>
                        <xs:element ref="tns:MetadataAttribute"/>
                        <xs:element ref="tns:KeyDescriptorValuesTarget"/>
                        <xs:element ref="tns:DataSetTarget"/>
                        <xs:element ref="tns:ReportPeriodTarget"/>
                        <xs:element ref="tns:IdentifiableObjectTarget"/>
                        <xs:element ref="tns:Attribute"/>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TransitionType">
        <xs:complexContent>
            <xs:extension base="tns:IdentifiableType">
                <xs:sequence>
                    <xs:element name="TargetStep" type="ns1:LocalProcessStepReferenceType"/>
                    <xs:element maxOccurs="unbounded" name="Condition" type="ns1:TextType"/>
                </xs:sequence>
                <xs:attribute name="localID" type="xs:string"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="NameableType">
        <xs:complexContent>
            <xs:extension base="tns:IdentifiableType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="VersionableType">
        <xs:complexContent>
            <xs:extension base="tns:NameableType">
                <xs:sequence/>
                <xs:attribute name="version" type="xs:string"/>
                <xs:attribute name="validFrom" type="xs:dateTime"/>
                <xs:attribute name="validTo" type="xs:dateTime"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureUsageType">
        <xs:complexContent>
            <xs:extension base="tns:MaintainableType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="Structure" type="ns1:StructureReferenceBaseType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ItemSchemeType">
        <xs:complexContent>
            <xs:extension base="tns:MaintainableType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element ref="tns:Item"/>
                        <xs:element ref="tns:Code"/>
                        <xs:element ref="tns:Concept"/>
                        <xs:element ref="tns:Organisation"/>
                        <xs:element ref="tns:OrganisationUnit"/>
                        <xs:element ref="tns:DataConsumer"/>
                        <xs:element ref="tns:Agency"/>
                        <xs:element ref="tns:DataProvider"/>
                        <xs:element ref="tns:Category"/>
                        <xs:element ref="tns:ReportingCategory"/>
                    </xs:choice>
                </xs:sequence>
                <xs:attribute name="isPartial" type="xs:boolean"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureType">
        <xs:complexContent>
            <xs:extension base="tns:MaintainableType">
                <xs:choice>
                    <xs:element ref="tns:Grouping"/>
                    <xs:element ref="tns:DataStructureComponents"/>
                    <xs:element ref="tns:MetadataStructureComponents"/>
                </xs:choice>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CategorySchemesType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="CategoryScheme" type="tns:CategorySchemeType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategorySchemeType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Category" type="tns:CategoryType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="isPartial" type="xs:boolean"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="DataStructuresType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="DataStructure" type="tns:DataStructureType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataStructureType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="DataStructureComponents" type="tns:DataStructureComponentsType"/>
        </xs:sequence>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="OrganisationType">
        <xs:complexContent>
            <xs:extension base="tns:BaseOrganisationType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Contact" type="tns:ContactType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="BaseOrganisationType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="Parent" type="ns1:LocalOrganisationReferenceBaseType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CategoryMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="Source" type="ns1:LocalCategoryReferenceType"/>
            <xs:element name="Target" type="ns1:LocalCategoryReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="LevelType">
        <xs:complexContent>
            <xs:extension base="tns:LevelBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="CodingFormat" type="tns:CodingTextFormatType"/>
                    <xs:element minOccurs="0" name="Level" type="tns:LevelType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="LevelBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="CodingTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="tns:SimpleCodeDataType"/>
        <xs:attribute name="isSequence" type="xs:boolean"/>
        <xs:attribute name="interval" type="xs:integer"/>
        <xs:attribute name="startValue" type="xs:positiveInteger"/>
        <xs:attribute name="endValue" type="xs:positiveInteger"/>
        <xs:attribute name="minLength" type="xs:positiveInteger"/>
        <xs:attribute name="maxLength" type="xs:positiveInteger"/>
        <xs:attribute name="minValue" type="xs:positiveInteger"/>
        <xs:attribute name="maxValue" type="xs:positiveInteger"/>
        <xs:attribute name="pattern" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="MetadataAttributeType">
        <xs:complexContent>
            <xs:extension base="tns:MetadataAttributeBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="MetadataAttribute" type="tns:MetadataAttributeType"/>
                </xs:sequence>
                <xs:attribute name="minOccurs" type="xs:nonNegativeInteger"/>
                <xs:attribute name="maxOccurs" type="xs:string"/>
                <xs:attribute name="isPresentational" type="xs:boolean"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MetadataAttributeBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="ConceptIdentity" type="ns1:ConceptReferenceType"/>
            <xs:element minOccurs="0" name="LocalRepresentation" type="tns:MetadataAttributeRepresentationType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataAttributeRepresentationType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:CodelistReferenceType"/>
            <xs:element minOccurs="0" name="EnumerationFormat" type="tns:CodededTextFormatType"/>
            <xs:element minOccurs="0" name="TextFormat" type="tns:BasicComponentTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="Source" type="ns1:LocalOrganisationReferenceType"/>
            <xs:element name="Target" type="ns1:LocalOrganisationReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportingTaxonomyType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ReportingCategory" type="tns:ReportingCategoryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportingCategoryType">
        <xs:complexContent>
            <xs:extension base="tns:ReportingCategoryBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="ProvisioningMetadata" type="ns1:StructureUsageReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="StructuralMetadata" type="ns1:StructureReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ReportingCategoryBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="ReportingCategory" type="tns:ReportingCategoryType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataStructureComponentsBaseType">
        <xs:sequence/>
    </xs:complexType>
    <xs:complexType name="MetadataStructureComponentsType">
        <xs:complexContent>
            <xs:extension base="tns:MetadataStructureComponentsBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="MetadataTarget" type="tns:MetadataTargetType"/>
                    <xs:element maxOccurs="unbounded" name="ReportStructure" type="tns:ReportStructureType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="MetadataTargetType">
        <xs:complexContent>
            <xs:extension base="tns:MetadataTargetBaseType">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="KeyDescriptorValuesTarget" type="tns:KeyDescriptorValuesTargetType"/>
                        <xs:element name="DataSetTarget" type="tns:DataSetTargetType"/>
                        <xs:element name="ConstraintContentTarget" type="tns:ConstraintContentTargetType"/>
                        <xs:element name="ReportPeriodTarget" type="tns:ReportPeriodTargetType"/>
                        <xs:element name="IdentifiableObjectTarget" type="tns:IdentifiableObjectTargetType"/>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="MetadataTargetBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="KeyDescriptorValuesTargetType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="LocalRepresentation" type="tns:KeyDescriptorValuesRepresentationType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="KeyDescriptorValuesRepresentationType">
        <xs:sequence>
            <xs:element name="TextFormat" type="tns:KeyDescriptorValuesTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="KeyDescriptorValuesTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="tns:TargetObjectDataType"/>
    </xs:complexType>
    <xs:complexType name="DataSetTargetType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="LocalRepresentation" type="tns:DataSetRepresentationType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="DataSetRepresentationType">
        <xs:sequence>
            <xs:element name="TextFormat" type="tns:DataSetTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataSetTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="tns:TargetObjectDataType"/>
    </xs:complexType>
    <xs:complexType name="ConstraintContentTargetType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="LocalRepresentation" type="tns:ConstraintRepresentationType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="ConstraintRepresentationType">
        <xs:sequence>
            <xs:element name="TextFormat" type="tns:ConstraintTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConstraintTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="tns:TargetObjectDataType"/>
    </xs:complexType>
    <xs:complexType name="ReportPeriodTargetType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="LocalRepresentation" type="tns:ReportPeriodRepresentationType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="ReportPeriodRepresentationType">
        <xs:sequence>
            <xs:element name="TextFormat" type="tns:TimeTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IdentifiableObjectTargetType">
        <xs:complexContent>
            <xs:extension base="tns:IdentifiableObjectTargetBaseType">
                <xs:sequence/>
                <xs:attribute name="objectType" type="ns1:ObjectTypeCodelistType" use="required"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="IdentifiableObjectTargetBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="LocalRepresentation" type="tns:IdentifiableObjectRepresentationType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="IdentifiableObjectRepresentationType">
        <xs:sequence>
            <xs:element minOccurs="0" name="Enumeration" type="ns1:ItemSchemeReferenceType"/>
            <xs:element minOccurs="0" name="TextFormat" type="tns:IdentifiableObjectTextFormatType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="IdentifiableObjectTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="tns:TargetObjectDataType"/>
    </xs:complexType>
    <xs:complexType name="ReportStructureType">
        <xs:complexContent>
            <xs:extension base="tns:ReportStructureBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="MetadataTarget" type="ns1:LocalMetadataTargetReferenceType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="ReportStructureBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" name="MetadataAttribute" type="tns:MetadataAttributeType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="NonFacetedTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="ns1:SimpleDataType"/>
    </xs:complexType>
    <xs:complexType name="CategorySchemeMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element name="Source" type="ns1:CategorySchemeReferenceType"/>
            <xs:element name="Target" type="ns1:CategorySchemeReferenceType"/>
            <xs:element maxOccurs="unbounded" name="CategoryMap" type="tns:CategoryMapType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HybridCodelistMapType">
        <xs:complexContent>
            <xs:extension base="tns:HybridCodelistMapBaseType">
                <xs:sequence>
                    <xs:element name="Source" type="ns1:AnyCodelistReferenceType"/>
                    <xs:element name="Target" type="ns1:AnyCodelistReferenceType"/>
                    <xs:element maxOccurs="unbounded" name="HybridCodeMap" type="tns:HybridCodeMapType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="HybridCodelistMapBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="HierarchyType">
        <xs:complexContent>
            <xs:extension base="tns:HierarchyBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="HierarchicalCode" type="tns:HierarchicalCodeType"/>
                    <xs:element minOccurs="0" name="Level" type="tns:LevelType"/>
                </xs:sequence>
                <xs:attribute name="leveled" type="xs:boolean"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="HierarchyBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodeType">
        <xs:complexContent>
            <xs:extension base="tns:HierarchicalCodeBaseType">
                <xs:sequence>
                    <xs:element minOccurs="0" name="CodelistAliasRef" type="xs:string"/>
                    <xs:element minOccurs="0" name="CodeID" type="ns1:LocalCodeReferenceType"/>
                    <xs:element minOccurs="0" name="Code" type="ns1:CodeReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="HierarchicalCode" type="tns:HierarchicalCodeType"/>
                    <xs:element minOccurs="0" name="Level" type="ns1:LocalLevelReferenceType"/>
                </xs:sequence>
                <xs:attribute name="version" type="xs:string"/>
                <xs:attribute name="validFrom" type="xs:dateTime"/>
                <xs:attribute name="validTo" type="xs:dateTime"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="HierarchicalCodeBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="ReportingTaxonomyMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element name="Source" type="ns1:ReportingTaxonomyReferenceType"/>
            <xs:element name="Target" type="ns1:ReportingTaxonomyReferenceType"/>
            <xs:element maxOccurs="unbounded" name="ReportingCategoryMap" type="tns:ReportingCategoryMapType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportingCategoryMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="Source" type="ns1:LocalReportingCategoryReferenceType"/>
            <xs:element name="Target" type="ns1:LocalReportingCategoryReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSetType">
        <xs:complexContent>
            <xs:extension base="tns:StructureSetBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="RelatedStructure" type="ns1:StructureOrUsageReferenceType"/>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="OrganisationSchemeMap" type="tns:OrganisationSchemeMapType"/>
                        <xs:element name="CategorySchemeMap" type="tns:CategorySchemeMapType"/>
                        <xs:element name="CodelistMap" type="tns:CodelistMapType"/>
                        <xs:element name="ConceptSchemeMap" type="tns:ConceptSchemeMapType"/>
                        <xs:element name="ReportingTaxonomyMap" type="tns:ReportingTaxonomyMapType"/>
                        <xs:element name="HybridCodelistMap" type="tns:HybridCodelistMapType"/>
                        <xs:element name="StructureMap" type="tns:StructureMapType"/>
                    </xs:choice>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureSetBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OrganisationSchemeMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element name="Source" type="ns1:OrganisationSchemeReferenceType"/>
            <xs:element name="Target" type="ns1:OrganisationSchemeReferenceType"/>
            <xs:element maxOccurs="unbounded" name="OrganisationMap" type="tns:OrganisationMapType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodelistMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element name="Source" type="ns1:CodelistReferenceType"/>
            <xs:element name="Target" type="ns1:CodelistReferenceType"/>
            <xs:element maxOccurs="unbounded" name="CodeMap" type="tns:CodeMapType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CodeMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="Source" type="ns1:LocalCodeReferenceType"/>
            <xs:element name="Target" type="ns1:LocalCodeReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptSchemeMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element name="Source" type="ns1:ConceptSchemeReferenceType"/>
            <xs:element name="Target" type="ns1:ConceptSchemeReferenceType"/>
            <xs:element maxOccurs="unbounded" name="ConceptMap" type="tns:ConceptMapType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ConceptMapType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element name="Source" type="ns1:LocalConceptReferenceType"/>
            <xs:element name="Target" type="ns1:LocalConceptReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureMapType">
        <xs:complexContent>
            <xs:extension base="tns:StructureMapBaseType">
                <xs:sequence>
                    <xs:element name="Source" type="ns1:StructureOrUsageReferenceType"/>
                    <xs:element name="Target" type="ns1:StructureOrUsageReferenceType"/>
                    <xs:element maxOccurs="unbounded" name="ComponentMap" type="tns:ComponentMapType"/>
                </xs:sequence>
                <xs:attribute name="isExtension" type="xs:boolean"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="StructureMapBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:complexType name="MetadataStructureType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="MetadataStructureComponents" type="tns:MetadataStructureComponentsType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodelistType">
        <xs:complexContent>
            <xs:extension base="tns:HierarchicalCodelistBaseType">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="IncludedCodelist" type="tns:IncludedCodelistReferenceType"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Hierarchy" type="tns:HierarchyType"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="HierarchicalCodelistBaseType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
        </xs:sequence>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType abstract="true" name="GroupingType">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element ref="tns:ComponentList"/>
                <xs:element ref="tns:AttributeList"/>
                <xs:element ref="tns:ReportStructure"/>
                <xs:element ref="tns:DimensionList"/>
                <xs:element ref="tns:MetadataTarget"/>
                <xs:element ref="tns:MeasureList"/>
                <xs:element ref="tns:Group"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataflowsType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Dataflow" type="tns:DataflowType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="DataflowType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="Structure" type="ns1:DataStructureReferenceType"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:string" use="required"/>
        <xs:attribute name="urn" type="xs:anyURI"/>
        <xs:attribute name="uri" type="xs:anyURI"/>
        <xs:attribute name="version" type="xs:string"/>
        <xs:attribute name="validFrom" type="xs:dateTime"/>
        <xs:attribute name="validTo" type="xs:dateTime"/>
        <xs:attribute name="agencyID" type="xs:string" use="required"/>
        <xs:attribute name="isFinal" type="xs:boolean"/>
        <xs:attribute name="isExternalReference" type="xs:boolean"/>
        <xs:attribute name="serviceURL" type="xs:anyURI"/>
        <xs:attribute name="structureURL" type="xs:anyURI"/>
    </xs:complexType>
    <xs:complexType name="MetadataflowsType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Metadataflow" type="tns:MetadataflowType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataflowType">
        <xs:sequence>
            <xs:element minOccurs="0" ref="ns1:Annotations"/>
            <xs:element maxOccurs="unbounded" ref="ns1:Name"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Description"/>
            <xs:element minOccurs="0" name="Structure" type="ns1:MetadataStructureReferenceType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="HierarchicalCodelistsType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="HierarchicalCodelist" type="tns:HierarchicalCodelistType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="MetadataStructuresType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="MetadataStructure" type="tns:MetadataStructureType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="StructureSetsType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="StructureSet" type="tns:StructureSetType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ReportingTaxonomiesType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="ReportingTaxonomy" type="tns:ReportingTaxonomyType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProcessesType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Process" type="tns:ProcessType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ProvisionAgreementsType">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" name="ProvisionAgreement" type="tns:ProvisionAgreementType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TargetObjectTextFormatType">
        <xs:sequence/>
        <xs:attribute name="textType" type="tns:TargetObjectDataType"/>
    </xs:complexType>
    <xs:simpleType name="UsageStatusType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Mandatory"/>
            <xs:enumeration value="Conditional"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CodeDataType">
        <xs:restriction base="ns1:SimpleDataType">
            <xs:enumeration value="String"/>
            <xs:enumeration value="Alpha"/>
            <xs:enumeration value="AlphaNumeric"/>
            <xs:enumeration value="Numeric"/>
            <xs:enumeration value="BigInteger"/>
            <xs:enumeration value="Integer"/>
            <xs:enumeration value="Long"/>
            <xs:enumeration value="Short"/>
            <xs:enumeration value="Boolean"/>
            <xs:enumeration value="URI"/>
            <xs:enumeration value="Count"/>
            <xs:enumeration value="InclusiveValueRange"/>
            <xs:enumeration value="ExclusiveValueRange"/>
            <xs:enumeration value="Incremental"/>
            <xs:enumeration value="ObservationalTimePeriod"/>
            <xs:enumeration value="StandardTimePeriod"/>
            <xs:enumeration value="BasicTimePeriod"/>
            <xs:enumeration value="GregorianTimePeriod"/>
            <xs:enumeration value="GregorianYear"/>
            <xs:enumeration value="GregorianYearMonth"/>
            <xs:enumeration value="GregorianDay"/>
            <xs:enumeration value="ReportingTimePeriod"/>
            <xs:enumeration value="ReportingYear"/>
            <xs:enumeration value="ReportingSemester"/>
            <xs:enumeration value="ReportingTrimester"/>
            <xs:enumeration value="ReportingQuarter"/>
            <xs:enumeration value="ReportingMonth"/>
            <xs:enumeration value="ReportingWeek"/>
            <xs:enumeration value="ReportingDay"/>
            <xs:enumeration value="Month"/>
            <xs:enumeration value="MonthDay"/>
            <xs:enumeration value="Day"/>
            <xs:enumeration value="Duration"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ToValueTypeType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Value"/>
            <xs:enumeration value="Name"/>
            <xs:enumeration value="Description"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SimpleCodeDataType">
        <xs:restriction base="ns1:SimpleDataType">
            <xs:enumeration value="Alpha"/>
            <xs:enumeration value="AlphaNumeric"/>
            <xs:enumeration value="Numeric"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TargetObjectDataType">
        <xs:restriction base="ns1:DataType">
            <xs:enumeration value="KeyValues"/>
            <xs:enumeration value="IdentifiableReference"/>
            <xs:enumeration value="DataSetReference"/>
            <xs:enumeration value="AttachmentConstraintReference"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
</grammars><resources base="https://iestadis.edatos.io/sdmx-registry/structure/registry"><resource path="/v2.1"><resource path="/agencyscheme"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/agencyscheme/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/agencyscheme/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/agencyscheme/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/categorisation"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/categorisation/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/categorisation/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/categorisation/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/categoryscheme"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/categoryscheme/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/categoryscheme/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/categoryscheme/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/codelist"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/codelist/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/codelist/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/codelist/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/conceptscheme"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/conceptscheme/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/conceptscheme/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/conceptscheme/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/contentconstraint"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/contentconstraint/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/contentconstraint/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/contentconstraint/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataconsumerscheme"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataconsumerscheme/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataconsumerscheme/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataconsumerscheme/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataflow"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataflow/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataflow/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataflow/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataproviderscheme"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataproviderscheme/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataproviderscheme/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/dataproviderscheme/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/datastructure"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/datastructure/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/datastructure/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/datastructure/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/organisationscheme"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/organisationscheme/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/organisationscheme/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/organisationscheme/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/organisationunitscheme"><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/organisationunitscheme/{agencyID}"><param name="agencyID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/organisationunitscheme/{agencyID}/{resourceID}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource><resource path="/organisationunitscheme/{agencyID}/{resourceID}/{version}"><param name="agencyID" style="template" type="xs:string"/><param name="resourceID" style="template" type="xs:string"/><param name="version" style="template" type="xs:string"/><method name="GET"><request><param name="detail" style="query" default="full" type="xs:string"/><param name="references" style="query" default="none" type="xs:string"/></request><response><representation mediaType="application/xml" element="prefix1:Structure"/></response></method></resource></resource></resources></application>