<?xml version="1.0"?>
<xs:schema xmlns="http://standards.iso.org/iso-iec/common" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace=" http://standards.iso.org/iso-iec/common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:complexType name="VersionType">
		<xs:sequence>
			<xs:element name="Major" type="xs:unsignedInt" />
			<xs:element name="Minor" type="xs:unsignedInt" />
		</xs:sequence>
	</xs:complexType>

	<xs:simpleType name="FrictionRidgePositionType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Unknown" />
			<xs:enumeration value="RightThumb" />
			<xs:enumeration value="RightIndex" />
			<xs:enumeration value="RightMiddle" />
			<xs:enumeration value="RightRing" />
			<xs:enumeration value="RightLittle" />
			<xs:enumeration value="LeftThumb" />
			<xs:enumeration value="LeftIndex" />
			<xs:enumeration value="LeftMiddle" />
			<xs:enumeration value="LeftRing" />
			<xs:enumeration value="LeftLittle" />
			<xs:enumeration value="RightSlap" />
			<xs:enumeration value="LeftSlap" />
			<xs:enumeration value="BothThumbs" />
			<xs:enumeration value="RightPalm" />
			<xs:enumeration value="LeftPalm" />

		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="QualityScoreType">
		<xs:restriction base="xs:unsignedInt">
			<xs:maxInclusive value="100" />
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="QualityType">
		<xs:sequence>
			<xs:element name="Algorithm" type="RegistryIDType" />
			<xs:choice>
				<xs:element name="Score" type="QualityScoreType" />
				<xs:element name="QualityCalculationFailed" type="xs:string" />
			</xs:choice>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="RegistryIDType">
		<xs:sequence>
			<xs:element name="Organization" type="xs:unsignedShort" />
			<xs:element name="Identifier" type="xs:unsignedShort" />
		</xs:sequence>
	</xs:complexType>

	<xs:simpleType name="FrictionRidgeImpressionType">
	  <xs:restriction base="xs:string">
		<xs:enumeration value="LiveScanPlain"/>
		<xs:enumeration value="LiveScanRolled"/>
		<xs:enumeration value="NonLiveScanPlain"/>
		<xs:enumeration value="NonLiveScanRolled"/>
		<xs:enumeration value="LatentImpression"/>
		<xs:enumeration value="LatentTracing"/>
		<xs:enumeration value="LatentPhoto"/>
		<xs:enumeration value="LatentLift"/>
		<xs:enumeration value="LiveScanVerticalSwipe"/>
		<xs:enumeration value="LiveScanPalm"/>
		<xs:enumeration value="NonLiveScanPalm"/>
		<xs:enumeration value="LatentPalmImpression"/>
		<xs:enumeration value="LatentPalmTracing"/>
		<xs:enumeration value="LatentPalmPhoto"/>
		<xs:enumeration value="LatentPalmLift"/>
		<xs:enumeration value="LiveScanOpticalContactPlain"/>
		<xs:enumeration value="LiveScanOpticalContactRolled"/>
		<xs:enumeration value="LiveScanNonOpticalContactPlain"/>
		<xs:enumeration value="LiveScanNonOpticalContactRolled"/>
		<xs:enumeration value="LiveScanOpticalContactlessPlain"/>
		<xs:enumeration value="LiveScanOpticalContactlessRolled"/>
		<xs:enumeration value="LiveScanNonOpticalContactlessPlain"/>
		<xs:enumeration value="LiveScanNonOpticalContactlessRolled"/>
		<xs:enumeration value="Other"/>
		<xs:enumeration value="Unknown"/>
	  </xs:restriction>
	</xs:simpleType>
	
	<xs:complexType name="VendorSpecificDataType">
        <xs:sequence>
            <xs:element name="TypeCode" type="xs:unsignedShort" />
            <xs:element name="Data" type="xs:base64Binary" />
        </xs:sequence>
    </xs:complexType>
	
	<xs:complexType name="Coordinate2DType">
		<xs:sequence>
			<xs:element name="X" type="xs:integer" />
			<xs:element name="Y" type="xs:integer" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="Coordinate3DType">
		<xs:sequence>
			<xs:element name="X" type="xs:integer" />
			<xs:element name="Y" type="xs:integer" />
			<xs:element name="Z" type="xs:integer" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="PolarCoordinateType">
		<xs:sequence>
			<xs:element name="Radius" type="xs:integer" />
			<xs:element name="Azimuth" type="xs:integer" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="SphericalCoordinateType">
		<xs:sequence>
			<xs:element name="Radius" type="xs:integer" />
			<xs:element name="Inclination" type="xs:integer" />
			<xs:element name="Azimuth" type="xs:integer" />
		</xs:sequence>
	</xs:complexType>
	
	<xs:complexType name="CylindricalCoordinateType">
		<xs:sequence>
			<xs:element name="Radius" type="xs:integer" />
			<xs:element name="Azimuth" type="xs:integer" />
			<xs:element name="Height" type="xs:integer" />
		</xs:sequence>
	</xs:complexType>

	<xs:attribute name="SchemaVersion" type="xs:string" />
</xs:schema>
