<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gco="http://www.isotc211.org/2005/gco"
           xmlns:gmd="http://www.isotc211.org/2005/gmd" targetNamespace="http://www.isotc211.org/2005/gmd"
           elementFormDefault="qualified"
           version="0.1">
  <!-- ================================= Annotation ================================ -->
  <xs:annotation>
    <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 01-26-2005
      12:40:01 ======
    </xs:documentation>
  </xs:annotation>
  <!-- ================================== Imports ================================== -->
  <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/>
  <xs:include schemaLocation="../gmd/identification.xsd"/>
  <!-- ########################################################################### -->
  <!-- ########################################################################### -->
  <!-- ================================== Classes ================================= -->
  <xs:complexType name="LI_ProcessStep_Type">
    <xs:complexContent>
      <xs:extension base="gco:AbstractObject_Type">
        <xs:sequence>
          <xs:element name="description" type="gco:CharacterString_PropertyType"/>
          <xs:element name="rationale" type="gco:CharacterString_PropertyType" minOccurs="0"/>
          <xs:element name="dateTime" type="gco:DateTime_PropertyType" minOccurs="0"/>
          <xs:element name="processor" type="gmd:CI_ResponsibleParty_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
          <xs:element name="source" type="gmd:LI_Source_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="LI_ProcessStep" type="gmd:LI_ProcessStep_Type"/>
  <!-- ........................................................................ -->
  <xs:complexType name="LI_ProcessStep_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:LI_ProcessStep"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="LI_Source_Type">
    <xs:complexContent>
      <xs:extension base="gco:AbstractObject_Type">
        <xs:sequence>
          <xs:element name="description" type="gco:CharacterString_PropertyType" minOccurs="0"/>
          <xs:element name="scaleDenominator" type="gmd:MD_RepresentativeFraction_PropertyType"
                      minOccurs="0"/>
          <xs:element name="sourceReferenceSystem" type="gmd:MD_ReferenceSystem_PropertyType"
                      minOccurs="0"/>
          <xs:element name="sourceCitation" type="gmd:CI_Citation_PropertyType" minOccurs="0"/>
          <xs:element name="sourceExtent" type="gmd:EX_Extent_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
          <xs:element name="sourceStep" type="gmd:LI_ProcessStep_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="LI_Source" type="gmd:LI_Source_Type"/>
  <!-- ........................................................................ -->
  <xs:complexType name="LI_Source_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:LI_Source"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="LI_Lineage_Type">
    <xs:complexContent>
      <xs:extension base="gco:AbstractObject_Type">
        <xs:sequence>
          <xs:element name="statement" type="gco:CharacterString_PropertyType" minOccurs="0"/>
          <xs:element name="processStep" type="gmd:LI_ProcessStep_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
          <xs:element name="source" type="gmd:LI_Source_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="LI_Lineage" type="gmd:LI_Lineage_Type"/>
  <!-- ........................................................................ -->
  <xs:complexType name="LI_Lineage_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:LI_Lineage"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_ConformanceResult_Type">
    <xs:annotation>
      <xs:documentation>quantitative_result from Quality Procedures - - renamed to remove implied
        use limitiation.
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Result_Type">
        <xs:sequence>
          <xs:element name="specification" type="gmd:CI_Citation_PropertyType"/>
          <xs:element name="explanation" type="gco:CharacterString_PropertyType"/>
          <xs:element name="pass" type="gco:Boolean_PropertyType"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_ConformanceResult" type="gmd:DQ_ConformanceResult_Type"
              substitutionGroup="gmd:AbstractDQ_Result"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_ConformanceResult_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_ConformanceResult"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_QuantitativeResult_Type">
    <xs:annotation>
      <xs:documentation>Quantitative_conformance_measure from Quality Procedures. - - Renamed to
        remove implied use limitation - - OCL - -- result is type specified by valueDomain -
        result.tupleType = valueDomain
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Result_Type">
        <xs:sequence>
          <xs:element name="valueType" type="gco:RecordType_PropertyType" minOccurs="0"/>
          <xs:element name="valueUnit" type="gco:UnitOfMeasure_PropertyType"/>
          <xs:element name="errorStatistic" type="gco:CharacterString_PropertyType" minOccurs="0"/>
          <xs:element name="value" type="gco:Record_PropertyType" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_QuantitativeResult" type="gmd:DQ_QuantitativeResult_Type"
              substitutionGroup="gmd:AbstractDQ_Result"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_QuantitativeResult_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_QuantitativeResult"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="AbstractDQ_Result_Type" abstract="true">
    <xs:complexContent>
      <xs:extension base="gco:AbstractObject_Type">
        <xs:sequence/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="AbstractDQ_Result" type="gmd:AbstractDQ_Result_Type" abstract="true"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_Result_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:AbstractDQ_Result"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_TemporalValidity_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_TemporalValidity" type="gmd:DQ_TemporalValidity_Type"
              substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_TemporalValidity_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_TemporalValidity"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_TemporalConsistency_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_TemporalConsistency" type="gmd:DQ_TemporalConsistency_Type"
              substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_TemporalConsistency_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_TemporalConsistency"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_AccuracyOfATimeMeasurement_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_TemporalAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_AccuracyOfATimeMeasurement" type="gmd:DQ_AccuracyOfATimeMeasurement_Type"
              substitutionGroup="gmd:AbstractDQ_TemporalAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_AccuracyOfATimeMeasurement_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_AccuracyOfATimeMeasurement"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_QuantitativeAttributeAccuracy_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_QuantitativeAttributeAccuracy"
              type="gmd:DQ_QuantitativeAttributeAccuracy_Type"
              substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_QuantitativeAttributeAccuracy_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_QuantitativeAttributeAccuracy"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_NonQuantitativeAttributeAccuracy_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_NonQuantitativeAttributeAccuracy"
              type="gmd:DQ_NonQuantitativeAttributeAccuracy_Type"
              substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_NonQuantitativeAttributeAccuracy_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_NonQuantitativeAttributeAccuracy"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_ThematicClassificationCorrectness_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_ThematicAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_ThematicClassificationCorrectness"
              type="gmd:DQ_ThematicClassificationCorrectness_Type"
              substitutionGroup="gmd:AbstractDQ_ThematicAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_ThematicClassificationCorrectness_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_ThematicClassificationCorrectness"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_RelativeInternalPositionalAccuracy_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_RelativeInternalPositionalAccuracy"
              type="gmd:DQ_RelativeInternalPositionalAccuracy_Type"
              substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_RelativeInternalPositionalAccuracy_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_RelativeInternalPositionalAccuracy"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_GriddedDataPositionalAccuracy_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_GriddedDataPositionalAccuracy"
              type="gmd:DQ_GriddedDataPositionalAccuracy_Type"
              substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_GriddedDataPositionalAccuracy_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_GriddedDataPositionalAccuracy"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_AbsoluteExternalPositionalAccuracy_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_PositionalAccuracy_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_AbsoluteExternalPositionalAccuracy"
              type="gmd:DQ_AbsoluteExternalPositionalAccuracy_Type"
              substitutionGroup="gmd:AbstractDQ_PositionalAccuracy"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_AbsoluteExternalPositionalAccuracy_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_AbsoluteExternalPositionalAccuracy"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_TopologicalConsistency_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_TopologicalConsistency" type="gmd:DQ_TopologicalConsistency_Type"
              substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_TopologicalConsistency_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_TopologicalConsistency"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_FormatConsistency_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_FormatConsistency" type="gmd:DQ_FormatConsistency_Type"
              substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_FormatConsistency_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_FormatConsistency"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_DomainConsistency_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_DomainConsistency" type="gmd:DQ_DomainConsistency_Type"
              substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_DomainConsistency_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_DomainConsistency"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_ConceptualConsistency_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_LogicalConsistency_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_ConceptualConsistency" type="gmd:DQ_ConceptualConsistency_Type"
              substitutionGroup="gmd:AbstractDQ_LogicalConsistency"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_ConceptualConsistency_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_ConceptualConsistency"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_CompletenessOmission_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Completeness_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_CompletenessOmission" type="gmd:DQ_CompletenessOmission_Type"
              substitutionGroup="gmd:AbstractDQ_Completeness"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_CompletenessOmission_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_CompletenessOmission"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_CompletenessCommission_Type">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Completeness_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_CompletenessCommission" type="gmd:DQ_CompletenessCommission_Type"
              substitutionGroup="gmd:AbstractDQ_Completeness"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_CompletenessCommission_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_CompletenessCommission"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="AbstractDQ_TemporalAccuracy_Type" abstract="true">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Element_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="AbstractDQ_TemporalAccuracy" type="gmd:AbstractDQ_TemporalAccuracy_Type"
              abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_TemporalAccuracy_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:AbstractDQ_TemporalAccuracy"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="AbstractDQ_ThematicAccuracy_Type" abstract="true">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Element_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="AbstractDQ_ThematicAccuracy" type="gmd:AbstractDQ_ThematicAccuracy_Type"
              abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_ThematicAccuracy_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:AbstractDQ_ThematicAccuracy"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="AbstractDQ_PositionalAccuracy_Type" abstract="true">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Element_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="AbstractDQ_PositionalAccuracy" type="gmd:AbstractDQ_PositionalAccuracy_Type"
              abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_PositionalAccuracy_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:AbstractDQ_PositionalAccuracy"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="AbstractDQ_LogicalConsistency_Type" abstract="true">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Element_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="AbstractDQ_LogicalConsistency" type="gmd:AbstractDQ_LogicalConsistency_Type"
              abstract="true" substitutionGroup="gmd:AbstractDQ_Element"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_LogicalConsistency_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:AbstractDQ_LogicalConsistency"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="AbstractDQ_Completeness_Type" abstract="true">
    <xs:complexContent>
      <xs:extension base="gmd:AbstractDQ_Element_Type"/>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="AbstractDQ_Completeness" type="gmd:AbstractDQ_Completeness_Type" abstract="true"
              substitutionGroup="gmd:AbstractDQ_Element"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_Completeness_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:AbstractDQ_Completeness"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="AbstractDQ_Element_Type" abstract="true">
    <xs:complexContent>
      <xs:extension base="gco:AbstractObject_Type">
        <xs:sequence>
          <xs:element name="nameOfMeasure" type="gco:CharacterString_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
          <xs:element name="measureIdentification" type="gmd:MD_Identifier_PropertyType"
                      minOccurs="0"/>
          <xs:element name="measureDescription" type="gco:CharacterString_PropertyType"
                      minOccurs="0"/>
          <xs:element name="evaluationMethodType"
                      type="gmd:DQ_EvaluationMethodTypeCode_PropertyType" minOccurs="0"/>
          <xs:element name="evaluationMethodDescription" type="gco:CharacterString_PropertyType"
                      minOccurs="0"/>
          <xs:element name="evaluationProcedure" type="gmd:CI_Citation_PropertyType" minOccurs="0"/>
          <xs:element name="dateTime" type="gco:DateTime_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
          <xs:element name="result" type="gmd:DQ_Result_PropertyType" maxOccurs="2"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="AbstractDQ_Element" type="gmd:AbstractDQ_Element_Type" abstract="true"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_Element_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:AbstractDQ_Element"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_DataQuality_Type">
    <xs:complexContent>
      <xs:extension base="gco:AbstractObject_Type">
        <xs:sequence>
          <xs:element name="scope" type="gmd:DQ_Scope_PropertyType"/>
          <xs:element name="report" type="gmd:DQ_Element_PropertyType" minOccurs="0"
                      maxOccurs="unbounded"/>
          <xs:element name="lineage" type="gmd:LI_Lineage_PropertyType" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_DataQuality" type="gmd:DQ_DataQuality_Type"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_DataQuality_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_DataQuality"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="DQ_Scope_Type">
    <xs:complexContent>
      <xs:extension base="gco:AbstractObject_Type">
        <xs:sequence>
          <xs:element name="level" type="gmd:MD_ScopeCode_PropertyType"/>
          <xs:element name="extent" type="gmd:EX_Extent_PropertyType" minOccurs="0"/>
          <xs:element name="levelDescription" type="gmd:MD_ScopeDescription_PropertyType"
                      minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="DQ_Scope" type="gmd:DQ_Scope_Type"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_Scope_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_Scope"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <!-- ........................................................................ -->
  <xs:element name="DQ_EvaluationMethodTypeCode" type="gco:CodeListValue_Type"
              substitutionGroup="gco:CharacterString"/>
  <!-- ........................................................................ -->
  <xs:complexType name="DQ_EvaluationMethodTypeCode_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmd:DQ_EvaluationMethodTypeCode"/>
    </xs:sequence>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
</xs:schema>
