<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sch="http://www.ascc.net/xml/schematron" blockDefault="#all">
<xsd:element name="idinfo" type="idinfoType"/>
<xsd:complexType name="idinfoType">
	<xsd:sequence>
		<xsd:element ref="citation"/>
		<xsd:element ref="descript"/>
		<xsd:element ref="timeperd"/>
		<xsd:element ref="status"/>
		<xsd:element ref="spdom"/>
		<xsd:element ref="keywords"/>
		<xsd:element ref="accconst"/>
		<xsd:element ref="useconst"/>
		<xsd:element ref="ptcontac" minOccurs="0"/>
		<xsd:element ref="browse" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element ref="datacred" minOccurs="0"/>
		<xsd:element ref="secinfo" minOccurs="0"/>
		<xsd:element ref="native" minOccurs="0"/>
		<xsd:element ref="crossref" minOccurs="0" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="citation" type="citationType"/>
<xsd:complexType name="citationType">
	<xsd:sequence>
		<xsd:element ref="citeinfo"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="descript" type="descriptType"/>
<xsd:complexType name="descriptType">
	<xsd:sequence>
		<xsd:element ref="abstract"/>
		<xsd:element ref="purpose"/>
		<xsd:element ref="supplinf" minOccurs="0"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="abstract" type="abstractType"/>
<xsd:simpleType name="abstractType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="purpose" type="purposeType"/>
<xsd:simpleType name="purposeType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="supplinf" type="supplinfType"/>
<xsd:simpleType name="supplinfType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="timeperd" type="timeperdType"/>
<xsd:complexType name="timeperdType">
	<xsd:sequence>
		<xsd:element ref="timeinfo"/>
		<xsd:element ref="current"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="current" type="currentType"/>
<xsd:simpleType name="currentType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="status" type="statusType"/>
<xsd:complexType name="statusType">
	<xsd:sequence>
		<xsd:element ref="progress"/>
		<xsd:element ref="update"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="progress" type="progressType"/>
<xsd:simpleType name="progressType">
	<xsd:restriction base="xsd:token">
		<xsd:enumeration value="Complete"/>
		<xsd:enumeration value="In work"/>
		<xsd:enumeration value="Planned"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:element name="update" type="updateType"/>
<xsd:simpleType name="updateType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="spdom" type="spdomType"/>
<xsd:complexType name="spdomType">
	<xsd:sequence>
		<xsd:element ref="bounding"/>
		<xsd:element ref="dsgpoly" minOccurs="0" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="bounding" type="boundingType"/>
<xsd:complexType name="boundingType">
	<xsd:sequence>
		<xsd:element ref="westbc"/>
		<xsd:element ref="eastbc"/>
		<xsd:element ref="northbc"/>
		<xsd:element ref="southbc"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="westbc" type="westbcType"/>
<xsd:simpleType name="westbcType">
	<xsd:restriction base="FGDClongitude">
		<xsd:maxExclusive value="180.0"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:element name="eastbc" type="eastbcType"/>
<xsd:simpleType name="eastbcType">
	<xsd:restriction base="FGDClongitude"/>
</xsd:simpleType>

<xsd:element name="northbc" type="northbcType"/>
<xsd:simpleType name="northbcType">
	<xsd:restriction base="FGDClatitude"/>
</xsd:simpleType>

<xsd:element name="southbc" type="southbcType"/>
<xsd:simpleType name="southbcType">
	<xsd:restriction base="FGDClatitude"/>
</xsd:simpleType>

<xsd:element name="dsgpoly" type="dsgpolyType"/>
<xsd:complexType name="dsgpolyType">
	<xsd:sequence>
		<xsd:element ref="dsgpolyo"/>
		<xsd:element ref="dsgpolyx" minOccurs="0" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="dsgpolyo" type="dsgpolyoType"/>
<xsd:complexType name="dsgpolyoType">
	<xsd:choice>
		<xsd:element ref="grngpoin" minOccurs="4" maxOccurs="unbounded"/>
		<xsd:element ref="gring"/>
	</xsd:choice>
</xsd:complexType>

<xsd:element name="grngpoin" type="grngpoinType"/>
<xsd:complexType name="grngpoinType">
	<xsd:sequence>
		<xsd:element ref="gringlat"/>
		<xsd:element ref="gringlon"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="gringlat" type="gringlatType"/>
