<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://ocrsdk.com/schema/recognizedBusinessCard-1.0.xsd"
	xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ocrsdk.com/schema/recognizedBusinessCard-1.0.xsd"
	elementFormDefault="qualified">

    <xs:element name="document" type="tns:documentType"></xs:element>
    
    <xs:complexType name="documentType">
    	<xs:sequence>
    		<xs:element name="businessCard" type="tns:businessCardType" minOccurs="0" maxOccurs="1"></xs:element>
    	</xs:sequence>
    </xs:complexType>

    <xs:complexType name="businessCardType">
    	<xs:sequence>
    		<xs:element name="field" type="tns:fieldType" minOccurs="0" maxOccurs="unbounded"></xs:element>
    	</xs:sequence>
      <xs:attribute name="imageRotation" type="tns:rotationTypeEnum" use="optional" />
    </xs:complexType>

    <xs:complexType name="fieldType">
    	<xs:sequence>
    		<xs:element name="value" type="xs:string" minOccurs="1" maxOccurs="1">
    		</xs:element>
    		<xs:element name="characters" type="tns:charactersType" minOccurs="0" maxOccurs="1"></xs:element>
    		<xs:element name="fieldComponents" type="tns:fieldComponentsType" minOccurs="0" maxOccurs="1"></xs:element>
    	</xs:sequence>
    	<xs:attribute name="type" type="tns:typeType"></xs:attribute>
    </xs:complexType>

    <xs:simpleType name="typeType">
    	<xs:restriction base="xs:string">
    		<xs:enumeration value="Name"></xs:enumeration>
    		<xs:enumeration value="Phone"></xs:enumeration>
    		<xs:enumeration value="Mobile"></xs:enumeration>
    		<xs:enumeration value="Fax"></xs:enumeration>
    		<xs:enumeration value="Company"></xs:enumeration>
    		<xs:enumeration value="Job"></xs:enumeration>
    		<xs:enumeration value="Address"></xs:enumeration>
    		<xs:enumeration value="Email"></xs:enumeration>
    		<xs:enumeration value="Web"></xs:enumeration>
    		<xs:enumeration value="Text"></xs:enumeration>
    	</xs:restriction>
    </xs:simpleType>

    <xs:complexType name="charactersType">
    	<xs:sequence>
    		<xs:element name="char" type="tns:charType" minOccurs="0" maxOccurs="unbounded"></xs:element>
    	</xs:sequence>
    </xs:complexType>

    <xs:complexType name="charType">
    	<xs:simpleContent>
    		<xs:extension base="xs:string">
    			<xs:attribute name="suspicious" type="xs:boolean" use="optional"></xs:attribute>
    		</xs:extension>
    	</xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="fieldComponentsType">
      <xs:sequence>
        <xs:element name="fieldComponent" type="tns:fieldComponentType" minOccurs="0" maxOccurs="unbounded"></xs:element>
      </xs:sequence>
    </xs:complexType>


    <xs:complexType name="fieldComponentType">
      <xs:sequence>
        <xs:element name="value" type="xs:string" minOccurs="1" maxOccurs="1">
        </xs:element>
      </xs:sequence>
      <xs:attribute name="type" type="tns:fieldComponentTypeType"></xs:attribute>
    </xs:complexType>

    <xs:simpleType name="fieldComponentTypeType">
      <xs:restriction base="xs:string">
        <xs:enumeration value="FirstName"></xs:enumeration>
        <xs:enumeration value="MiddleName"></xs:enumeration>
        <xs:enumeration value="LastName"></xs:enumeration>
        <xs:enumeration value="ExtraName"></xs:enumeration>
        <xs:enumeration value="PhonePrefix"></xs:enumeration>
        <xs:enumeration value="PhoneCountryCode"></xs:enumeration>
        <xs:enumeration value="PhoneCode"></xs:enumeration>
        <xs:enumeration value="PhoneBody"></xs:enumeration>
        <xs:enumeration value="PhoneExtension"></xs:enumeration>
        <xs:enumeration value="ZipCode"></xs:enumeration>
        <xs:enumeration value="Country"></xs:enumeration>
        <xs:enumeration value="City"></xs:enumeration>
        <xs:enumeration value="StreetAddress"></xs:enumeration>
        <xs:enumeration value="JobPosition"></xs:enumeration>
        <xs:enumeration value="JobDepartment"></xs:enumeration>
        <xs:enumeration value="Degree"></xs:enumeration>
        <xs:enumeration value="Region"></xs:enumeration>
      </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="rotationTypeEnum">
      <xs:restriction base="xs:string">
        <xs:enumeration value="noRotation" />
        <xs:enumeration value="clockwise" />
        <xs:enumeration value="counterclockwise" />
        <xs:enumeration value="upsideDown" />
      </xs:restriction>
    </xs:simpleType>

</xs:schema>