<?xml version="1.0" encoding="UTF-8"?>
<!-- Minor Version 1.2 - 2008-06
	added repeatable choice around the device methods (no methods)
	Minor Version 1.1 - 2008-04
	- added WSDL root element names
-->
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
    targetNamespace="http://www.nrf-arts.org/UnifiedPOS/MICR/"
    xmlns="http://www.nrf-arts.org/UnifiedPOS/MICR/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!--============-->
    <!-- Extension mechanism -->
    <!--============-->
    <xs:simpleType name="IXREnumerationExtension">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9A-Za-z][0-9A-Za-z]*:[A-Z][0-9A-Za-z]*"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TypeCodeExtension">
        <xs:restriction base="IXREnumerationExtension"/>
    </xs:simpleType>
    <!--
		Enumerated type for  CommonData Action Type Codes attribute
	-->
    <xs:simpleType name="ActionCommonDataTypeCodes">
        <xs:union memberTypes="ActionCommonDataTypeCodesEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="ActionCommonDataTypeCodesEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Begin"/>
            <xs:enumeration value="Cancel"/>
            <xs:enumeration value="Complete"/>
            <xs:enumeration value="Create"/>
            <xs:enumeration value="Delete"/>
            <xs:enumeration value="Dispatch"/>
            <xs:enumeration value="Lookup"/>
            <xs:enumeration value="Initiate"/>
            <xs:enumeration value="Instruction"/>
            <xs:enumeration value="Information"/>
            <xs:enumeration value="PartialCancel"/>
            <xs:enumeration value="PartialComplete"/>
            <xs:enumeration value="Read"/>
            <xs:enumeration value="Request"/>
            <xs:enumeration value="Update"/>
            <xs:enumeration value="Add"/>
            <xs:enumeration value="Subtract"/>
            <xs:enumeration value="Replace"/>
        </xs:restriction>
    </xs:simpleType>
    <!--
		Enumerated type for Business Unit Type attribute
	-->
    <xs:simpleType name="BusinessUnitTypeCode">
        <xs:union memberTypes="BusinessUnitTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="BusinessUnitTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="RetailStore"/>
            <xs:enumeration value="DistributionCenter"/>
            <xs:enumeration value="AdministrationCenter"/>
            <xs:enumeration value="CallCenter"/>
            <xs:enumeration value="WebSite"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="BusinessUnitCommonData">
        <xs:annotation>
            <xs:documentation>Business Unit Common Data Node describing the location.     Contains
                one or more of RetailStore, DistributionCenter, InventoryLocation and
                AdminstrativeCenter.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute form="unqualified" name="Name" type="xs:string" use="optional">
                    <xs:annotation>
                        <xs:documentation>The name of the business unit</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
                <xs:attribute default="RetailStore" form="unqualified" name="TypeCode"
                    type="BusinessUnitTypeCode" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <!-- 
		Date Time Enumeration
	-->
    <xs:simpleType name="DateTimeType">
        <xs:union memberTypes="DateTimeTypeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="DateTimeTypeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Message"/>
            <xs:enumeration value="Cancel"/>
            <xs:enumeration value="ActualStart"/>
            <xs:enumeration value="Effective"/>
            <xs:enumeration value="ExpectedDue"/>
            <xs:enumeration value="ExpectedStart"/>
            <xs:enumeration value="Dispatch"/>
            <xs:enumeration value="Expiration"/>
            <xs:enumeration value="Business"/>
            <xs:enumeration value="Start"/>
            <xs:enumeration value="End"/>
            <xs:enumeration value="Receipt"/>
            <xs:enumeration value="Transaction"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="DateTimeCommonData">
        <xs:simpleContent>
            <xs:extension base="xs:dateTime">
                <xs:attribute default="Message" form="unqualified" name="TypeCode"
                    type="DateTimeType" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:simpleType name="MessageTypeCode">
        <xs:union memberTypes="MessageTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="MessageTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Request"/>
            <xs:enumeration value="Response"/>
            <xs:enumeration value="Publish"/>
            <xs:enumeration value="Acknowledge"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="OrganizationTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Corporation"/>
            <xs:enumeration value="OperatingCompany">
                <xs:annotation>
                    <xs:documentation> separate legal entity which conducts retail operations for
                        the retail enterprise in some geographical location. It may be treated as a
                        division internally - yet it is still a separate legal
                        entity</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Concept">
                <xs:annotation>
                    <xs:documentation>a unique line of business within a
                        corporation</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RevenueCenter">
                <xs:annotation>
                    <xs:documentation>Any area of a store from which particular revenues can be said
                        to derive</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Region"/>
            <xs:enumeration value="Department">
                <xs:annotation>
                    <xs:documentation>A grouping of items with similar point of sale control and
                        processing attributes. This entity type may also be used to control sales
                        that are not properly identified at the item-level.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Division">
                <xs:annotation>
                    <xs:documentation>an administrative unit in a large store which certain retail
                        functions have been grouped</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="District"/>
            <xs:enumeration value="Zone"/>
            <xs:enumeration value="DistributionCenter">
                <xs:annotation>
                    <xs:documentation>A warehouse or other storage facility that receives
                        merchandise in bulk from Suppliers and supplies merchandise to RetailStores.
                        It may be co-located at the same Site as a RetailStore or
                        AdministrativeCenter.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AdministrationCenter">
                <xs:annotation>
                    <xs:documentation>A group of offices at which the retail enterprise conducts
                        administrative (non-selling) operations. May be co-located at a Site with
                        RetailStore, DistributionCenter, or InventoryLocation.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RetailStore">
                <xs:annotation>
                    <xs:documentation>A retail outlet that sells merchandise and services through
                        either a physical location, catalog, web page or other channel. It may or
                        may not be identical to a Site. It may be co-located at the same Site as a
                        DistributionCenter, InventoryLocation or
                        AdministrativeCenter.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="OrganizationHierarchyCommonData">
        <xs:annotation>
            <xs:documentation>organizational hierarchy so that destination can be targeted to
                individual location, region, division etc, not to be confused with reporting the
                entire hierarchy as is done with the Organizational Hierarchy Structure - i.e. an
                instance of an organization hierarchy at a particular level.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute form="unqualified" name="Level" type="OrganizationTypeCodeEnumeration"
                    use="optional"/>
                <xs:attribute form="unqualified" name="ID" type="xs:string" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="RequestIDCommonData">
        <xs:annotation>
            <xs:documentation>UUID to uniquely identifying this request</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute form="unqualified" name="Name" type="xs:string" use="optional"/>
                <xs:attribute form="unqualified" name="Timestamp" type="xs:dateTime" use="optional"
                />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:simpleType name="LanguageCode">
        <xs:annotation>
            <xs:documentation>derived from ISO-639-2 language codes</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="aar">
                <xs:annotation>
                    <xs:documentation>Afar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="abk">
                <xs:annotation>
                    <xs:documentation>Abkhazian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ace">
                <xs:annotation>
                    <xs:documentation>Achinese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ach">
                <xs:annotation>
                    <xs:documentation>Acoli</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ada">
                <xs:annotation>
                    <xs:documentation>Adangme</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="afa">
                <xs:annotation>
                    <xs:documentation>Afro-Asiatic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="afh">
                <xs:annotation>
                    <xs:documentation>Afrihili</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="afr">
                <xs:annotation>
                    <xs:documentation>Afrikaans</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="aka">
                <xs:annotation>
                    <xs:documentation>Akan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="akk">
                <xs:annotation>
                    <xs:documentation>Akkadian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="alb">
                <xs:annotation>
                    <xs:documentation>Albanian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ale">
                <xs:annotation>
                    <xs:documentation>Aleut</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="alg">
                <xs:annotation>
                    <xs:documentation>Algonquian languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="amh">
                <xs:annotation>
                    <xs:documentation>Amharic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ang">
                <xs:annotation>
                    <xs:documentation>English, Old (ca.450-1100)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="apa">
                <xs:annotation>
                    <xs:documentation>Apache languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ara">
                <xs:annotation>
                    <xs:documentation>Arabic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="arc">
                <xs:annotation>
                    <xs:documentation>Aramaic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="arm">
                <xs:annotation>
                    <xs:documentation>Armenian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="arn">
                <xs:annotation>
                    <xs:documentation>Araucanian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="arp">
                <xs:annotation>
                    <xs:documentation>Arapaho</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="art">
                <xs:annotation>
                    <xs:documentation>Artificial (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="arw">
                <xs:annotation>
                    <xs:documentation>Arawak</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="asm">
                <xs:annotation>
                    <xs:documentation>Assamese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ath">
                <xs:annotation>
                    <xs:documentation>Athapascan languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="aus">
                <xs:annotation>
                    <xs:documentation>Australian languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ava">
                <xs:annotation>
                    <xs:documentation>Avaric</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ave">
                <xs:annotation>
                    <xs:documentation>Avestan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="awa">
                <xs:annotation>
                    <xs:documentation>Awadhi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="aym">
                <xs:annotation>
                    <xs:documentation>Aymara</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="aze">
                <xs:annotation>
                    <xs:documentation>Azerbaijani</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bad">
                <xs:annotation>
                    <xs:documentation>Banda</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bai">
                <xs:annotation>
                    <xs:documentation>Bamileke languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bak">
                <xs:annotation>
                    <xs:documentation>Bashkir</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bal">
                <xs:annotation>
                    <xs:documentation>Baluchi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bam">
                <xs:annotation>
                    <xs:documentation>Bambara</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ban">
                <xs:annotation>
                    <xs:documentation>Balinese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="baq">
                <xs:annotation>
                    <xs:documentation>Basque</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bas">
                <xs:annotation>
                    <xs:documentation>Basa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bat">
                <xs:annotation>
                    <xs:documentation>Baltic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bej">
                <xs:annotation>
                    <xs:documentation>Beja</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bel">
                <xs:annotation>
                    <xs:documentation>Belarusian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bem">
                <xs:annotation>
                    <xs:documentation>Bemba</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ben">
                <xs:annotation>
                    <xs:documentation>Bengali</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ber">
                <xs:annotation>
                    <xs:documentation>Berber (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bho">
                <xs:annotation>
                    <xs:documentation>Bhojpuri</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bih">
                <xs:annotation>
                    <xs:documentation>Bihari</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bik">
                <xs:annotation>
                    <xs:documentation>Bikol</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bin">
                <xs:annotation>
                    <xs:documentation>Bini</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bis">
                <xs:annotation>
                    <xs:documentation>Bislama</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bla">
                <xs:annotation>
                    <xs:documentation>Siksika</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bnt">
                <xs:annotation>
                    <xs:documentation>Bantu (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bod">
                <xs:annotation>
                    <xs:documentation>Tibetan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bos">
                <xs:annotation>
                    <xs:documentation>Bosnian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bra">
                <xs:annotation>
                    <xs:documentation>Braj</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bre">
                <xs:annotation>
                    <xs:documentation>Breton</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="btk">
                <xs:annotation>
                    <xs:documentation>Batak (Indonesia)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bua">
                <xs:annotation>
                    <xs:documentation>Buriat</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bug">
                <xs:annotation>
                    <xs:documentation>Buginese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bul">
                <xs:annotation>
                    <xs:documentation>Bulgarian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="bur">
                <xs:annotation>
                    <xs:documentation>Burmese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cad">
                <xs:annotation>
                    <xs:documentation>Caddo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cai">
                <xs:annotation>
                    <xs:documentation>Central American Indian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="car">
                <xs:annotation>
                    <xs:documentation>Carib</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cat">
                <xs:annotation>
                    <xs:documentation>Catalan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cau">
                <xs:annotation>
                    <xs:documentation>Caucasian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ceb">
                <xs:annotation>
                    <xs:documentation>Cebuano</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cel">
                <xs:annotation>
                    <xs:documentation>Celtic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ces">
                <xs:annotation>
                    <xs:documentation>Czech</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cha">
                <xs:annotation>
                    <xs:documentation>Chamorro</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chb">
                <xs:annotation>
                    <xs:documentation>Chibcha</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="che">
                <xs:annotation>
                    <xs:documentation>Chechen</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chg">
                <xs:annotation>
                    <xs:documentation>Chagatai</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chi">
                <xs:annotation>
                    <xs:documentation>Chinese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chk">
                <xs:annotation>
                    <xs:documentation>Chuukese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chm">
                <xs:annotation>
                    <xs:documentation>Mari</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chn">
                <xs:annotation>
                    <xs:documentation>Chinook jargon</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cho">
                <xs:annotation>
                    <xs:documentation>Choctaw</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chp">
                <xs:annotation>
                    <xs:documentation>Chipewyan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chr">
                <xs:annotation>
                    <xs:documentation>Cherokee</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chu">
                <xs:annotation>
                    <xs:documentation>Church Slavic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chv">
                <xs:annotation>
                    <xs:documentation>Chuvash</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="chy">
                <xs:annotation>
                    <xs:documentation>Cheyenne</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cmc">
                <xs:annotation>
                    <xs:documentation>Chamic languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cop">
                <xs:annotation>
                    <xs:documentation>Coptic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cor">
                <xs:annotation>
                    <xs:documentation>Cornish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cos">
                <xs:annotation>
                    <xs:documentation>Corsican</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cpe">
                <xs:annotation>
                    <xs:documentation>Creoles and pidgins, English-based (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cpf">
                <xs:annotation>
                    <xs:documentation>Creoles and pidgins, French-based (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cpp">
                <xs:annotation>
                    <xs:documentation>Creoles and pidgins, Portuguese-based
                        (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cre">
                <xs:annotation>
                    <xs:documentation>Cree</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="crp">
                <xs:annotation>
                    <xs:documentation>Creoles and pidgins(Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cus">
                <xs:annotation>
                    <xs:documentation>Cushitic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cym">
                <xs:annotation>
                    <xs:documentation>Welsh</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cze">
                <xs:annotation>
                    <xs:documentation>Czech</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dak">
                <xs:annotation>
                    <xs:documentation>Dakota</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dan">
                <xs:annotation>
                    <xs:documentation>Danish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="day">
                <xs:annotation>
                    <xs:documentation>Dayak</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="del">
                <xs:annotation>
                    <xs:documentation>Delaware</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="den">
                <xs:annotation>
                    <xs:documentation>Slave (Athapascan)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="deu">
                <xs:annotation>
                    <xs:documentation>German</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dgr">
                <xs:annotation>
                    <xs:documentation>Dogrib</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="din">
                <xs:annotation>
                    <xs:documentation>Dinka</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="div">
                <xs:annotation>
                    <xs:documentation>Divehi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="doi">
                <xs:annotation>
                    <xs:documentation>Dogri</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dra">
                <xs:annotation>
                    <xs:documentation>Dravidian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dua">
                <xs:annotation>
                    <xs:documentation>Duala</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dum">
                <xs:annotation>
                    <xs:documentation>Dutch, Middle (ca. 1050-1350)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dut">
                <xs:annotation>
                    <xs:documentation>Dutch</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dyu">
                <xs:annotation>
                    <xs:documentation>Dyula</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dzo">
                <xs:annotation>
                    <xs:documentation>Dzongkha</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="efi">
                <xs:annotation>
                    <xs:documentation>Efik</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="egy">
                <xs:annotation>
                    <xs:documentation>Egyptian (Ancient)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="eka">
                <xs:annotation>
                    <xs:documentation>Ekajuk</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ell">
                <xs:annotation>
                    <xs:documentation>Greek, Modern (1453-)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="elx">
                <xs:annotation>
                    <xs:documentation>Elamite</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="eng">
                <xs:annotation>
                    <xs:documentation>English</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="enm">
                <xs:annotation>
                    <xs:documentation>English, Middle (1100-1500)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="epo">
                <xs:annotation>
                    <xs:documentation>Esperanto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="est">
                <xs:annotation>
                    <xs:documentation>Estonian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="eus">
                <xs:annotation>
                    <xs:documentation>Basque</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ewe">
                <xs:annotation>
                    <xs:documentation>Ewe</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ewo">
                <xs:annotation>
                    <xs:documentation>Ewondo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fan">
                <xs:annotation>
                    <xs:documentation>Fang</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fao">
                <xs:annotation>
                    <xs:documentation>Faroese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fas">
                <xs:annotation>
                    <xs:documentation>Persian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fat">
                <xs:annotation>
                    <xs:documentation>Fanti</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fij">
                <xs:annotation>
                    <xs:documentation>Fijian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fin">
                <xs:annotation>
                    <xs:documentation>Finnish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fiu">
                <xs:annotation>
                    <xs:documentation>Finno-Ugrian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fon">
                <xs:annotation>
                    <xs:documentation>Fon</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fra">
                <xs:annotation>
                    <xs:documentation>French</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fre">
                <xs:annotation>
                    <xs:documentation>French</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="frm">
                <xs:annotation>
                    <xs:documentation>French, Middle (ca.1400-1600)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fro">
                <xs:annotation>
                    <xs:documentation>French, Old (842-ca.1400)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fry">
                <xs:annotation>
                    <xs:documentation>Frisian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ful">
                <xs:annotation>
                    <xs:documentation>Fulah</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="fur">
                <xs:annotation>
                    <xs:documentation>Friulian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gaa">
                <xs:annotation>
                    <xs:documentation>Ga</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gay">
                <xs:annotation>
                    <xs:documentation>Gayo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gba">
                <xs:annotation>
                    <xs:documentation>Gbaya</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gem">
                <xs:annotation>
                    <xs:documentation>Germanic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="geo">
                <xs:annotation>
                    <xs:documentation>Georgian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ger">
                <xs:annotation>
                    <xs:documentation>German</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gez">
                <xs:annotation>
                    <xs:documentation>Geez</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gil">
                <xs:annotation>
                    <xs:documentation>Gilbertese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gla">
                <xs:annotation>
                    <xs:documentation>Gaelic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gla">
                <xs:annotation>
                    <xs:documentation>Scottish Gaelic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gle">
                <xs:annotation>
                    <xs:documentation>Irish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="glg">
                <xs:annotation>
                    <xs:documentation>Gallegan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="glv">
                <xs:annotation>
                    <xs:documentation>Manx</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gmh">
                <xs:annotation>
                    <xs:documentation>German, Middle High (ca.1050-1500)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="goh">
                <xs:annotation>
                    <xs:documentation>German, Old High (ca.750-1050)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gon">
                <xs:annotation>
                    <xs:documentation>Gondi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gor">
                <xs:annotation>
                    <xs:documentation>Gorontalo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="got">
                <xs:annotation>
                    <xs:documentation>Gothic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="grb">
                <xs:annotation>
                    <xs:documentation>Grebo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="grc">
                <xs:annotation>
                    <xs:documentation>Greek, Ancient (to 1453)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gre">
                <xs:annotation>
                    <xs:documentation>Greek, Modern (1453-)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="grn">
                <xs:annotation>
                    <xs:documentation>Guarani</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="guj">
                <xs:annotation>
                    <xs:documentation>Gujarati</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="gwi">
                <xs:annotation>
                    <xs:documentation>Gwich´in</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hai">
                <xs:annotation>
                    <xs:documentation>Haida</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hau">
                <xs:annotation>
                    <xs:documentation>Hausa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="haw">
                <xs:annotation>
                    <xs:documentation>Hawaiian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="heb">
                <xs:annotation>
                    <xs:documentation>Hebrew</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="her">
                <xs:annotation>
                    <xs:documentation>Herero</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hil">
                <xs:annotation>
                    <xs:documentation>Hiligaynon</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="him">
                <xs:annotation>
                    <xs:documentation>Himachali</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hin">
                <xs:annotation>
                    <xs:documentation>Hindi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hit">
                <xs:annotation>
                    <xs:documentation>Hittite</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hmn">
                <xs:annotation>
                    <xs:documentation>Hmong</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hmo">
                <xs:annotation>
                    <xs:documentation>Hiri Motu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hrv">
                <xs:annotation>
                    <xs:documentation>Croatian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hun">
                <xs:annotation>
                    <xs:documentation>Hungarian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hup">
                <xs:annotation>
                    <xs:documentation>Hupa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="hye">
                <xs:annotation>
                    <xs:documentation>Armenian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="iba">
                <xs:annotation>
                    <xs:documentation>Iban</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ibo">
                <xs:annotation>
                    <xs:documentation>Igbo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ice">
                <xs:annotation>
                    <xs:documentation>Icelandic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ijo">
                <xs:annotation>
                    <xs:documentation>Ijo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="iku">
                <xs:annotation>
                    <xs:documentation>Inuktitut</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ile">
                <xs:annotation>
                    <xs:documentation>Interlingue</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ilo">
                <xs:annotation>
                    <xs:documentation>Iloko</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ina">
                <xs:annotation>
                    <xs:documentation>Interlingua (International Auxiliary Language
                        Association)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="inc">
                <xs:annotation>
                    <xs:documentation>Indic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ind">
                <xs:annotation>
                    <xs:documentation>Indonesian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ine">
                <xs:annotation>
                    <xs:documentation>Indo-European (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ipk">
                <xs:annotation>
                    <xs:documentation>Inupiaq</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ira">
                <xs:annotation>
                    <xs:documentation>Iranian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="iro">
                <xs:annotation>
                    <xs:documentation>Iroquoian languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="isl">
                <xs:annotation>
                    <xs:documentation>Icelandic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ita">
                <xs:annotation>
                    <xs:documentation>Italian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="jav">
                <xs:annotation>
                    <xs:documentation>Javanese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="jpn">
                <xs:annotation>
                    <xs:documentation>Japanese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="jpr">
                <xs:annotation>
                    <xs:documentation>Judeo-Persian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="jrb">
                <xs:annotation>
                    <xs:documentation>Judeo-Arabic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kaa">
                <xs:annotation>
                    <xs:documentation>Kara-Kalpak</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kab">
                <xs:annotation>
                    <xs:documentation>Kabyle</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kac">
                <xs:annotation>
                    <xs:documentation>Kachin</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kal">
                <xs:annotation>
                    <xs:documentation>Kalaallisut</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kam">
                <xs:annotation>
                    <xs:documentation>Kamba</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kan">
                <xs:annotation>
                    <xs:documentation>Kannada</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kar">
                <xs:annotation>
                    <xs:documentation>Karen</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kas">
                <xs:annotation>
                    <xs:documentation>Kashmiri</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kat">
                <xs:annotation>
                    <xs:documentation>Georgian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kau">
                <xs:annotation>
                    <xs:documentation>Kanuri</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kaw">
                <xs:annotation>
                    <xs:documentation>Kawi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kaz">
                <xs:annotation>
                    <xs:documentation>Kazakh</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kha">
                <xs:annotation>
                    <xs:documentation>Khasi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="khi">
                <xs:annotation>
                    <xs:documentation>Khoisan (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="khm">
                <xs:annotation>
                    <xs:documentation>Khmer</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kho">
                <xs:annotation>
                    <xs:documentation>Khotanese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kik">
                <xs:annotation>
                    <xs:documentation>Gikuyu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kik">
                <xs:annotation>
                    <xs:documentation>Kikuyu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kin">
                <xs:annotation>
                    <xs:documentation>Kinyarwanda</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kir">
                <xs:annotation>
                    <xs:documentation>Kirghiz</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kmb">
                <xs:annotation>
                    <xs:documentation>Kimbundu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kok">
                <xs:annotation>
                    <xs:documentation>Konkani</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kom">
                <xs:annotation>
                    <xs:documentation>Komi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kon">
                <xs:annotation>
                    <xs:documentation>Kongo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kor">
                <xs:annotation>
                    <xs:documentation>Korean</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kos">
                <xs:annotation>
                    <xs:documentation>Kosraean</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kpe">
                <xs:annotation>
                    <xs:documentation>Kpelle</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kro">
                <xs:annotation>
                    <xs:documentation>Kru</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kru">
                <xs:annotation>
                    <xs:documentation>Kurukh</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kua">
                <xs:annotation>
                    <xs:documentation>Kuanyama</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kum">
                <xs:annotation>
                    <xs:documentation>Kumyk</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kur">
                <xs:annotation>
                    <xs:documentation>Kurdish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="kut">
                <xs:annotation>
                    <xs:documentation>Kutenai</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lad">
                <xs:annotation>
                    <xs:documentation>Ladino</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lah">
                <xs:annotation>
                    <xs:documentation>Lahnda</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lam">
                <xs:annotation>
                    <xs:documentation>Lamba</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lao">
                <xs:annotation>
                    <xs:documentation>Lao</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lat">
                <xs:annotation>
                    <xs:documentation>Latin</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lav">
                <xs:annotation>
                    <xs:documentation>Latvian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lez">
                <xs:annotation>
                    <xs:documentation>Lezghian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lin">
                <xs:annotation>
                    <xs:documentation>Lingala</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lit">
                <xs:annotation>
                    <xs:documentation>Lithuanian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lol">
                <xs:annotation>
                    <xs:documentation>Mongo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="loz">
                <xs:annotation>
                    <xs:documentation>Lozi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ltz">
                <xs:annotation>
                    <xs:documentation>Letzeburgesch</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lua">
                <xs:annotation>
                    <xs:documentation>Luba-Lulua</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lub">
                <xs:annotation>
                    <xs:documentation>Luba-Katanga</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lug">
                <xs:annotation>
                    <xs:documentation>Ganda</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lui">
                <xs:annotation>
                    <xs:documentation>Luiseno</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lun">
                <xs:annotation>
                    <xs:documentation>Lunda</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="luo">
                <xs:annotation>
                    <xs:documentation>Luo (Kenya and Tanzania)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="lus">
                <xs:annotation>
                    <xs:documentation>Lushai</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mac">
                <xs:annotation>
                    <xs:documentation>Macedonian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mad">
                <xs:annotation>
                    <xs:documentation>Madurese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mag">
                <xs:annotation>
                    <xs:documentation>Magahi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mah">
                <xs:annotation>
                    <xs:documentation>Marshall</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mai">
                <xs:annotation>
                    <xs:documentation>Maithili</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mak">
                <xs:annotation>
                    <xs:documentation>Makasar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mal">
                <xs:annotation>
                    <xs:documentation>Malayalam</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="man">
                <xs:annotation>
                    <xs:documentation>Mandingo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mao">
                <xs:annotation>
                    <xs:documentation>Maori</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="map">
                <xs:annotation>
                    <xs:documentation>Austronesian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mar">
                <xs:annotation>
                    <xs:documentation>Marathi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mas">
                <xs:annotation>
                    <xs:documentation>Masai</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="may">
                <xs:annotation>
                    <xs:documentation>Malay</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mdr">
                <xs:annotation>
                    <xs:documentation>Mandar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="men">
                <xs:annotation>
                    <xs:documentation>Mende</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mga">
                <xs:annotation>
                    <xs:documentation>Irish, Middle (900-1200)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mic">
                <xs:annotation>
                    <xs:documentation>Micmac</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="min">
                <xs:annotation>
                    <xs:documentation>Minangkabau</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mis">
                <xs:annotation>
                    <xs:documentation>Miscellaneous languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mkd">
                <xs:annotation>
                    <xs:documentation>Macedonian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mkh">
                <xs:annotation>
                    <xs:documentation>Mon-Khmer (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mlg">
                <xs:annotation>
                    <xs:documentation>Malagasy</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mlt">
                <xs:annotation>
                    <xs:documentation>Maltese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mnc">
                <xs:annotation>
                    <xs:documentation>Manchu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mni">
                <xs:annotation>
                    <xs:documentation>Manipuri</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mno">
                <xs:annotation>
                    <xs:documentation>Manobo languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="moh">
                <xs:annotation>
                    <xs:documentation>Mohawk</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mol">
                <xs:annotation>
                    <xs:documentation>Moldavian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mon">
                <xs:annotation>
                    <xs:documentation>Mongolian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mos">
                <xs:annotation>
                    <xs:documentation>Mossi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mri">
                <xs:annotation>
                    <xs:documentation>Maori</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="msa">
                <xs:annotation>
                    <xs:documentation>Malay</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mul">
                <xs:annotation>
                    <xs:documentation>Multiple languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mun">
                <xs:annotation>
                    <xs:documentation>Munda languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mus">
                <xs:annotation>
                    <xs:documentation>Creek</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mwr">
                <xs:annotation>
                    <xs:documentation>Marwari</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="mya">
                <xs:annotation>
                    <xs:documentation>Burmese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="myn">
                <xs:annotation>
                    <xs:documentation>Mayan languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nah">
                <xs:annotation>
                    <xs:documentation>Nahuatl</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nai">
                <xs:annotation>
                    <xs:documentation>North American Indian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nau">
                <xs:annotation>
                    <xs:documentation>Nauru</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nav">
                <xs:annotation>
                    <xs:documentation>Navajo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nbl">
                <xs:annotation>
                    <xs:documentation>Ndebele, South</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nde">
                <xs:annotation>
                    <xs:documentation>Ndebele, North</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ndo">
                <xs:annotation>
                    <xs:documentation>Ndonga</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nds">
                <xs:annotation>
                    <xs:documentation>German, Low</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nds">
                <xs:annotation>
                    <xs:documentation>Low German</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nds">
                <xs:annotation>
                    <xs:documentation>Low Saxon</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nds">
                <xs:annotation>
                    <xs:documentation>Saxon, Low</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nep">
                <xs:annotation>
                    <xs:documentation>Nepali</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="new">
                <xs:annotation>
                    <xs:documentation>Newari</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nia">
                <xs:annotation>
                    <xs:documentation>Nias</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nic">
                <xs:annotation>
                    <xs:documentation>Niger-Kordofanian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="niu">
                <xs:annotation>
                    <xs:documentation>Niuean</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nld">
                <xs:annotation>
                    <xs:documentation>Dutch</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nno">
                <xs:annotation>
                    <xs:documentation>Norwegian Nynorsk</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nno">
                <xs:annotation>
                    <xs:documentation>Nynorsk, Norwegian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nob">
                <xs:annotation>
                    <xs:documentation>Bokmål, Norwegian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nob">
                <xs:annotation>
                    <xs:documentation>Norwegian Bokmål</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="non">
                <xs:annotation>
                    <xs:documentation>Norse, Old</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nor">
                <xs:annotation>
                    <xs:documentation>Norwegian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nso">
                <xs:annotation>
                    <xs:documentation>Sotho, Northern</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nub">
                <xs:annotation>
                    <xs:documentation>Nubian languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nya">
                <xs:annotation>
                    <xs:documentation>Chichewa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nya">
                <xs:annotation>
                    <xs:documentation>Nyanja</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nym">
                <xs:annotation>
                    <xs:documentation>Nyamwezi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nyn">
                <xs:annotation>
                    <xs:documentation>Nyankole</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nyo">
                <xs:annotation>
                    <xs:documentation>Nyoro</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="nzi">
                <xs:annotation>
                    <xs:documentation>Nzima</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="oci">
                <xs:annotation>
                    <xs:documentation>Occitan (post 1500)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="oci">
                <xs:annotation>
                    <xs:documentation>Provençal</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="oji">
                <xs:annotation>
                    <xs:documentation>Ojibwa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ori">
                <xs:annotation>
                    <xs:documentation>Oriya</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="orm">
                <xs:annotation>
                    <xs:documentation>Oromo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="osa">
                <xs:annotation>
                    <xs:documentation>Osage</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="oss">
                <xs:annotation>
                    <xs:documentation>Ossetian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="oss">
                <xs:annotation>
                    <xs:documentation>Ossetic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ota">
                <xs:annotation>
                    <xs:documentation>Turkish, Ottoman (1500-1928)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="oto">
                <xs:annotation>
                    <xs:documentation>Otomian languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="paa">
                <xs:annotation>
                    <xs:documentation>Papuan (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pag">
                <xs:annotation>
                    <xs:documentation>Pangasinan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pal">
                <xs:annotation>
                    <xs:documentation>Pahlavi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pam">
                <xs:annotation>
                    <xs:documentation>Pampanga</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pan">
                <xs:annotation>
                    <xs:documentation>Panjabi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pap">
                <xs:annotation>
                    <xs:documentation>Papiamento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pau">
                <xs:annotation>
                    <xs:documentation>Palauan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="peo">
                <xs:annotation>
                    <xs:documentation>Persian, Old (ca.600-400)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="per">
                <xs:annotation>
                    <xs:documentation>Persian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="phi">
                <xs:annotation>
                    <xs:documentation>Philippine (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="phn">
                <xs:annotation>
                    <xs:documentation>Phoenician</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pli">
                <xs:annotation>
                    <xs:documentation>Pali</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pol">
                <xs:annotation>
                    <xs:documentation>Polish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pon">
                <xs:annotation>
                    <xs:documentation>Pohnpeian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="por">
                <xs:annotation>
                    <xs:documentation>Portuguese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pra">
                <xs:annotation>
                    <xs:documentation>Prakrit languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pro">
                <xs:annotation>
                    <xs:documentation>Provençal, Old (to 1500)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="pus">
                <xs:annotation>
                    <xs:documentation>Pushto</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="que">
                <xs:annotation>
                    <xs:documentation>Quechua</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="raj">
                <xs:annotation>
                    <xs:documentation>Rajasthani</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rap">
                <xs:annotation>
                    <xs:documentation>Rapanui</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rar">
                <xs:annotation>
                    <xs:documentation>Rarotongan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="roa">
                <xs:annotation>
                    <xs:documentation>Romance (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="roh">
                <xs:annotation>
                    <xs:documentation>Raeto-Romance</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rom">
                <xs:annotation>
                    <xs:documentation>Romany</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ron">
                <xs:annotation>
                    <xs:documentation>Romanian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rum">
                <xs:annotation>
                    <xs:documentation>Romanian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="run">
                <xs:annotation>
                    <xs:documentation>Rundi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="rus">
                <xs:annotation>
                    <xs:documentation>Russian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sad">
                <xs:annotation>
                    <xs:documentation>Sandawe</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sag">
                <xs:annotation>
                    <xs:documentation>Sango</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sah">
                <xs:annotation>
                    <xs:documentation>Yakut</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sai">
                <xs:annotation>
                    <xs:documentation>South American Indian (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sal">
                <xs:annotation>
                    <xs:documentation>Salishan languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sam">
                <xs:annotation>
                    <xs:documentation>Samaritan Aramaic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="san">
                <xs:annotation>
                    <xs:documentation>Sanskrit</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sas">
                <xs:annotation>
                    <xs:documentation>Sasak</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sat">
                <xs:annotation>
                    <xs:documentation>Santali</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="scc">
                <xs:annotation>
                    <xs:documentation>Serbian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sco">
                <xs:annotation>
                    <xs:documentation>Scots</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="scr">
                <xs:annotation>
                    <xs:documentation>Croatian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sel">
                <xs:annotation>
                    <xs:documentation>Selkup</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sem">
                <xs:annotation>
                    <xs:documentation>Semitic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sga">
                <xs:annotation>
                    <xs:documentation>Irish, Old (to 900)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sgn">
                <xs:annotation>
                    <xs:documentation>Sign languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="shn">
                <xs:annotation>
                    <xs:documentation>Shan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sid">
                <xs:annotation>
                    <xs:documentation>Sidamo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sin">
                <xs:annotation>
                    <xs:documentation>Sinhalese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sio">
                <xs:annotation>
                    <xs:documentation>Siouan languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sit">
                <xs:annotation>
                    <xs:documentation>Sino-Tibetan (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sla">
                <xs:annotation>
                    <xs:documentation>Slavic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="slk">
                <xs:annotation>
                    <xs:documentation>Slovak</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="slo">
                <xs:annotation>
                    <xs:documentation>Slovak</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="slv">
                <xs:annotation>
                    <xs:documentation>Slovenian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sme">
                <xs:annotation>
                    <xs:documentation>Northern Sami</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="smi">
                <xs:annotation>
                    <xs:documentation>Sami languages (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="smo">
                <xs:annotation>
                    <xs:documentation>Samoan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sna">
                <xs:annotation>
                    <xs:documentation>Shona</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="snd">
                <xs:annotation>
                    <xs:documentation>Sindhi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="snk">
                <xs:annotation>
                    <xs:documentation>Soninke</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sog">
                <xs:annotation>
                    <xs:documentation>Sogdian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="som">
                <xs:annotation>
                    <xs:documentation>Somali</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="son">
                <xs:annotation>
                    <xs:documentation>Songhai</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sot">
                <xs:annotation>
                    <xs:documentation>Sotho, Southern</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="spa">
                <xs:annotation>
                    <xs:documentation>Castilian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="spa">
                <xs:annotation>
                    <xs:documentation>Spanish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sqi">
                <xs:annotation>
                    <xs:documentation>Albanian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="srd">
                <xs:annotation>
                    <xs:documentation>Sardinian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="srp">
                <xs:annotation>
                    <xs:documentation>Serbian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="srr">
                <xs:annotation>
                    <xs:documentation>Serer</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ssa">
                <xs:annotation>
                    <xs:documentation>Nilo-Saharan (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ssw">
                <xs:annotation>
                    <xs:documentation>Swati</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="suk">
                <xs:annotation>
                    <xs:documentation>Sukuma</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sun">
                <xs:annotation>
                    <xs:documentation>Sundanese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sus">
                <xs:annotation>
                    <xs:documentation>Susu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sux">
                <xs:annotation>
                    <xs:documentation>Sumerian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="swa">
                <xs:annotation>
                    <xs:documentation>Swahili</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="swe">
                <xs:annotation>
                    <xs:documentation>Swedish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="syr">
                <xs:annotation>
                    <xs:documentation>Syriac</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tah">
                <xs:annotation>
                    <xs:documentation>Tahitian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tai">
                <xs:annotation>
                    <xs:documentation>Tai (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tam">
                <xs:annotation>
                    <xs:documentation>Tamil</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tat">
                <xs:annotation>
                    <xs:documentation>Tatar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tel">
                <xs:annotation>
                    <xs:documentation>Telugu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tem">
                <xs:annotation>
                    <xs:documentation>Timne</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ter">
                <xs:annotation>
                    <xs:documentation>Tereno</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tet">
                <xs:annotation>
                    <xs:documentation>Tetum</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tgk">
                <xs:annotation>
                    <xs:documentation>Tajik</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tgl">
                <xs:annotation>
                    <xs:documentation>Tagalog</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tha">
                <xs:annotation>
                    <xs:documentation>Thai</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tib">
                <xs:annotation>
                    <xs:documentation>Tibetan</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tig">
                <xs:annotation>
                    <xs:documentation>Tigre</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tir">
                <xs:annotation>
                    <xs:documentation>Tigrinya</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tiv">
                <xs:annotation>
                    <xs:documentation>Tiv</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tkl">
                <xs:annotation>
                    <xs:documentation>Tokelau</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tli">
                <xs:annotation>
                    <xs:documentation>Tlingit</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tmh">
                <xs:annotation>
                    <xs:documentation>Tamashek</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tog">
                <xs:annotation>
                    <xs:documentation>Tonga (Nyasa)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ton">
                <xs:annotation>
                    <xs:documentation>Tonga (Tonga Islands)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tpi">
                <xs:annotation>
                    <xs:documentation>Tok Pisin</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tsi">
                <xs:annotation>
                    <xs:documentation>Tsimshian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tsn">
                <xs:annotation>
                    <xs:documentation>Tswana</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tso">
                <xs:annotation>
                    <xs:documentation>Tsonga</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tuk">
                <xs:annotation>
                    <xs:documentation>Turkmen</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tum">
                <xs:annotation>
                    <xs:documentation>Tumbuka</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tur">
                <xs:annotation>
                    <xs:documentation>Turkish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tut">
                <xs:annotation>
                    <xs:documentation>Altaic (Other)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tvl">
                <xs:annotation>
                    <xs:documentation>Tuvalu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="twi">
                <xs:annotation>
                    <xs:documentation>Twi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="tyv">
                <xs:annotation>
                    <xs:documentation>Tuvinian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="uga">
                <xs:annotation>
                    <xs:documentation>Ugaritic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="uig">
                <xs:annotation>
                    <xs:documentation>Uighur</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ukr">
                <xs:annotation>
                    <xs:documentation>Ukrainian</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="umb">
                <xs:annotation>
                    <xs:documentation>Umbundu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="und">
                <xs:annotation>
                    <xs:documentation>Undetermined</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="urd">
                <xs:annotation>
                    <xs:documentation>Urdu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="uzb">
                <xs:annotation>
                    <xs:documentation>Uzbek</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vai">
                <xs:annotation>
                    <xs:documentation>Vai</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ven">
                <xs:annotation>
                    <xs:documentation>Venda</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vie">
                <xs:annotation>
                    <xs:documentation>Vietnamese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vol">
                <xs:annotation>
                    <xs:documentation>Volapük</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vot">
                <xs:annotation>
                    <xs:documentation>Votic</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wak">
                <xs:annotation>
                    <xs:documentation>Wakashan languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wal">
                <xs:annotation>
                    <xs:documentation>Walamo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="war">
                <xs:annotation>
                    <xs:documentation>Waray</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="was">
                <xs:annotation>
                    <xs:documentation>Washo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wel">
                <xs:annotation>
                    <xs:documentation>Welsh</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wen">
                <xs:annotation>
                    <xs:documentation>Sorbian languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="wol">
                <xs:annotation>
                    <xs:documentation>Wolof</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="xho">
                <xs:annotation>
                    <xs:documentation>Xhosa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="yao">
                <xs:annotation>
                    <xs:documentation>Yao</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="yap">
                <xs:annotation>
                    <xs:documentation>Yapese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="yid">
                <xs:annotation>
                    <xs:documentation>Yiddish</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="yor">
                <xs:annotation>
                    <xs:documentation>Yoruba</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ypk">
                <xs:annotation>
                    <xs:documentation>Yupik languages</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="zap">
                <xs:annotation>
                    <xs:documentation>Zapotec</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="zen">
                <xs:annotation>
                    <xs:documentation>Zenaga</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="zha">
                <xs:annotation>
                    <xs:documentation>Chuang</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="zha">
                <xs:annotation>
                    <xs:documentation>Zhuang</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="zho">
                <xs:annotation>
                    <xs:documentation>Chinese</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="znd">
                <xs:annotation>
                    <xs:documentation>Zande</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="zul">
                <xs:annotation>
                    <xs:documentation>Zulu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="zun">
                <xs:annotation>
                    <xs:documentation>Zuni</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!--
		Enumerated type for Description Type Codes attribute
	-->
    <xs:simpleType name="DescriptionTypeCode">
        <xs:union memberTypes="DescriptionTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="DescriptionTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Long"/>
            <xs:enumeration value="Short"/>
            <xs:enumeration value="Web"/>
            <xs:enumeration value="Supplier"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="DescriptionCommonData">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute default="eng" form="unqualified" name="Language" type="LanguageCode"
                    use="optional"/>
                <xs:attribute default="Short" form="unqualified" name="TypeCode"
                    type="DescriptionTypeCode"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <!--
		Enumerated type for Response Type attribute
	-->
    <xs:simpleType name="ResponseTypeCode">
        <xs:union memberTypes="ResponseTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="ResponseTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="OK"/>
            <xs:enumeration value="Rejected"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
		Severity Type Codes
	-->
    <xs:simpleType name="SeverityCodeType">
        <xs:union memberTypes="SeverityCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="SeverityCodeEnumeration">
        <xs:restriction base="xs:string">
            <xs:enumeration value="Information"/>
            <xs:enumeration value="Warning"/>
            <xs:enumeration value="Error"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="BusinessErrorCommonData">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="ErrorID" type="xs:string">
                <xs:annotation>
                    <xs:documentation>UUID identifying this particular instance of the
                        error</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" minOccurs="0" name="Code" type="xs:string"/>
            <xs:element form="qualified" minOccurs="0" name="Description"
                type="DescriptionCommonData"/>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="RelatedErrorID"
                type="xs:string"/>
        </xs:sequence>
        <xs:attribute default="Information" form="unqualified" name="Severity"
            type="SeverityCodeType" use="optional"/>
    </xs:complexType>
    <xs:complexType name="ResponseCommonData">
        <xs:sequence>
            <xs:element form="qualified" name="RequestID" type="xs:string">
                <xs:annotation>
                    <xs:documentation>This is a UUID which ties this response to the original
                        request</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" minOccurs="0" name="ResponderID" type="xs:string"/>
            <xs:element form="qualified" minOccurs="0" name="ResponseTimestamp" type="xs:dateTime"/>
            <xs:element form="qualified" minOccurs="0" name="ResponseDescription">
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="DescriptionCommonData"/>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
            <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="BusinessError">
                <xs:complexType>
                    <xs:complexContent>
                        <xs:extension base="BusinessErrorCommonData"/>
                    </xs:complexContent>
                </xs:complexType>
            </xs:element>
            <xs:element form="qualified" minOccurs="0" name="LastSuccessfulResponseID"
                type="xs:string"/>
        </xs:sequence>
        <xs:attribute default="OK" form="unqualified" name="ResponseCode" type="ResponseTypeCode"
            use="optional"/>
    </xs:complexType>
    <!-- 
		email type codes 
	-->
    <xs:simpleType name="IFSFTypeCode">
        <xs:union memberTypes="IFSFTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="IFSFTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Autosafe"/>
            <xs:enumeration value="BankNoteAcceptor"/>
            <xs:enumeration value="CarWash"/>
            <xs:enumeration value="CardHandling"/>
            <xs:enumeration value="CodeGeneratingDevice"/>
            <xs:enumeration value="COPT"/>
            <xs:enumeration value="DeliveryControl"/>
            <xs:enumeration value="Dispenser"/>
            <xs:enumeration value="EnvironmentalMonitor"/>
            <xs:enumeration value="ForecourtPinPad"/>
            <xs:enumeration value="ForecourtPrinter"/>
            <xs:enumeration value="ForecourtPricePole"/>
            <xs:enumeration value="HumanInterfaceDevice"/>
            <xs:enumeration value="LineLeakDetector"/>
            <xs:enumeration value="MagCardReader"/>
            <xs:enumeration value="TankLevelGauge"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
		Minor Release V1.1.0 - Oct 2007
		- Added ElectronicValueReaderWriter
	-->
    <xs:simpleType name="UnifiedPOSTypeCode">
        <xs:union memberTypes="UnifiedPOSTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="UnifiedPOSTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Belt"/>
            <xs:enumeration value="BillAcceptor"/>
            <xs:enumeration value="BillDispenser"/>
            <xs:enumeration value="Biometrics"/>
            <xs:enumeration value="BumpBar"/>
            <xs:enumeration value="CashChanger"/>
            <xs:enumeration value="CashDrawer"/>
            <xs:enumeration value="CAT"/>
            <xs:enumeration value="CheckScanner"/>
            <xs:enumeration value="CoinAcceptor"/>
            <xs:enumeration value="CoinDispenser"/>
            <xs:enumeration value="ElectronicJournal"/>
            <xs:enumeration value="ElectronicValueReaderWriter"/>
            <xs:enumeration value="FiscalPrinter"/>
            <xs:enumeration value="Gate"/>
            <xs:enumeration value="HardTotals"/>
            <xs:enumeration value="ImageScanner"/>
            <xs:enumeration value="ItemDispenser"/>
            <xs:enumeration value="Keylock"/>
            <xs:enumeration value="Light"/>
            <xs:enumeration value="LineDisplay"/>
            <xs:enumeration value="MagneticStripeReader"/>
            <xs:enumeration value="MICR"/>
            <xs:enumeration value="MotionSensor"/>
            <xs:enumeration value="PinPad"/>
            <xs:enumeration value="PointcardReaderWriter"/>
            <xs:enumeration value="POSKeyboard"/>
            <xs:enumeration value="POSPower"/>
            <xs:enumeration value="POSPrinter"/>
            <xs:enumeration value="RemoteOrderDisplay"/>
            <xs:enumeration value="RFIDScanner"/>
            <xs:enumeration value="Scale"/>
            <xs:enumeration value="Scanner"/>
            <xs:enumeration value="SignatureCapture"/>
            <xs:enumeration value="SmartCardReader"/>
            <xs:enumeration value="ToneIndicator"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NAFEMTypeCode">
        <xs:union memberTypes="NAFEMTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="NAFEMTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Dispensing"/>
            <xs:enumeration value="FoodPreparation"/>
            <xs:enumeration value="FrozenDessertsBeverages"/>
            <xs:enumeration value="FrozenDessertsSteamers"/>
            <xs:enumeration value="GriddlesGrills"/>
            <xs:enumeration value="HoldingCabinets"/>
            <xs:enumeration value="HotBeverages"/>
            <xs:enumeration value="HVAC"/>
            <xs:enumeration value="IceEquipment"/>
            <xs:enumeration value="Measurement"/>
            <xs:enumeration value="Ovens"/>
            <xs:enumeration value="Refrigeration"/>
            <xs:enumeration value="SecuritySystem"/>
            <xs:enumeration value="TemperatureFryer"/>
            <xs:enumeration value="Timers"/>
            <xs:enumeration value="Toasters"/>
            <xs:enumeration value="Ventilation"/>
            <xs:enumeration value="WareWashing"/>
            <xs:enumeration value="WasteSystems"/>
            <xs:enumeration value="Weighing"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
		email type codes 
	-->
    <xs:simpleType name="LonMarkTypeCode">
        <xs:union memberTypes="LonMarkTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="LonMarkTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Industrial"/>
            <xs:enumeration value="EnergyManagement"/>
            <xs:enumeration value="HVAC"/>
            <xs:enumeration value="Lighting"/>
            <xs:enumeration value="Refrigeration"/>
            <xs:enumeration value="Sensors"/>
            <xs:enumeration value="MotorControls"/>
            <xs:enumeration value="InputOutput"/>
            <xs:enumeration value="AccessIntrusionMonitoring"/>
            <xs:enumeration value="FireAndSmoke"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
		email type codes 
	-->
    <xs:simpleType name="IETFTypeCode">
        <xs:union memberTypes="IETFTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="IETFTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="UPS"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
		email type codes 
	-->
    <xs:simpleType name="REMTypeCode">
        <xs:union memberTypes="REMTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="REMTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Heartbeat"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="SensorIDType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute form="unqualified" name="REM" type="REMTypeCode"/>
                <xs:attribute form="unqualified" name="UnifiedPOS"
                    type="UnifiedPOSTypeCodeEnumeration"/>
                <xs:attribute form="unqualified" name="IFSF" type="IFSFTypeCode"/>
                <xs:attribute form="unqualified" name="IETF" type="IETFTypeCode"/>
                <xs:attribute form="unqualified" name="NAFEM" type="NAFEMTypeCode"/>
                <xs:attribute form="unqualified" name="LonMark" type="LonMarkTypeCode"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="UnifiedPOSHeaderCommonData">
        <xs:sequence>
            <xs:element form="qualified" minOccurs="0" name="RequestID" type="RequestIDCommonData"/>
            <xs:element form="qualified" minOccurs="0" name="LogicalDeviceName" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <!--
	- Version 1.1 10/03/2008
	- Added mode to track which mode the workstation was in during the transaction
-->
    <xs:complexType name="WorkstationIDCommonData">
        <xs:annotation>
            <xs:documentation>The unique identifier for the WORKSTATION, typically the serial
                number.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute form="unqualified" name="Mode" type="WorkstationIDMode">
                    <xs:annotation>
                        <xs:documentation>Describes the mode this Worskstation was in when it made
                            the purchase..</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:simpleType name="WorkstationIDMode">
        <xs:union memberTypes="WorkstationIDModeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="WorkstationIDModeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Retail"/>
            <xs:enumeration value="Restaurant"/>
            <xs:enumeration value="Foodcounter"/>
            <xs:enumeration value="Forecourt"/>
            <xs:enumeration value="Bar"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="ARTSCommonHeader" type="ARTSCommonHeaderType">
        <xs:annotation>
            <xs:documentation>The common header for use in the Flattened Service
                Schemat</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="ARTSCommonHeaderType">
        <xs:complexContent>
            <xs:extension base="UnifiedPOSHeaderCommonData">
                <xs:sequence>
                    <xs:element form="qualified" minOccurs="0" name="MessageID"
                        type="RequestIDCommonData"/>
                    <xs:element form="qualified" minOccurs="0" name="DateTime"
                        type="DateTimeCommonData"/>
                    <xs:element form="qualified" minOccurs="0" name="Description" type="xs:string"/>
                    <xs:element form="qualified" minOccurs="0" name="Response"
                        type="ResponseCommonData"/>
                    <xs:element form="qualified" minOccurs="0" name="Requestor" type="xs:string"/>
                    <xs:choice minOccurs="0">
                        <xs:element form="qualified" name="SourceURI" type="xs:string"/>
                        <xs:element form="qualified" name="SensorID" type="SensorIDType"/>
                    </xs:choice>
                    <xs:element form="qualified" minOccurs="0" name="BusinessUnit"
                        type="BusinessUnitCommonData"/>
                    <xs:element form="qualified" minOccurs="0" name="OrganizationalHierarchy"
                        type="OrganizationHierarchyCommonData"/>
                    <xs:element form="qualified" minOccurs="0" name="WorkstationID"
                        type="WorkstationIDCommonData"/>
                    <xs:element form="qualified" minOccurs="0" name="TillID" type="xs:string"/>
                </xs:sequence>
                <xs:attribute form="unqualified" name="ActionCode" type="ActionCommonDataTypeCodes"/>
                <xs:attribute form="unqualified" name="MessageType" type="MessageTypeCode"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:group name="MICRPropertiesGroup">
        <xs:choice>
            <xs:element form="qualified" name="AccountNumber" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds the account number parsed from the most recently read
                        MICR data.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Amount" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds the amount field parsed from the most recently read MICR
                        data.The amount field on a check consists of ten digits bordered by Amount
                        symbols. All non space digits will be represented in the test string
                        including leading 0’s. If the amount is not present, the string will be
                        empty (“”).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="BankNumber" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds the bank number portion of the transit field parsed from
                        the most recently read MICR data. The bank number is contained in digits 5
                        through 8 of the transit field. If the bank number or transit field is not
                        present or successfully identified, the string will be empty
                        (“”).</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapValidationDevice" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the device also performs validation printing via the
                        POS Printer’s slip station, and a check does not have to be removed from the
                        MICR device prior to performing validation printing.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CheckType" nillable="true" type="CheckTypeCode">
                <xs:annotation>
                    <xs:documentation>Holds the type of check parsed from the most recently read
                        MICR data.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CountryCode" nillable="true" type="CountryTypeCode">
                <xs:annotation>
                    <xs:documentation>Holds the country of origin of the check parsed from the most
                        recently read MICR data.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="EPC" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds the Extended Processing Code (“EPC”) field parsed from
                        the most recently read MICR data.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="RawData" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds the MICR data from the most recent MICR
                        read.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="SerialNumber" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds the serial number of the check parsed from the most
                        recently read MICR data.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="TransitNumber" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds the transit field of the check parsed from the most
                        recently read MICR data. It consists of all the characters read between the
                        ‘Transit’ symbols on the check. It is a nine character
                        string.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:group>
    <xs:simpleType name="CheckTypeCode">
        <xs:union memberTypes="CheckTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="CheckTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="MICR_CT_PERSONAL">
                <xs:annotation>
                    <xs:documentation>The check is a personal check.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CT_BUSINESS">
                <xs:annotation>
                    <xs:documentation>The check is a business or commercial
                        check.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CT_UNKNOWN">
                <xs:annotation>
                    <xs:documentation>Unknown type of check.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CountryTypeCode">
        <xs:union memberTypes="CountryTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="CountryTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="MICR_CC_USA">
                <xs:annotation>
                    <xs:documentation>The check is from America.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_AUSTRALIA">
                <xs:annotation>
                    <xs:documentation>The check is from Australia.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_CANADA">
                <xs:annotation>
                    <xs:documentation>The check is from Canada.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_COLOMBIA">
                <xs:annotation>
                    <xs:documentation>The check is from Colombia.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_FRANCE">
                <xs:annotation>
                    <xs:documentation>The check is from France.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_INDIA">
                <xs:annotation>
                    <xs:documentation>The check is from India.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_ISRAEL">
                <xs:annotation>
                    <xs:documentation>The check is from Israel.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_MEXICO">
                <xs:annotation>
                    <xs:documentation>The check is from Mexico.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_JAPAN">
                <xs:annotation>
                    <xs:documentation>The check is from Japan.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_SPAIN">
                <xs:annotation>
                    <xs:documentation>The check is from Spain.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_TURKEY">
                <xs:annotation>
                    <xs:documentation>The check is from Turkey.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_UK">
                <xs:annotation>
                    <xs:documentation>The check is from United Kingdom.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MICR_CC_CMC7"/>
            <xs:enumeration value="MICR_CC_OTHER"/>
            <xs:enumeration value="MICR_CC_UNKNOWN">
                <xs:annotation>
                    <xs:documentation>Check origination is unknown.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:group name="XMLPOSCommonPropertiesGroup">
        <xs:choice>
            <xs:element default="false" form="qualified" name="AutoDisable" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>if true, the UnifiedPOS Service will set DeviceEnabled to
                        false after it receives and enqueus data as a DataEvent.  Before any
                        additional input can be received, the application must be set DeviceEnabled
                        to true.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapCompareFirmwareVersion" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, then the service/device supports comparing the
                        version of the firmware in the physical device against that of a firmware
                        file.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapPowerReporting" type="CapPowerReportingTypeCode">
                <xs:annotation>
                    <xs:documentation>Identifies the reporting capabilities of the
                        device</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapStatisticsReporting" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the device accumulates and can provide various
                        statistics regarding usage; otherwise no usage statistics are
                        accumulated.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapUpdateFirmware" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, then the device's firmware can be updated via the
                        UpdateFirmware method.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapUpdateStatistics" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>if true, the device statistics, or some of the statistics, can
                        be reset to zero using the ResetStatistics method, or updated using the
                        UpdateStatistics method.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CheckHealthText" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds the results of the most recent call to the CheckHealth
                        method.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element default="false" form="qualified" name="Claimed" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the device is claimed for exclusive access.  If
                        false, the device is released for sharing with other
                        applications.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element default="0" form="qualified" name="DataCount" nillable="true" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Holds the number of enqueued Data Events.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element default="false" form="qualified" name="DataEventEnabled" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, a Data Event will be delivered as soon as input data
                        is enqueued.  If changed to true and some input data is already queued, then
                        a Data Event is delivered immediately.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DeviceControlDescription" nillable="true"
                type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds an identifier for the UnifiedPOS Control and the company
                        that produced it.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DeviceControlVersion" nillable="true" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Holds the UnifiedPOS Control version number</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element default="false" form="qualified" name="DeviceEnabled" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the device is in an operational state.  If changed to
                        true, then the device is bought to an operational state.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DeviceServiceDescription" nillable="true"
                type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds an identifier for the UnifiedPOS Service and the company
                        that produced it.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DeviceServiceVersion" nillable="true" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Holds the UnifiedPOS Service version number</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element default="false" form="qualified" name="FreezeEvents" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the UnifiedPOS control will not deliver events.
                        Events will be enqueued until this property is set to
                        false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="OutputID" nillable="true" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Identifier of the most recently started asynchronous
                        output</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="PhysicalDeviceDescription" nillable="true"
                type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds an identifier for the physical device</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="PhysicalDeviceName" nillable="true" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Holds a short name identifying the physical
                        device.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element default="PN_DISABLED" form="qualified" name="PowerNotify"
                type="PowerNotifyTypeCode">
                <xs:annotation>
                    <xs:documentation>Contains the type of power notification selection made by the
                        application.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element default="PS_UNKNOWN" form="qualified" name="PowerState"
                type="PowerStateTypeCode">
                <xs:annotation>
                    <xs:documentation>Identifies the current power condition of the device, if it
                        can be determined</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="State" type="StateTypeCode">
                <xs:annotation>
                    <xs:documentation>Holds the current state of the device</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:group>
    <!--
		Enumerated type for CapPowerReporting Type attribute
	-->
    <xs:simpleType name="CapPowerReportingTypeCode">
        <xs:union memberTypes="CapPowerReportingTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="CapPowerReportingTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="PR_NONE"/>
            <xs:enumeration value="PR_STANDARD"/>
            <xs:enumeration value="PR_ADVANCED"/>
        </xs:restriction>
    </xs:simpleType>
    <!--
		Enumerated type for PowerNotify Type attribute
	-->
    <xs:simpleType name="PowerNotifyTypeCode">
        <xs:union memberTypes="PowerNotifyTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="PowerNotifyTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="PN_DISABLED"/>
            <xs:enumeration value="PN_ENABLED"/>
        </xs:restriction>
    </xs:simpleType>
    <!--
		Enumerated type for PowerState Type attribute
	-->
    <xs:simpleType name="PowerStateTypeCode">
        <xs:union memberTypes="PowerStateTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="PowerStateTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="PS_UNKNOWN"/>
            <xs:enumeration value="PS_ONLINE"/>
            <xs:enumeration value="PS_OFF"/>
            <xs:enumeration value="PS_OFFLINE"/>
            <xs:enumeration value="PS_OFF_OFFLINE"/>
        </xs:restriction>
    </xs:simpleType>
    <!--
		Enumerated type for State Type attribute
	-->
    <xs:simpleType name="StateTypeCode">
        <xs:union memberTypes="StateTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="StateTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="S_CLOSED"/>
            <xs:enumeration value="S_IDLE"/>
            <xs:enumeration value="S_BUSY"/>
            <xs:enumeration value="S_ERROR"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="MICRPropertiesType">
        <xs:choice maxOccurs="unbounded" minOccurs="0">
            <xs:group ref="XMLPOSCommonPropertiesGroup"/>
            <xs:group ref="MICRPropertiesGroup"/>
        </xs:choice>
    </xs:complexType>
    <xs:group name="MICRMethodsGroup">
        <xs:choice>
            <xs:element form="qualified" name="BeginInsertion" type="BeginInsertionType">
                <xs:annotation>
                    <xs:documentation>Initiates check insertion processing.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="BeginRemoval" type="BeginRemovalType">
                <xs:annotation>
                    <xs:documentation>Initiates check removal processing.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="EndInsertion">
                <xs:annotation>
                    <xs:documentation>Ends check insertion processing.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="EndRemoval">
                <xs:annotation>
                    <xs:documentation>Ends check removal processing.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:group>
    <xs:complexType name="BeginInsertionType">
        <xs:annotation>
            <xs:documentation>Initiates check insertion processing.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>the number of milliseconds before failing the
                        method.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="BeginRemovalType">
        <xs:annotation>
            <xs:documentation>Initiates check removal processing.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>the number of milliseconds before failing the
                        method.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- Local WSDL Root Element Names -->
    <xs:element name="BeginInsertion" type="BeginInsertionType">
        <xs:annotation>
            <xs:documentation>Initiates check insertion processing.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="BeginRemoval" type="BeginRemovalType">
        <xs:annotation>
            <xs:documentation>Initiates check removal processing.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="EndInsertion">
        <xs:annotation>
            <xs:documentation>Ends check insertion processing.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="EndRemoval">
        <xs:annotation>
            <xs:documentation>Ends check removal processing.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="CheckHealthCommonData">
        <xs:annotation>
            <xs:documentation>Tests the state of a device</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element default="CH_INTERNAL" form="qualified" name="Level"
                type="CheckHealthLevelTypeCode">
                <xs:annotation>
                    <xs:documentation>Indicates the type of health check to be performed on the
                        device.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- Enumerations  -->
    <xs:simpleType name="CheckHealthLevelTypeCode">
        <xs:union memberTypes="CheckHealthLevelTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="CheckHealthLevelTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="CH_INTERNAL"/>
            <xs:enumeration value="CH_EXTERNAL"/>
            <xs:enumeration value="CH_INTERACTIVE"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="ClaimCommonData">
        <xs:annotation>
            <xs:documentation>Requests exclusive access to the device</xs:documentation>
        </xs:annotation>
        <xs:attribute form="unqualified" name="Timeout" type="xs:int" use="required">
            <xs:annotation>
                <xs:documentation>gives the maximum number of milliseconds to wait for exclusive
                    access to be satisfied.  If zero then either return immediately or throws
                    exception immediately</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:simpleType name="UnifiedPOSCompareFirmwareVersionTypeCode">
        <xs:union
            memberTypes="UnifiedPOSCompareFirmwareVersionTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="UnifiedPOSCompareFirmwareVersionTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="CFV_FIRMWARE_OLDER"/>
            <xs:enumeration value="CFV_FIRMWARE_SAME"/>
            <xs:enumeration value="CFV_FIRMWARE_NEWER"/>
            <xs:enumeration value="CFV_FIRMWARE_DIFFERENT"/>
            <xs:enumeration value="CFV_FIRMWARE_UNKNOWN"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="CompareFirmwareVersionCommonData">
        <xs:attribute form="unqualified" name="FirmwareFileName" use="required">
            <xs:annotation>
                <xs:documentation>Specifies either the name of the file containing the firmware or a
                    file containing a set of firmware files whose versions are to be compared
                    against those of the device.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
        <xs:attribute form="unqualified" name="Result"
            type="UnifiedPOSCompareFirmwareVersionTypeCode" use="required">
            <xs:annotation>
                <xs:documentation>Reports the result of the comparison</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="DirectIOCommonData">
        <xs:sequence>
            <xs:element form="qualified" name="Command" type="xs:int">
                <xs:annotation>
                    <xs:documentation>command numbers whose specific values are assigned by the
                        UnifiedPOS Service</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" maxOccurs="unbounded" name="Data" type="xs:int">
                <xs:annotation>
                    <xs:documentation>An array of one modifiable integer whose specific values or
                        usage vary by command and UnifiedPOS Service</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" minOccurs="0" name="Object">
                <xs:annotation>
                    <xs:documentation>Additional Data whose usage varies by command and UnifiedPOS
                        service</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:any maxOccurs="unbounded" namespace="##other" processContents="lax"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="OpenCommonData">
        <xs:attribute form="unqualified" name="LogicalDeviceName" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation>Specifies the device name to open</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="ResetStatisticsCommonData">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="Statistic" type="xs:string">
                <xs:annotation>
                    <xs:documentation>list of name(s), where an empty string means all resettable
                        statistics are to be reset, "M_" means all manufacturer defined resettable
                        statistics are to be reset, and "Acutal_Name1, Actual_Name2" means the
                        specifically defined resettable statistic(s) are to be
                        reset.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RetrieveStatisticsCommonData">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="Statistic">
                <xs:annotation>
                    <xs:documentation>This is a list of name(s), where an empty string (“”) means
                        ALL statistics are to be retrieved, “U_” means all UnifiedPOS defined
                        statistics are to be retrieved, “M_” means all manufacturer defined
                        statistics are to be retrieved, and “actual_name1, actual_name2” (from the
                        XML file definitions) means that the specifically defined statistic(s) are
                        to be retrieved.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="UnifiedPOSErrorTypeCode">
        <xs:union memberTypes="UnifiedPOSErrorTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="UnifiedPOSErrorTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="E_BUSY">
                <xs:annotation>
                    <xs:documentation>The current Service state does not allow this request. For
                        example, if asynchronous output is in progress, certain methods may not be
                        allowed.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_CLAIMED">
                <xs:annotation>
                    <xs:documentation>An attempt was made to access a Physical Device that is
                        claimed by another Control instance. The other Control must release the
                        Physical Device before this access may be made. For exclusive-use devices,
                        the application will also need to claim the Physical Device before the
                        access is legal.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_CLOSED">
                <xs:annotation>
                    <xs:documentation>An attempt was made to access a closed
                        Device.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_DEPRECATED">
                <xs:annotation>
                    <xs:documentation>The requested operation can not be performed since it has been
                        deprecated.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_DISABLED">
                <xs:annotation>
                    <xs:documentation>Cannot perform this operation while the Device is
                        disabled.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_EXISTS">
                <xs:annotation>
                    <xs:documentation>The file name (or other specified value) already
                        exists.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_FAILURE">
                <xs:annotation>
                    <xs:documentation>The Device cannot perform the requested procedure, even though
                        the Physical Device is connected to the system, powered on, and
                        on-line</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_ILLEGAL">
                <xs:annotation>
                    <xs:documentation>An attempt was made to perform an illegal or unsupported
                        operation with the Device, or an invalid parameter value was
                        used.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_NOEXIST">
                <xs:annotation>
                    <xs:documentation>The file name (or other specified value) does not
                        exist.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_NOHARDWARE">
                <xs:annotation>
                    <xs:documentation>The Physical Device is not connected to the system or is not
                        powered on.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_NOSERVICE">
                <xs:annotation>
                    <xs:documentation>The Control cannot communicate with the Service, normally
                        because of a setup or configuration error.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_NOTCLAIMED">
                <xs:annotation>
                    <xs:documentation>An attempt was made to access an exclusive-use device that
                        must be claimed before the method or property set action can be used. If the
                        Physical Device is already claimed by another Control instance, then the
                        status E_CLAIMED is returned instead.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_OFFLINE">
                <xs:annotation>
                    <xs:documentation>The Physical Device is off-line.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_TIMEOUT">
                <xs:annotation>
                    <xs:documentation>The Service timed out waiting for a response from the Physical
                        Device, or the Control timed out waiting for a response from the
                        Service.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="E_EXTENDED">
                <xs:annotation>
                    <xs:documentation>A device category-specific error condition occurred. The error
                        condition code is held in an extended error code.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="ErrorCommonData">
        <xs:attribute form="unqualified" name="TypeCode" type="UnifiedPOSErrorTypeCode"/>
    </xs:complexType>
    <xs:complexType name="UpdateFirmwareCommonData">
        <xs:attribute form="unqualified" name="FirmwareFileName" type="xs:string" use="required">
            <xs:annotation>
                <xs:documentation>This method updates the firmware of a device with the version of
                    the firmware contained or defined in the file specified by the firmwareFileName
                    parameter regardless of whether that firmware’s version is newer than, older
                    than, or the same as the version of the firmware already in the device. If the
                    firmwareFileName parameter specifies a file list, all of the component firmware
                    files should reside in the same directory as the firmware list file. This will
                    allow for distribution of the updated firmware without requiring a modification
                    to the firmware list file.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="UpdateStatisticsCommonData">
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="Statistic">
                <xs:annotation>
                    <xs:documentation>This is a list of name-value pair(s), where an empty string
                        name (““”=value1”) means ALL resettable statistics are to be set to the
                        value “value1”, “U_=value2” means all UnifiedPOS defined resettable
                        statistics are to be set to the value “value2”, “M_=value3” means all
                        manufacturer defined resettable statistics are to be set to the value
                        “value3”, and “actual_name1=value4, actual_name2=value5” (from the XML file
                        definitions) means that the specifically defined resettable statistic(s) are
                        to be set to the specified value(s).</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:group name="XMLPOSCommonMethodsGroup">
        <xs:choice>
            <xs:element form="qualified" name="CheckHealth" type="CheckHealthCommonData">
                <xs:annotation>
                    <xs:documentation>Tests the state of a device</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Claim" type="ClaimCommonData">
                <xs:annotation>
                    <xs:documentation>Requests exclusive access to the device</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ClearInput">
                <xs:annotation>
                    <xs:documentation>Clears all device input that has been
                        buffered</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ClearInputProperties">
                <xs:annotation>
                    <xs:documentation>Set all data properties that were populated as a result of
                        firing a DataEvent or ErrorEvent back to their default values.  Does not
                        reset the DataCount or State properties</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ClearOutput">
                <xs:annotation>
                    <xs:documentation>Clears all buffered output data, including all asynchronous
                        output.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Close">
                <xs:annotation>
                    <xs:documentation>Releases the device and its resources</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CompareFirmwareVersion"
                type="CompareFirmwareVersionCommonData">
                <xs:annotation>
                    <xs:documentation>determines whether the version of the firmware contained in
                        the specified file is newer than, older than or the same as the version of
                        the firmware in the physical device</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DirectIO" type="DirectIOCommonData">
                <xs:annotation>
                    <xs:documentation>Communicates directly with the UnifiedPOS
                        Service.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Error" type="ErrorCommonData">
                <xs:annotation>
                    <xs:documentation>reports errors that are "invalid or bad invocations" or errors
                        that are caused by errant device behavior</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Open" type="OpenCommonData">
                <xs:annotation>
                    <xs:documentation>Opens a device for subsequent I/O</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Release">
                <xs:annotation>
                    <xs:documentation>Releases exclusive access to the device</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ResetStatistics" type="ResetStatisticsCommonData">
                <xs:annotation>
                    <xs:documentation>Resets the defined resettable statistics in a device to
                        zero</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="RetrieveStatistics"
                type="RetrieveStatisticsCommonData">
                <xs:annotation>
                    <xs:documentation>Retrieves the requested statistics from a
                        device</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="UpdateFirmware" type="UpdateFirmwareCommonData">
                <xs:annotation>
                    <xs:documentation>Updates the firmware of a device with the version of the
                        firmware contained or defined in the file specified by the FirmwareFileName
                        parameter regardless of whether that firmware's version is newer than, order
                        than or same as the version of the firmware already in the
                        device.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="UpdateStatistics" type="UpdateStatisticsCommonData">
                <xs:annotation>
                    <xs:documentation>Updates the defined resettable statistics in a
                        device.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:group>
    <xs:complexType name="MICRBase">
        <xs:choice maxOccurs="unbounded" minOccurs="0">
            <xs:element form="qualified" name="GetProperty" type="MICRPropertiesType"/>
            <xs:element form="qualified" name="SetProperty" type="MICRPropertiesType"/>
            <xs:group ref="XMLPOSCommonMethodsGroup"/>
            <xs:group ref="MICRMethodsGroup"/>
        </xs:choice>
    </xs:complexType>
    <!--Common WSDL Root Element Names-->
    <xs:element name="GetProperty" type="MICRPropertiesType"/>
    <xs:element name="SetProperty" type="MICRPropertiesType"/>
    <xs:element name="CheckHealth" type="CheckHealthCommonData">
        <xs:annotation>
            <xs:documentation>Tests the state of a device</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="Claim" type="ClaimCommonData">
        <xs:annotation>
            <xs:documentation>Requests exclusive access to the device</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="ClearInput">
        <xs:annotation>
            <xs:documentation>Clears all device input that has been buffered</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="ClearInputProperties">
        <xs:annotation>
            <xs:documentation>Set all data properties that were populated as a result of firing a
                DataEvent or ErrorEvent back to their default values.  Does not reset the DataCount
                or State properties</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="ClearOutput">
        <xs:annotation>
            <xs:documentation>Clears all buffered output data, including all asynchronous
                output.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="Close">
        <xs:annotation>
            <xs:documentation>Releases the device and its resources</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="CompareFirmwareVersion" type="CompareFirmwareVersionCommonData">
        <xs:annotation>
            <xs:documentation>determines whether the version of the firmware contained in the
                specified file is newer than, older than or the same as the version of the firmware
                in the physical device</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="DirectIO" type="DirectIOCommonData">
        <xs:annotation>
            <xs:documentation>Communicates directly with the UnifiedPOS Service.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="Error" type="ErrorCommonData">
        <xs:annotation>
            <xs:documentation>reports errors that are "invalid or bad invocations" or errors that
                are caused by errant device behavior</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="Open" type="OpenCommonData">
        <xs:annotation>
            <xs:documentation>Opens a device for subsequent I/O</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="Release">
        <xs:annotation>
            <xs:documentation>Releases exclusive access to the device</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="ResetStatistics" type="ResetStatisticsCommonData">
        <xs:annotation>
            <xs:documentation>Resets the defined resettable statistics in a device to
                zero</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="RetrieveStatistics" type="RetrieveStatisticsCommonData">
        <xs:annotation>
            <xs:documentation>Retrieves the requested statistics from a device</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="UpdateFirmware" type="UpdateFirmwareCommonData">
        <xs:annotation>
            <xs:documentation>Updates the firmware of a device with the version of the firmware
                contained or defined in the file specified by the FirmwareFileName parameter
                regardless of whether that firmware's version is newer than, order than or same as
                the version of the firmware already in the device.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="UpdateStatistics" type="UpdateStatisticsCommonData">
        <xs:annotation>
            <xs:documentation>Updates the defined resettable statistics in a
                device.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="MICR">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ARTSHeader" type="ARTSCommonHeaderType"/>
                <xs:element name="MICRBody" type="MICRBase"/>
            </xs:sequence>
            <xs:attribute fixed="1" name="MajorVersion" use="required"/>
            <xs:attribute fixed="15" name="MinorVersion"/>
            <xs:attribute fixed="1" name="FixVersion"/>
        </xs:complexType>
    </xs:element>
</xs:schema>