<xsd:simpleType name="gringlatType">
	<xsd:restriction base="FGDClatitude"/>
</xsd:simpleType>

<xsd:element name="gringlon" type="gringlonType"/>
<xsd:simpleType name="gringlonType">
	<xsd:restriction base="FGDClongitude">
		<xsd:maxExclusive value="180.0"/>
	</xsd:restriction>
</xsd:simpleType>

<xsd:element name="gring" type="gringType"/>
<xsd:simpleType name="gringType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="dsgpolyx" type="dsgpolyxType"/>
<xsd:complexType name="dsgpolyxType">
	<xsd:choice>
		<xsd:element ref="grngpoin" minOccurs="4" maxOccurs="unbounded"/>
		<xsd:element ref="gring"/>
	</xsd:choice>
</xsd:complexType>

<xsd:element name="keywords" type="keywordsType"/>
<xsd:complexType name="keywordsType">
	<xsd:sequence>
		<xsd:element ref="theme" maxOccurs="unbounded"/>
		<xsd:element ref="place" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element ref="stratum" minOccurs="0" maxOccurs="unbounded"/>
		<xsd:element ref="temporal" minOccurs="0" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="theme" type="themeType"/>
<xsd:complexType name="themeType">
	<xsd:sequence>
		<xsd:element ref="themekt"/>
		<xsd:element ref="themekey" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="themekt" type="themektType"/>
<xsd:simpleType name="themektType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="themekey" type="themekeyType"/>
<xsd:simpleType name="themekeyType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="place" type="placeType"/>
<xsd:complexType name="placeType">
	<xsd:sequence>
		<xsd:element ref="placekt"/>
		<xsd:element ref="placekey" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="placekt" type="placektType"/>
<xsd:simpleType name="placektType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="placekey" type="placekeyType"/>
<xsd:simpleType name="placekeyType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="stratum" type="stratumType"/>
<xsd:complexType name="stratumType">
	<xsd:sequence>
		<xsd:element ref="stratkt"/>
		<xsd:element ref="stratkey" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="stratkt" type="stratktType"/>
<xsd:simpleType name="stratktType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="stratkey" type="stratkeyType"/>
<xsd:simpleType name="stratkeyType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="temporal" type="temporalType"/>
<xsd:complexType name="temporalType">
	<xsd:sequence>
		<xsd:element ref="tempkt"/>
		<xsd:element ref="tempkey" maxOccurs="unbounded"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="tempkt" type="tempktType"/>
<xsd:simpleType name="tempktType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="tempkey" type="tempkeyType"/>
<xsd:simpleType name="tempkeyType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="accconst" type="accconstType"/>
<xsd:simpleType name="accconstType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="useconst" type="useconstType"/>
<xsd:simpleType name="useconstType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="ptcontac" type="ptcontacType"/>
<xsd:complexType name="ptcontacType">
	<xsd:sequence>
		<xsd:element ref="cntinfo"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="browse" type="browseType"/>
<xsd:complexType name="browseType">
	<xsd:sequence>
		<xsd:element ref="browsen"/>
		<xsd:element ref="browsed"/>
		<xsd:element ref="browset"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="browsen" type="browsenType"/>
<xsd:simpleType name="browsenType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="browsed" type="browsedType"/>
<xsd:simpleType name="browsedType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="browset" type="browsetType"/>
<xsd:simpleType name="browsetType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="datacred" type="datacredType"/>
<xsd:simpleType name="datacredType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="secinfo" type="secinfoType"/>
<xsd:complexType name="secinfoType">
	<xsd:sequence>
		<xsd:element ref="secsys"/>
		<xsd:element ref="secclass"/>
		<xsd:element ref="sechandl"/>
	</xsd:sequence>
</xsd:complexType>

<xsd:element name="secsys" type="secsysType"/>
<xsd:simpleType name="secsysType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="secclass" type="secclassType"/>
<xsd:simpleType name="secclassType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="sechandl" type="sechandlType"/>
<xsd:simpleType name="sechandlType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="native" type="nativeType"/>
<xsd:simpleType name="nativeType">
	<xsd:restriction base="FGDCstring"/>
</xsd:simpleType>

<xsd:element name="crossref" type="crossrefType"/>
<xsd:complexType name="crossrefType">
	<xsd:sequence>
		<xsd:element ref="citeinfo"/>
	</xsd:sequence>
</xsd:complexType>

</xsd:schema>