<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Galip Aydin-->
<schema targetNamespace="http://mastar.ucs.indiana.edu/fault" xmlns:fault="http://mastar.ucs.indiana.edu/fault" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.0">
	<!-- import constructs from the GML feature, geometry, measures, units, gmlBase, and baseTypes schemas -->
	<import namespace="http://www.opengis.net/gml" schemaLocation="feature.xsd"/>
	<!--========================================================-->
	<!--==================== Global Elements ======================-->
	<element name="FaultName" type="string"/>
	<element name="FaultId" type="int"/>
	<element name="InterpId" type="int"/>
	<!--========================================================-->
	<!--====================== Elements =========================-->
	<element name="Fault" type="fault:FaultType"/>
	<element name="Reference" type="fault:RefType"/>
	<element name="LReference" type="fault:RefType"/>
	<!--========================================================-->
	<!--==================== Complex Types ======================-->
	<complexType name="FaultType">
		<complexContent>
			<extension base="gml:AbstractFeatureType">
				<sequence>
					<element ref="fault:FaultId"/>
					<element ref="fault:FaultName"/>
					<element name="StrandName" type="gml:CodeType"/>
					<element name="Segment" type="fault:SegmentType" minOccurs="0" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="RefType">
		<complexContent>
			<extension base="gml:AbstractFeatureType">
				<sequence>
					<element ref="fault:InterpId"/>
					<element name="Author" type="gml:CodeType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="Publication" type="gml:CodeType" minOccurs="0"/>
					<element name="Year" type="gml:TimeInstantPropertyType" minOccurs="0"/>
					<element name="Title" type="gml:CodeType" minOccurs="0"/>
					<element name="Volume" type="string" minOccurs="0"/>
					<element name="Number" type="string" minOccurs="0"/>
					<element name="Pages" type="string" minOccurs="0"/>
					<element name="Comment" type="string" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="SegmentType">
		<complexContent>
			<extension base="gml:FeaturePropertyType">
				<sequence>
					<element ref="fault:FaultId"/>
					<element ref="fault:FaultName"/>
					<element ref="fault:InterpId"/>
					<element name="SegmentId" type="int" minOccurs="0"/>
					<element name="SegmentName" type="gml:CodeType" minOccurs="0"/>
					<element name="Strike" type="float" minOccurs="0"/>
					<element name="Dip" type="float" minOccurs="0"/>
					<element name="Depth" type="float" minOccurs="0"/>
					<element name="Width" type="float" minOccurs="0"/>
					<element name="Latitude" type="fault:StartEndType" minOccurs="0"/>
					<element name="Longitude" type="fault:StartEndType" minOccurs="0"/>
					<element name="LastBreak" type="gml:TimePositionType" minOccurs="0" maxOccurs="unbounded"/>
					<element name="Friction" type="float" minOccurs="0"/>
					<element name="ObsType" type="int" minOccurs="0"/>
					<element name="Recurrence" type="fault:RecurrenceType" minOccurs="0"/>
					<element name="Slip" type="fault:SlipType" minOccurs="0"/>
					<element name="DipRate" type="fault:DipRateType" minOccurs="0"/>
					<element name="StrikeRate" type="fault:StrikeRateType" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!--========================================================-->
	<!--========= General Magnitude Types - Max Min and Average ===============-->
	<complexType name="RateType">
		<sequence minOccurs="0">
			<element name="Max" type="gml:MeasureType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="Min" type="gml:MeasureType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="Average" type="gml:MeasureType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="YearType">
		<sequence minOccurs="0">
			<element name="Max" type="gml:TimePositionType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="Min" type="gml:TimePositionType" minOccurs="0" maxOccurs="unbounded"/>
			<element name="Average" type="gml:TimePositionType" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<!--=========================  Recurrence Type ==============================-->
	<complexType name="RecurrenceType">
		<complexContent>
			<extension base="fault:YearType"/>
		</complexContent>
	</complexType>
	<!--========================= Slip ==================================-->
	<complexType name="SlipType">
		<sequence>
			<element name="SlipRate" type="fault:SlipRateType" minOccurs="0"/>
			<element name="SlipType" type="fault:SlipTypeType" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="SlipRateType">
		<complexContent>
			<extension base="fault:RateType"/>
		</complexContent>
	</complexType>
	<complexType name="SlipTypeType">
		<choice minOccurs="0">
			<element name="StrikeSlip" type="fault:RateType" minOccurs="0"/>
			<element name="DipSlip" type="fault:RateType" minOccurs="0"/>
		</choice>
	</complexType>
	<!--========================= Dip ==================================-->
	<complexType name="DipRateType">
		<complexContent>
			<extension base="fault:RateType"/>
		</complexContent>
	</complexType>
	<!--========================= Strike ==================================-->
	<complexType name="StrikeRateType">
		<complexContent>
			<extension base="fault:RateType"/>
		</complexContent>
	</complexType>
	<!--========================= Lat - Longt ==================================-->
	<complexType name="StartEndType">
		<sequence>
			<element name="Start" type="gml:MeasureType" minOccurs="0"/>
			<element name="End" type="gml:MeasureType" minOccurs="0"/>
		</sequence>
	</complexType>
</schema>
