<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- IUGS/CGI GeoSciML schema, ver. 1 - draft 2005-10-19 -->
<!-- Contains the concepts (classes), their inheritance, and relations from the geologicUnit package of the GeoSciML model -->
<!-- GeoSciML Testbed-2 Model -->
<schema xmlns:gsml="http://www.cgi-iugs.org/xml/GeoSciML/1" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" targetNamespace="http://www.cgi-iugs.org/xml/GeoSciML/1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.0">
	<annotation>
		<documentation>geologicUnit.xsd
Basic geologic unit for GeoSciML
covering lithostratigraphic and lithodemic units</documentation>
	</annotation>
	<!--=======================-->
	<import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/>
	<!--=======================-->
	<include schemaLocation="earthMaterial.xsd"/>
	<!--=======================-->
	<complexType name="GeologicUnitType">
		<complexContent>
			<extension base="gsml:GeologicFeatureType">
				<sequence>
					<element name="partOf" type="gsml:GeologicUnitPartPropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="bodyMorphology" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="outcropCharacter" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="grossGenesisTerm" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="exposureColor" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="grossChemistry" type="gsml:CGI_TermValuePropertyType" minOccurs="0"/>
					<element name="composition" type="gsml:CompositionPartPropertyType" minOccurs="0" maxOccurs="unbounded">
						<annotation>
							<documentation>Detailed description</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ..................... -->
	<element name="GeologicUnit" type="gsml:GeologicUnitType" substitutionGroup="gsml:GeologicFeature"/>
	<!-- ..................... -->
	<complexType name="GeologicUnitPropertyType">
		<sequence minOccurs="0">
			<element ref="gsml:GeologicUnit"/>
		</sequence>
		<attributeGroup ref="gsml:RichPropertyAttributeGroup"/>
	</complexType>
	<!--=======================-->
	<complexType name="CompositionPartType">
		<sequence>
			<element name="role" type="gsml:ScopedNameType"/>
			<element name="proportion" type="gsml:CGI_ValuePropertyType"/>
			<element name="material" type="gsml:MaterialEntityPropertyType" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<!-- ..................... -->
	<element name="CompositionPart" type="gsml:CompositionPartType"/>
	<!-- ..................... -->
	<complexType name="CompositionPartPropertyType">
		<sequence minOccurs="0">
			<element ref="gsml:CompositionPart"/>
		</sequence>
		<attributeGroup ref="gsml:RichPropertyAttributeGroup"/>
	</complexType>
	<!--=======================-->
	<complexType name="MaterialEntityPropertyType">
		<sequence minOccurs="0">
			<choice>
				<element ref="gsml:CompoundMaterial"/>
				<element ref="gsml:ControlledConcept">
					<annotation>
						<documentation>A ControlledConcept definition will usually not be included explicitly in an instance document. 
				Rather, the "by-reference" form of the property will be used to link to the definition.</documentation>
					</annotation>
				</element>
			</choice>
		</sequence>
		<attributeGroup ref="gml:AssociationAttributeGroup"/>
		<attribute name="unionSemantics">
			<simpleType>
				<restriction base="string">
					<enumeration value="materialInstance"/>
					<enumeration value="materialTerm"/>
				</restriction>
			</simpleType>
		</attribute>
	</complexType>
	<!--=======================-->
	<!--=======================-->
	<complexType name="GeologicUnitPartType">
		<sequence>
			<element name="unit" type="gsml:GeologicUnitPropertyType"/>
			<element name="role" type="gsml:ScopedNameType"/>
			<element name="proportion" type="gsml:CGI_ValuePropertyType"/>
		</sequence>
	</complexType>
	<!-- ..................... -->
	<element name="GeologicUnitPart" type="gsml:GeologicUnitPartType"/>
	<!-- ..................... -->
	<complexType name="GeologicUnitPartPropertyType">
		<annotation>
			<documentation>May appear inline only</documentation>
		</annotation>
		<sequence>
			<element ref="gsml:GeologicUnitPart"/>
		</sequence>
	</complexType>
	<!--=======================-->
	<complexType name="LithologicUnitType">
		<complexContent>
			<extension base="gsml:GeologicUnitType">
				<sequence>
					<element name="rank" type="gsml:ScopedNameType"/>
					<element name="weatheringCharacter" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="structurePresent" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="metamorphicGrade" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ..................... -->
	<element name="LithologicUnit" type="gsml:LithologicUnitType" substitutionGroup="gsml:GeologicUnit"/>
	<!--=======================-->
	<complexType name="LithostratigraphicUnitType">
		<complexContent>
			<extension base="gsml:LithologicUnitType">
				<sequence>
					<element name="unitThickness" type="gsml:CGI_NumericPropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="beddingStyle" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="beddingPattern" type="gsml:CGI_TermValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="beddingThickness" type="gsml:CGI_ValuePropertyType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!-- ..................... -->
	<element name="LithostratigraphicUnit" type="gsml:LithostratigraphicUnitType" substitutionGroup="gsml:LithologicUnit"/>
	<!--=======================-->
	<complexType name="LithodemicUnitType">
		<complexContent>
			<extension base="gsml:LithologicUnitType"/>
		</complexContent>
	</complexType>
	<!-- ..................... -->
	<element name="LithodemicUnit" type="gsml:LithodemicUnitType" substitutionGroup="gsml:LithologicUnit"/>
	<!--=======================-->
</schema>
