<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" 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="2012-07-13">
<!-- ================================= Annotation ================================ -->
<xs:annotation>
<xs:documentation>Geographic MetaData (GMD) extensible markup language is a component of the XML Schema Implementation of Geographic Information Metadata documented in ISO/TS 19139:2007. GMD includes all the definitions of http://www.isotc211.org/2005/gmd namespace. The root document of this namespace is the file gmd.xsd. This constraints.xsd schema implements the UML conceptual schema defined in A.2.3 of ISO 19115:2003. It contains the implementation of the following classes: MD_Constraints, MD_LegalConstraints, MD_SecurityConstraints, MD_ClassificationCode, MD_RestrictionCode.</xs:documentation>
</xs:annotation>
<!-- ================================== Imports ================================== -->
<xs:import namespace="http://www.isotc211.org/2005/gco" schemaLocation="http://schemas.opengis.net/iso/19139/20070417/gco/gco.xsd"/>
<xs:include schemaLocation="gmd.xsd"/>
<!-- ########################################################################### -->
<!-- ########################################################################### -->
<!-- ================================== Classes ================================= -->
<xs:complexType name="MD_Constraints_Type">
<xs:annotation>
<xs:documentation>Restrictions on the access and use of a dataset or metadata</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="gco:AbstractObject_Type">
<xs:sequence>
<xs:element name="useLimitation" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ........................................................................ -->
<xs:element name="MD_Constraints" type="gmd:MD_Constraints_Type"/>
<!-- ........................................................................ -->
<xs:complexType name="MD_Constraints_PropertyType">
<xs:sequence minOccurs="0">
<xs:element ref="gmd:MD_Constraints"/>
</xs:sequence>
<xs:attributeGroup ref="gco:ObjectReference"/>
<xs:attribute ref="gco:nilReason"/>
</xs:complexType>
<!-- =========================================================================== -->
<xs:complexType name="MD_LegalConstraints_Type">
<xs:annotation>
<xs:documentation>Restrictions and legal prerequisites for accessing and using the dataset.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="gmd:MD_Constraints_Type">
<xs:sequence>
<xs:element name="accessConstraints" type="gmd:MD_RestrictionCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="useConstraints" type="gmd:MD_RestrictionCode_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="otherConstraints" type="gco:CharacterString_PropertyType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ........................................................................ -->
<xs:element name="MD_LegalConstraints" type="gmd:MD_LegalConstraints_Type" substitutionGroup="gmd:MD_Constraints"/>
<!-- ........................................................................ -->
<xs:complexType name="MD_LegalConstraints_PropertyType">
<xs:sequence minOccurs="0">
<xs:element ref="gmd:MD_LegalConstraints"/>
</xs:sequence>
<xs:attributeGroup ref="gco:ObjectReference"/>
<xs:attribute ref="gco:nilReason"/>
</xs:complexType>
<!-- =========================================================================== -->
<xs:complexType name="MD_SecurityConstraints_Type">
<xs:annotation>
<xs:documentation>Handling restrictions imposed on the dataset because of national security, privacy, or other concerns</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="gmd:MD_Constraints_Type">
<xs:sequence>
<xs:element name="classification" type="gmd:MD_ClassificationCode_PropertyType"/>
<xs:element name="userNote" type="gco:CharacterString_PropertyType" minOccurs="0"/>
<xs:element name="classificationSystem" type="gco:CharacterString_PropertyType" minOccurs="0"/>
<xs:element name="handlingDescription" type="gco:CharacterString_PropertyType" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- ........................................................................ -->
<xs:element name="MD_SecurityConstraints" type="gmd:MD_SecurityConstraints_Type" substitutionGroup="gmd:MD_Constraints"/>
<!-- ........................................................................ -->
<xs:complexType name="MD_SecurityConstraints_PropertyType">
<xs:sequence minOccurs="0">
<xs:element ref="gmd:MD_SecurityConstraints"/>
</xs:sequence>
<xs:attributeGroup ref="gco:ObjectReference"/>
<xs:attribute ref="gco:nilReason"/>
</xs:complexType>
<!-- =========================================================================== -->
<!-- ........................................................................ -->
<xs:element name="MD_ClassificationCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/>
<!-- ........................................................................ -->
<xs:complexType name="MD_ClassificationCode_PropertyType">
<xs:sequence minOccurs="0">
<xs:element ref="gmd:MD_ClassificationCode"/>
</xs:sequence>
<xs:attribute ref="gco:nilReason"/>
</xs:complexType>
<!-- =========================================================================== -->
<!-- ........................................................................ -->
<xs:element name="MD_RestrictionCode" type="gco:CodeListValue_Type" substitutionGroup="gco:CharacterString"/>
<!-- ........................................................................ -->
<xs:complexType name="MD_RestrictionCode_PropertyType">
<xs:sequence minOccurs="0">
<xs:element ref="gmd:MD_RestrictionCode"/>
</xs:sequence>
<xs:attribute ref="gco:nilReason"/>
</xs:complexType>
<!-- =========================================================================== -->
</xs:schema>
|