<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by galip_aydin (cgl) -->
<xs:schema targetNamespace="http://mastar.ucs.indiana.edu/fault" elementFormDefault="qualified" version="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fault="http://mastar.ucs.indiana.edu/fault" xmlns:wfs="http://complexity.ucs.indiana.edu/~gaydin/wfs" xmlns:gml="http://www.opengis.net/gml">
	<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://complexity.ucs.indiana.edu/~gaydin/ogc/original/gml/2.1.2/feature.xsd"/>
	<xs:element name="Fault">
		<xs:annotation>
			<xs:documentation>Comment describing your root element</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="fault:FaultId"/>
				<xs:element ref="fault:FaultName"/>
				<xs:element name="StrandName" type="xs:string"/>
				<xs:element name="Segment" type="fault:SegmentType" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="FaultType">
		<xs:sequence>
			<xs:element ref="fault:FaultId"/>
			<xs:element ref="fault:FaultName"/>
			<xs:element name="StrandName" type="xs:string"/>
			<xs:element name="Segment" type="fault:SegmentType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="Segment" type="fault:SegmentType"/>
	<xs:complexType name="SegmentType">
		<xs:sequence>
			<xs:element ref="fault:FaultId"/>
			<xs:element ref="fault:FaultName"/>
			<xs:element ref="fault:InterpId"/>
			<xs:element name="SegmentId" type="xs:int" minOccurs="0"/>
			<xs:element name="SegmentName" type="xs:string" minOccurs="0"/>
			<xs:element name="Strike" type="xs:float" minOccurs="0"/>
			<xs:element name="Dip" type="xs:float" minOccurs="0"/>
			<xs:element name="Depth" type="xs:float" minOccurs="0"/>
			<xs:element name="Width" type="xs:float" minOccurs="0"/>
			<xs:element name="Coordinates" type="gml:LineStringPropertyType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>[LatStart, LonStart - LatEnd, LonEnd] makes a line</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="StartCoordinate" type="gml:PointPropertyType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>LatStart and LonStart </xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="EndCoordinate" type="gml:PointPropertyType" minOccurs="0">
				<xs:annotation>
					<xs:documentation>LatEnd and LonEnd</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="LastBreak" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Friction" type="xs:float" minOccurs="0"/>
			<xs:element name="ObsType" type="xs:int" minOccurs="0"/>
			<xs:element name="Recurrence" type="fault:RecurrenceType" minOccurs="0"/>
			<xs:element name="Slip" type="fault:SlipType" minOccurs="0"/>
			<xs:element name="DipRate" type="fault:DipRateType" minOccurs="0"/>
			<xs:element name="StrikeRate" type="fault:StrikeRateType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="Reference" type="fault:RefType"/>
	<xs:element name="LReference" type="fault:RefType"/>
	<xs:complexType name="RefType">
		<xs:sequence>
			<xs:element ref="fault:InterpId"/>
			<xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Publication" type="xs:string" minOccurs="0"/>
			<xs:element name="Year" type="xs:string" minOccurs="0"/>
			<xs:element name="Title" type="xs:string" minOccurs="0"/>
			<xs:element name="Volume" type="xs:string" minOccurs="0"/>
			<xs:element name="Number" type="xs:string" minOccurs="0"/>
			<xs:element name="Pages" type="xs:string" minOccurs="0"/>
			<xs:element name="Comment" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:annotation>
		<xs:documentation>global elements</xs:documentation>
	</xs:annotation>
	<xs:element name="FaultName" type="xs:string"/>
	<xs:element name="FaultId" type="xs:int"/>
	<xs:element name="InterpId" type="xs:int"/>
	<!--========================================================-->
	<!--========= General Magnitude Types - Max Min and Average ===============-->
	<xs:complexType name="RateType">
		<xs:sequence minOccurs="0">
			<xs:element name="Max" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Min" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="Average" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<!--========================= Recurrence ==================================-->
	<xs:complexType name="RecurrenceType">
		<xs:complexContent>
			<xs:extension base="fault:RateType"/>
		</xs:complexContent>
	</xs:complexType>
	<!--========================= Slip ==================================-->
	<xs:complexType name="SlipType">
		<xs:sequence>
			<xs:element name="SlipRate" type="fault:SlipRateType" minOccurs="0"/>
			<xs:element name="SlipType" type="fault:SlipTypeType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SlipRateType">
		<xs:complexContent>
			<xs:extension base="fault:RateType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="SlipTypeType">
		<xs:choice minOccurs="0">
			<xs:element name="StrikeSlip" type="fault:RateType" minOccurs="0"/>
			<xs:element name="DipSlip" type="fault:RateType" minOccurs="0"/>
		</xs:choice>
	</xs:complexType>
	<!--========================= Dip ==================================-->
	<xs:complexType name="DipRateType">
		<xs:complexContent>
			<xs:extension base="fault:RateType"/>
		</xs:complexContent>
	</xs:complexType>
	<!--========================= Strike ==================================-->
	<xs:complexType name="StrikeRateType">
		<xs:complexContent>
			<xs:extension base="fault:RateType"/>
		</xs:complexContent>
	</xs:complexType>
	<xs:element name="Layer" type="fault:LayerType"/>
	<xs:complexType name="LayerType">
		<xs:sequence>
			<xs:element ref="fault:InterpId"/>
			<xs:element name="LayerId" type="xs:int" minOccurs="0"/>
			<xs:element name="LayerName" type="xs:string" minOccurs="0"/>
			<xs:element name="LatOrigin" type="gml:PointPropertyType" minOccurs="0"/>
			<xs:element name="LonOrigin" type="gml:PointPropertyType" minOccurs="0"/>
			<xs:element name="Datum" type="xs:string" minOccurs="0"/>
			<xs:element name="Origin" type="gml:PointPropertyType" minOccurs="0"/>
			<xs:element name="Length" type="xs:float" minOccurs="0"/>
			<xs:element name="Width" type="xs:float" minOccurs="0"/>
			<xs:element name="Depth" type="xs:float" minOccurs="0"/>
			<xs:element name="LameLambda" type="xs:float" minOccurs="0"/>
			<xs:element name="LameLambdaUnits" type="xs:string" minOccurs="0"/>
			<xs:element name="LameMu" type="xs:float" minOccurs="0"/>
			<xs:element name="LameMuUnits" type="xs:string" minOccurs="0"/>
			<xs:element name="Viscosity" type="xs:float" minOccurs="0"/>
			<xs:element name="ViscosityUnits" type="xs:string" minOccurs="0"/>
			<xs:element name="ViscosityExponent" type="xs:float" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
