<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gmd="http://www.isotc211.org/2005/gmd"
           xmlns:gml="http://www.opengis.net/gml" xmlns:gco="http://www.isotc211.org/2005/gco"
           xmlns:gmx="http://www.isotc211.org/2005/gmx"
           targetNamespace="http://www.isotc211.org/2005/gmx" elementFormDefault="qualified"
           version="0.1">
  <!-- ================================= Annotation ================================ -->
  <xs:annotation>
    <xs:documentation>This file was generated from ISO TC/211 UML class diagrams == 03-15-2005
      09:15:02 ======
    </xs:documentation>
  </xs:annotation>
  <!-- ================================== Imports ================================== -->
  <xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="../gco/gco.xsd"/>
  <xs:import namespace="http://www.opengis.net/gml" schemaLocation="../gml/gml.xsd"/>
  <xs:import namespace="http://www.isotc211.org/2005/gmd" schemaLocation="../gmd/gmd.xsd"/>
  <!-- ########################################################################### -->
  <!-- ########################################################################### -->
  <!-- ================================== Classes ================================= -->
  <!-- ........................................................................ -->
  <!-- ........................................................................ -->
  <xs:complexType name="UnitDefinition_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gml:UnitDefinition"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <!-- ........................................................................ -->
  <!-- ........................................................................ -->
  <xs:complexType name="BaseUnit_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gml:BaseUnit"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <!-- ........................................................................ -->
  <!-- ........................................................................ -->
  <xs:complexType name="DerivedUnit_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gml:DerivedUnit"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <!-- ........................................................................ -->
  <!-- ........................................................................ -->
  <xs:complexType name="ConventionalUnit_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gml:ConventionalUnit"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="ML_BaseUnit_Type">
    <xs:complexContent>
      <xs:extension base="gml:BaseUnitType">
        <xs:sequence>
          <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType"
                      maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="ML_BaseUnit" type="gmx:ML_BaseUnit_Type" substitutionGroup="gml:BaseUnit"/>
  <!-- ........................................................................ -->
  <xs:complexType name="ML_BaseUnit_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmx:ML_BaseUnit"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="ML_DerivedUnit_Type">
    <xs:complexContent>
      <xs:extension base="gml:DerivedUnitType">
        <xs:sequence>
          <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType"
                      maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="ML_DerivedUnit" type="gmx:ML_DerivedUnit_Type"
              substitutionGroup="gml:DerivedUnit"/>
  <!-- ........................................................................ -->
  <xs:complexType name="ML_DerivedUnit_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmx:ML_DerivedUnit"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="ML_ConventionalUnit_Type">
    <xs:complexContent>
      <xs:extension base="gml:ConventionalUnitType">
        <xs:sequence>
          <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType"
                      maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="ML_ConventionalUnit" type="gmx:ML_ConventionalUnit_Type"
              substitutionGroup="gml:ConventionalUnit"/>
  <!-- ........................................................................ -->
  <xs:complexType name="ML_ConventionalUnit_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmx:ML_ConventionalUnit"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <xs:complexType name="ML_UnitDefinition_Type">
    <xs:complexContent>
      <xs:extension base="gml:UnitDefinitionType">
        <xs:sequence>
          <xs:element name="alternativeExpression" type="gmx:UomAlternativeExpression_PropertyType"
                      maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="ML_UnitDefinition" type="gmx:ML_UnitDefinition_Type"
              substitutionGroup="gml:UnitDefinition"/>
  <!-- ........................................................................ -->
  <xs:complexType name="ML_UnitDefinition_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmx:ML_UnitDefinition"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <!-- =========================================================================== -->
  <!--===================== Alternative Expresssion type ===============================-->
  <xs:complexType name="UomAlternativeExpression_Type">
    <xs:annotation>
      <xs:documentation>XML attributes contraints: - 1) Id is mandatory - 2) codeSpace (type
        xsd:anyURI) is mandatory
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="gml:UnitDefinitionType">
        <xs:sequence>
          <xs:element name="locale" type="gmd:PT_Locale_PropertyType"/>
        </xs:sequence>
        <xs:attribute name="codeSpace" type="xs:anyURI" use="required"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- ........................................................................ -->
  <xs:element name="UomAlternativeExpression" type="gmx:UomAlternativeExpression_Type"/>
  <!-- ........................................................................ -->
  <xs:complexType name="UomAlternativeExpression_PropertyType">
    <xs:sequence minOccurs="0">
      <xs:element ref="gmx:UomAlternativeExpression"/>
    </xs:sequence>
    <xs:attributeGroup ref="gco:ObjectReference"/>
    <xs:attribute ref="gco:nilReason"/>
  </xs:complexType>
  <!-- =========================================================================== -->
  <!-- =========================================================================== -->
  <!-- === End of file === -->
</xs:schema>
