<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Richard L Halter (private) -->
<!-- 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/ElectronicValueRW/"
    xmlns="http://www.nrf-arts.org/UnifiedPOS/ElectronicValueRW/"
    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:simpleType name="DecimalCommonData">
        <xs:restriction base="xs:decimal">
            <xs:maxInclusive value="99999999.999999"/>
            <xs:minInclusive value="0.000000"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CurrencyTypeCode">
        <xs:union memberTypes="CurrencyTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="CurrencyTypeCodeEnumeration">
        <xs:annotation>
            <xs:documentation>enum: ISO-4217 / UN/ECE REC 09 Codes</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="ADP">
                <xs:annotation>
                    <xs:documentation>Andorran Peseta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AED">
                <xs:annotation>
                    <xs:documentation>UAE Dirham</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AFA">
                <xs:annotation>
                    <xs:documentation>Afghani</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ALL">
                <xs:annotation>
                    <xs:documentation>Leck</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AMD">
                <xs:annotation>
                    <xs:documentation>Armenian Dram</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ANG">
                <xs:annotation>
                    <xs:documentation>Netherlands Antillan Guilder</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AOA">
                <xs:annotation>
                    <xs:documentation>Kwanza</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ARS">
                <xs:annotation>
                    <xs:documentation>Argentine Peso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ATS">
                <xs:annotation>
                    <xs:documentation>Schilling</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AUD">
                <xs:annotation>
                    <xs:documentation>Australian Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AWG">
                <xs:annotation>
                    <xs:documentation>Aruban Guilder</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AZM">
                <xs:annotation>
                    <xs:documentation>Azerbaijanian Manat</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BAM">
                <xs:annotation>
                    <xs:documentation>Convertible Marks</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BBD">
                <xs:annotation>
                    <xs:documentation>Barbados Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BDT">
                <xs:annotation>
                    <xs:documentation>Taka</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BEF">
                <xs:annotation>
                    <xs:documentation>Belgian Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BGL">
                <xs:annotation>
                    <xs:documentation>Lev</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BGN">
                <xs:annotation>
                    <xs:documentation>Bulgarian Lev</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BHD">
                <xs:annotation>
                    <xs:documentation>Bahraini Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BIF">
                <xs:annotation>
                    <xs:documentation>Burundi Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BMD">
                <xs:annotation>
                    <xs:documentation>Bermudian Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BND">
                <xs:annotation>
                    <xs:documentation>Brunei Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BOB">
                <xs:annotation>
                    <xs:documentation>Boliviano</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BOV">
                <xs:annotation>
                    <xs:documentation>Mvdol</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BRL">
                <xs:annotation>
                    <xs:documentation>Brazilian Real</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BSD">
                <xs:annotation>
                    <xs:documentation>Bahamian Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BTN">
                <xs:annotation>
                    <xs:documentation>Ngultrum</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BWP">
                <xs:annotation>
                    <xs:documentation>Pula</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BYR">
                <xs:annotation>
                    <xs:documentation>Belarussian Ruble</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BZD">
                <xs:annotation>
                    <xs:documentation>Belize Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CAD">
                <xs:annotation>
                    <xs:documentation>Canadian Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CDF">
                <xs:annotation>
                    <xs:documentation>Franc Congolais</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CHF">
                <xs:annotation>
                    <xs:documentation>Swiss Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CLF">
                <xs:annotation>
                    <xs:documentation>Unidades de fomento</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CLP">
                <xs:annotation>
                    <xs:documentation>Chilean Peso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CNY">
                <xs:annotation>
                    <xs:documentation>Yuan Renminbi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="COP">
                <xs:annotation>
                    <xs:documentation>Colombian Peso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CRC">
                <xs:annotation>
                    <xs:documentation>Costa Rican Colon</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CUP">
                <xs:annotation>
                    <xs:documentation>Cuban Peso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CVE">
                <xs:annotation>
                    <xs:documentation>Cape Verde Escudo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CYP">
                <xs:annotation>
                    <xs:documentation>Cyprus Pound</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CZK">
                <xs:annotation>
                    <xs:documentation>Czech Koruna</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DEM">
                <xs:annotation>
                    <xs:documentation>Deutsche Mark</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DJF">
                <xs:annotation>
                    <xs:documentation>Djibouti Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DKK">
                <xs:annotation>
                    <xs:documentation>Danish Krone</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DOP">
                <xs:annotation>
                    <xs:documentation>Dominican Peso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="DZD">
                <xs:annotation>
                    <xs:documentation>Algerian Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ECS">
                <xs:annotation>
                    <xs:documentation>Sucre</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ECV">
                <xs:annotation>
                    <xs:documentation>Unidad de Valor Constante (UVC)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EEK">
                <xs:annotation>
                    <xs:documentation>Kroon</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EGP">
                <xs:annotation>
                    <xs:documentation>Egyptian Pound</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ERN">
                <xs:annotation>
                    <xs:documentation>Nakfa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ESP">
                <xs:annotation>
                    <xs:documentation>Spanish Peseta</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ETB">
                <xs:annotation>
                    <xs:documentation>Ethiopian Birr</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EUR">
                <xs:annotation>
                    <xs:documentation>euro</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FIM">
                <xs:annotation>
                    <xs:documentation>Markka</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FJD">
                <xs:annotation>
                    <xs:documentation>Fiji Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FKP">
                <xs:annotation>
                    <xs:documentation>Falkland Islands Pound</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FRF">
                <xs:annotation>
                    <xs:documentation>French Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GBP">
                <xs:annotation>
                    <xs:documentation>Pound Sterling</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GEL">
                <xs:annotation>
                    <xs:documentation>Lari</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GHC">
                <xs:annotation>
                    <xs:documentation>Cedi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GIP">
                <xs:annotation>
                    <xs:documentation>Gibraltar Pound</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GMD">
                <xs:annotation>
                    <xs:documentation>Dalasi</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GNF">
                <xs:annotation>
                    <xs:documentation>Guinea Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GRD">
                <xs:annotation>
                    <xs:documentation>Drachma</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GTQ">
                <xs:annotation>
                    <xs:documentation>Quetzal</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GWP">
                <xs:annotation>
                    <xs:documentation>Guinea-Bissau Peso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="GYD">
                <xs:annotation>
                    <xs:documentation>Guyana Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HKD">
                <xs:annotation>
                    <xs:documentation>Hong Kong Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HNL">
                <xs:annotation>
                    <xs:documentation>Lempira</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HRK">
                <xs:annotation>
                    <xs:documentation>Croatian kuna</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HTG">
                <xs:annotation>
                    <xs:documentation>Gourde</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HUF">
                <xs:annotation>
                    <xs:documentation>Forint</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IDR">
                <xs:annotation>
                    <xs:documentation>Rupiah</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IEP">
                <xs:annotation>
                    <xs:documentation>Irish Pound</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ILS">
                <xs:annotation>
                    <xs:documentation>New Israeli Sheqel</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="INR">
                <xs:annotation>
                    <xs:documentation>Indian Rupee</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IQD">
                <xs:annotation>
                    <xs:documentation>Iraqi Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IRR">
                <xs:annotation>
                    <xs:documentation>Iranian Rial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ISK">
                <xs:annotation>
                    <xs:documentation>Iceland Krona</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ITL">
                <xs:annotation>
                    <xs:documentation>Italian Lira</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="JMD">
                <xs:annotation>
                    <xs:documentation>Jamaican Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="JOD">
                <xs:annotation>
                    <xs:documentation>Jordanian Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="JPY">
                <xs:annotation>
                    <xs:documentation>Yen</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KES">
                <xs:annotation>
                    <xs:documentation>Kenyan Shilling</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KGS">
                <xs:annotation>
                    <xs:documentation>Som</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KHR">
                <xs:annotation>
                    <xs:documentation>Riel</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KMF">
                <xs:annotation>
                    <xs:documentation>Comoro Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KPW">
                <xs:annotation>
                    <xs:documentation>North Korean Won</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KRW">
                <xs:annotation>
                    <xs:documentation>Won</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KWD">
                <xs:annotation>
                    <xs:documentation>Kuwaiti Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KYD">
                <xs:annotation>
                    <xs:documentation>Cayman Islands Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="KZT">
                <xs:annotation>
                    <xs:documentation>Tenge</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LAK">
                <xs:annotation>
                    <xs:documentation>Kip</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LBP">
                <xs:annotation>
                    <xs:documentation>Lebanese Pound</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LKR">
                <xs:annotation>
                    <xs:documentation>Sri Lanka Rupee</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LRD">
                <xs:annotation>
                    <xs:documentation>Liberian Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LSL">
                <xs:annotation>
                    <xs:documentation>Loti</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LTL">
                <xs:annotation>
                    <xs:documentation>Lithuanian Litus</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LUF">
                <xs:annotation>
                    <xs:documentation>Luxembourg Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LVL">
                <xs:annotation>
                    <xs:documentation>Latvian Lats</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LYD">
                <xs:annotation>
                    <xs:documentation>Lybian Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MAD">
                <xs:annotation>
                    <xs:documentation>Moroccan Dirham</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MDL">
                <xs:annotation>
                    <xs:documentation>Moldovan Leu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MGF">
                <xs:annotation>
                    <xs:documentation>Malagasy Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MKD">
                <xs:annotation>
                    <xs:documentation>Denar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MMK">
                <xs:annotation>
                    <xs:documentation>Kyat</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MNT">
                <xs:annotation>
                    <xs:documentation>Tugrik</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MOP">
                <xs:annotation>
                    <xs:documentation>Pataca</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MRO">
                <xs:annotation>
                    <xs:documentation>Ouguiya</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MTL">
                <xs:annotation>
                    <xs:documentation>Maltese Lira</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MUR">
                <xs:annotation>
                    <xs:documentation>Mauritius Rupee</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MVR">
                <xs:annotation>
                    <xs:documentation>Rufiyaa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MWK">
                <xs:annotation>
                    <xs:documentation>Kwacha</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MXN">
                <xs:annotation>
                    <xs:documentation>Mexican Peso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MXV">
                <xs:annotation>
                    <xs:documentation>Mexican Unidad de Inversion (UDI)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MYR">
                <xs:annotation>
                    <xs:documentation>Malaysian Ringgit</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="MZM">
                <xs:annotation>
                    <xs:documentation>Metical</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NAD">
                <xs:annotation>
                    <xs:documentation>Namibia Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NGN">
                <xs:annotation>
                    <xs:documentation>Naira</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NIO">
                <xs:annotation>
                    <xs:documentation>Cordoba Oro</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NLG">
                <xs:annotation>
                    <xs:documentation>Netherlands Guilder</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NOK">
                <xs:annotation>
                    <xs:documentation>Norvegian Krone</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NPR">
                <xs:annotation>
                    <xs:documentation>Nepalese Rupee</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NZD">
                <xs:annotation>
                    <xs:documentation>New Zealand Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="OMR">
                <xs:annotation>
                    <xs:documentation>Rial Omani</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PAB">
                <xs:annotation>
                    <xs:documentation>Balboa</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PEN">
                <xs:annotation>
                    <xs:documentation>Nuevo Sol</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PGK">
                <xs:annotation>
                    <xs:documentation>Kina</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PHP">
                <xs:annotation>
                    <xs:documentation>Philippine Peso</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PKR">
                <xs:annotation>
                    <xs:documentation>Pakistan Rupee</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PLN">
                <xs:annotation>
                    <xs:documentation>Zloty</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PTE">
                <xs:annotation>
                    <xs:documentation>Portuguese Escudo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="PYG">
                <xs:annotation>
                    <xs:documentation>Guarani</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="QAR">
                <xs:annotation>
                    <xs:documentation>Qatari Rial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ROL">
                <xs:annotation>
                    <xs:documentation>Leu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RUB">
                <xs:annotation>
                    <xs:documentation>Russian Ruble</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RUR">
                <xs:annotation>
                    <xs:documentation>Russian Ruble</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="RWF">
                <xs:annotation>
                    <xs:documentation>Rwanda Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SAR">
                <xs:annotation>
                    <xs:documentation>Saudi Riyal</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SBD">
                <xs:annotation>
                    <xs:documentation>Solomon Islands Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SCR">
                <xs:annotation>
                    <xs:documentation>Seychelles Rupee</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SDD">
                <xs:annotation>
                    <xs:documentation>Sudanese Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SEK">
                <xs:annotation>
                    <xs:documentation>Swedish Krona</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SGD">
                <xs:annotation>
                    <xs:documentation>Singapore Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SHP">
                <xs:annotation>
                    <xs:documentation>Saint Helena Pound</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SIT">
                <xs:annotation>
                    <xs:documentation>Tolar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SKK">
                <xs:annotation>
                    <xs:documentation>Slovak Koruna</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SLL">
                <xs:annotation>
                    <xs:documentation>Leone</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SOS">
                <xs:annotation>
                    <xs:documentation>Somali Shilling</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SRG">
                <xs:annotation>
                    <xs:documentation>Suriname Guilder</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="STD">
                <xs:annotation>
                    <xs:documentation>Dobra</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SVC">
                <xs:annotation>
                    <xs:documentation>El Salvador Colon</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SYP">
                <xs:annotation>
                    <xs:documentation>Syrian Pound</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SZL">
                <xs:annotation>
                    <xs:documentation>Lilangeni</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="THB">
                <xs:annotation>
                    <xs:documentation>Baht</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TJS">
                <xs:annotation>
                    <xs:documentation>Somoni</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TMM">
                <xs:annotation>
                    <xs:documentation>Manat</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TND">
                <xs:annotation>
                    <xs:documentation>Tunisian Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TOP">
                <xs:annotation>
                    <xs:documentation>Pa´anga</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TPE">
                <xs:annotation>
                    <xs:documentation>Timor Escudo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TRL">
                <xs:annotation>
                    <xs:documentation>Turkish Lira</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TTD">
                <xs:annotation>
                    <xs:documentation>Trinidad and Tobago Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TWD">
                <xs:annotation>
                    <xs:documentation>New Taiwan Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="TZS">
                <xs:annotation>
                    <xs:documentation>Tanzanian Shilling</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="UAH">
                <xs:annotation>
                    <xs:documentation>Hryvnia</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="UGX">
                <xs:annotation>
                    <xs:documentation>Uganda Shilling</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="USD">
                <xs:annotation>
                    <xs:documentation>US Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="USN">
                <xs:annotation>
                    <xs:documentation>US Dollar (Next day)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="USS">
                <xs:annotation>
                    <xs:documentation>US Dollar (Same day)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="UYU">
                <xs:annotation>
                    <xs:documentation>Peso Uruguayo</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="UZS">
                <xs:annotation>
                    <xs:documentation>Uzbekistan Sum</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="VEB">
                <xs:annotation>
                    <xs:documentation>Bolivar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="VND">
                <xs:annotation>
                    <xs:documentation>Dong</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="VUV">
                <xs:annotation>
                    <xs:documentation>Vatu</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="WST">
                <xs:annotation>
                    <xs:documentation>Tala</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XAF">
                <xs:annotation>
                    <xs:documentation>CFA Franc BEAC</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XAG">
                <xs:annotation>
                    <xs:documentation>Silver</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XAU">
                <xs:annotation>
                    <xs:documentation>Gold</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XBA">
                <xs:annotation>
                    <xs:documentation>European Composite Unit (EURCO)</xs:documentation>
                    <xs:documentation>European Monetary Unit (E.M.U.-6)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XBB">
                <xs:annotation>
                    <xs:documentation>European Unit of Account 9 (E.U.A.-9)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XBC">
                <xs:annotation>
                    <xs:documentation>European Unit of Account 17 (E.U.A.-17)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XCD">
                <xs:annotation>
                    <xs:documentation>East Caribbean Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XDR">
                <xs:annotation>
                    <xs:documentation>SDR</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XFO">
                <xs:annotation>
                    <xs:documentation>Gold-Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XFU">
                <xs:annotation>
                    <xs:documentation>UIC-Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XOF">
                <xs:annotation>
                    <xs:documentation>CFA Franc BCEAO</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XPD">
                <xs:annotation>
                    <xs:documentation>Palladium</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XPF">
                <xs:annotation>
                    <xs:documentation>CFP Franc</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XPT">
                <xs:annotation>
                    <xs:documentation>Platinum</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XTS">
                <xs:annotation>
                    <xs:documentation>Codes Specifically reserved for testing
                        purposes</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="YER">
                <xs:annotation>
                    <xs:documentation>Yemeni Rial</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="YUM">
                <xs:annotation>
                    <xs:documentation>Yugoslavian Dinar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ZAR">
                <xs:annotation>
                    <xs:documentation>South Africa Rand</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ZMK">
                <xs:annotation>
                    <xs:documentation>Kwacha</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ZWD">
                <xs:annotation>
                    <xs:documentation>Zimbabwe Dollar</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="AmountCommonData">
        <xs:simpleContent>
            <xs:extension base="DecimalCommonData">
                <xs:attribute default="USD" form="unqualified" name="Currency"
                    type="CurrencyTypeCode" use="optional"/>
                <xs:attribute form="unqualified" name="ForeignAmount" type="DecimalCommonData"
                    use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:simpleType name="ARTSBinary">
        <xs:restriction base="xs:string">
            <xs:pattern value="(\\u[0-9  | a-f]{4,4})*"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:group name="ElectronicValueReaderWriterPropertiesGroup">
        <xs:choice>
            <xs:element form="qualified" name="AccountNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Information for the service provider like the card number, and
                        the member number, etc. to specify the user (owner) is set by information on
                        the card.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AdditionalSecurityInformation" type="ARTSBinary">
                <xs:annotation>
                    <xs:documentation>An application can send arbitrary data to the device by
                        setting this property before issuing method. Also, it is possible to pass it
                        to the application by storing the data not stored in any other property by
                        the data sent from the device in this property as a processing result. The
                        stored data depends on implementation the device.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Amount" type="xs:long">
                <xs:annotation>
                    <xs:documentation>Setting the settlement amount on the electronic money service.
                        64-bit integer. Sometimes used for currency values where 4 decimal places
                        are implied. E.g., if the integer is “1234567”, then the currency value is
                        “123.4567”.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ApprovalCode" type="xs:string">
                <xs:annotation>
                    <xs:documentation>The content of the approval code depends on  implementation
                        the device. When a unique number is issued to the processing done with the
                        device, the information is set.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AsyncMode" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, all specific methods will be performed
                        asynchronously.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Balance" type="xs:long">
                <xs:annotation>
                    <xs:documentation>Setting the balance on the electronic money service.  64-bit
                        integer. Sometimes used for currency values where 4 decimal places are
                        implied. E.g., if the integer is “1234567”, then the currency value is
                        “123.4567”.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="BalanceOfPoint" type="xs:long">
                <xs:annotation>
                    <xs:documentation>Setting the balance point on the point service.  64-bit
                        integer. Sometimes used for currency values where 4 decimal places are
                        implied. E.g., if the integer is “1234567”, then the currency value is
                        “123.4567”.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapActivateService" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If, true, the activation processing has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapAdditonalSecurityInformation" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the AdditionalSecurityInformation property may be
                        utilized; otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapAddValue" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the additional of electronic value has been
                        implemented; otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapAuthorizeCompletion" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the authorizeCompletion method has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapAuthorizePreSales" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the authorizePreSales method has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapAuthorizeRefund" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the authorizeRefund method has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapAuthorizeVoid" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the authorizeVoid method has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapAuthorizeVoidPreSales" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the authorizeVoidPreSales method has been
                        implemented; otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapCancelValue" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the cancellation of the operation to electronic value
                        has been implemented; otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapCardSensor" type="CapCardSensorTypeCode">
                <xs:annotation>
                    <xs:documentation>The presence of the card detection is shown. When the sensor
                        exists, the detection is set to the DetectionStatus
                        property.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapCashDeposit" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>Electronic Money Device: Show the device has charged method by
                        cashDeposit method or not. If true, the cashDeposit method is implemented,
                        otherwise false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapCenterResultCode" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the CenterResultCode property has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapCheckCard" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the checkCard method has been implemented; otherwise
                        it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapDailyLog" type="CapDailyLogTypeCode">
                <xs:annotation>
                    <xs:documentation>Shows the daily log ability of the device.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapDetectionControl"
                type="CapDetectionControlTypeCode">
                <xs:annotation>
                    <xs:documentation>It is shown whether the detection processing of the card, the
                        ejection processing of the card, the storing processing of the card and
                        these processing can be controlled from the application or the reader
                        writer. According to the service, the grain size of the demand such as
                        “settlement demand” and “balance inquiry demand” is large, and a detailed
                        part like detection and the ejection of the card might not be able to be
                        controlled from the application.  In this case, detection and the ejection
                        processing are controlled by the reader writer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapElectronicMoney" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the electronic money service is effective; otherwise
                        it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapEnumerateCardServices" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the enumeration of service in the card is effective;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapIndirectTransactionLog" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the transaction log is obtained as an indirect file;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapInstallments" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the item “Installments” which is stored in the
                        DailyLog property as the result of accessDailyLog will be provided;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapLockTerminal" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the security lock setting has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapLogStatus" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the state confirmation of the transaction log has
                        been implemented; otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapMediumID" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the specification of the medium identifier has been
                        implemented; otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapMembershipCertificate" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the membership certificate service is supported
                        otherwise it is false</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapPaymentDetail" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the PaymentDetail property has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapPINDevice" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the electronic value reader/writer is equipped with
                        the PIN device.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapPoint" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the point service is effective; otherwise it is
                        false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapSubtractValue" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the subtraction of electronic value has been
                        implemented; otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapTaxOthers" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the item “TaxOthers” which is stored in the DailyLog
                        property as the result of access DailyLog will be provided; otherwise it is
                        false. </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapTrainingMode" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, The electronic value reader/writer supports a
                        training mode.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapTransaction" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the transaction mode has been implemented; otherwise
                        it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapTransactionLog" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the transaction log has been implemented; otherwise
                        it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapTransactionNumber" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the TransactionNumber property has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapUnlockTerminal" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the security lock release has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapUpdateKey" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the update of key information has been implemented;
                        otherwise it is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapVoucher" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the coupon/ticket service is effective; otherwise it
                        is false.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CapWriteValue" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the writing of electronic value has been implemented;
                        otherwise it is false</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CardCompanyID" type="xs:string">
                <xs:annotation>
                    <xs:documentation>This property is updated when an authorization operation
                        successfully completes. It shows credit card company ID.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CardServiceList" type="xs:string">
                <xs:annotation>
                    <xs:documentation>The service that can be used with the card of the recognition
                        by the enumerateCardServices method is enumerated.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CenterResultCode" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Contains the code from the approval agency. Check the approval
                        agency for the actual codes to be stored</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CurrentService" type="xs:string">
                <xs:annotation>
                    <xs:documentation>It is selected now, and the character string that identifies
                        effective service is set.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DailyLog" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Stores the result of the accessDailyLog method. The data is
                        delimited by CR(13 decimal)+LF(10 decimal) for each transaction and is
                        stored in ASCII code. The detailed data of each transaction is comma
                        separated [i.e., delimited by “,” (44)].</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DetectionControl" type="xs:boolean">
                <xs:annotation>
                    <xs:documentation>If true, the detection processing of the card by the
                        beginDetection/endDetection method and the card ejection processing by the
                        beginRemoval/endRemoval method are controlled by the application. When
                        EVRW_CDC_APPLICATIONCONTROL is specified for the CapDetectionControl
                        property, it is possible to set it.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DetectionStatus" type="DetectionStatusTypeCode">
                <xs:annotation>
                    <xs:documentation>The state of the card that the Electronic Value Reader Writer
                        recognizes is set.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ExpirationDate" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Setting the due date and expiration date for the
                        card.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="LastUsedDate" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Setting the final use date for the card.  Holds the last used
                        date in the format “YYYYMMDDHHMMSS”.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="LogStatus" type="LogStatusTypeCode">
                <xs:annotation>
                    <xs:documentation>Shows the state of transaction log.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="MediumID" type="xs:string">
                <xs:annotation>
                    <xs:documentation>The medium identifier of the card is set.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="PaymentCondition" type="PaymentConditionTypeCode">
                <xs:annotation>
                    <xs:documentation>Holds the payment condition of the most recent successful
                        authorization operation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="PaymentDetail" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Contains payment condition details as the result of an
                        authorization operation. Payment details vary depending on the value of
                        PaymentCondition. The data will be stored as comma separated ASCII code. An
                        empty string means that no data is stored and represents a string with zero
                        length data</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="PaymentMedia" type="PaymentMediaTypeCode">
                <xs:annotation>
                    <xs:documentation>Holds the payment media type that the approval method should
                        approve.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="PINEntry" type="PINEntryTypeCode">
                <xs:annotation>
                    <xs:documentation>The PIN entry functionality that is supported by the
                        Electronic Value Reader</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Point" type="xs:long">
                <xs:annotation>
                    <xs:documentation>Setting the settlement point on the point service.  64-bit
                        integer. Sometimes used for currency values where 4 decimal places are
                        implied. E.g., if the integer is “1234567”, then the currency value is
                        “123.4567”.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ReaderWriterServiceList" type="xs:string">
                <xs:annotation>
                    <xs:documentation>The services that can be used by the Electronic Value Reader
                        Writer is enumerated.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Stores a “sequence number” as the result of each method call.
                        This number needs to be checked by an application to see if it matches with
                        the argument sequenceNumber of the originating method.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ServiceType" type="ServiceTypeTypeCode">
                <xs:annotation>
                    <xs:documentation>This property is initialized by the open method and updated
                        when the CurrentService property is updated.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="SettledAmount" type="xs:long">
                <xs:annotation>
                    <xs:documentation>Setting real amount of the settlement on the electronic money
                        service.  64-bit integer. Sometimes used for currency values where 4 decimal
                        places are implied. E.g., if the integer is “1234567”, then the currency
                        value is “123.4567”.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="SettledPoint" type="xs:long">
                <xs:annotation>
                    <xs:documentation>Setting real settlement point on the point service.64-bit
                        integer. Sometimes used for currency values where 4 decimal places are
                        implied. E.g., if the integer is “1234567”, then the currency value is
                        “123.4567”.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="SlipNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Stores a “slip number” as the result of each authorization
                        operation.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="TrainingModeState" type="TrainingModeStateTypeCode">
                <xs:annotation>
                    <xs:documentation>The current state of the Electronic Value R/W device to
                        indicate if the device is in training mode or not.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="TransactionNumber" type="xs:string">
                <xs:annotation>
                    <xs:documentation>Stores a “transaction number” as the result of each
                        authorization operation</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="TransactionLog" type="xs:string">
                <xs:annotation>
                    <xs:documentation>This property stores the result of the accessLog
                        method.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="TransactionType" type="TransactionTypeTypeCode">
                <xs:annotation>
                    <xs:documentation>Stores a “transaction type” as the result of each
                        authorization operation</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="VoucherID" type="VoucherIDType">
                <xs:annotation>
                    <xs:documentation>Setting the ID of coupon/ticket on the coupon/ticket
                        service.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="VoucherIDList" type="VoucherIDListType">
                <xs:annotation>
                    <xs:documentation>Setting the IDs of coupon/ticket are enumerated on the
                        coupon/ticket service.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:group>
    <xs:complexType name="VoucherIDType">
        <xs:annotation>
            <xs:documentation>Sets the ID of voucher/ticket on the voucher/ticket
                service.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="TicketID" type="xs:int"/>
            <xs:element form="qualified" name="Count" type="xs:int"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="VoucherIDListType">
        <xs:annotation>
            <xs:documentation>Sets the IDs of voucher/ticket are enumerated on the voucher/ticket
                service.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="VoucherID" type="VoucherIDType">
                <xs:annotation>
                    <xs:documentation>Sets the ID of voucher/ticket on the voucher/ticket
                        service.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- Cap Card Sensor Enumeration -->
    <xs:simpleType name="CapCardSensorTypeCode">
        <xs:union memberTypes="CapCardSensorTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="CapCardSensorTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_CCS_ENTRY">
                <xs:annotation>
                    <xs:documentation> There is an insertion slot sensor.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_CCS_DETECT">
                <xs:annotation>
                    <xs:documentation>There is a card detection sensor</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_CCS_CAPTURE">
                <xs:annotation>
                    <xs:documentation>There is a stock space sensor.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="CapDailyLogTypeCode">
        <xs:union memberTypes="CapDailyLogTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="CapDailyLogTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_DL_NONE"/>
            <xs:enumeration value="EVRW_DL_REPORTING"/>
            <xs:enumeration value="EVRW_DL_SETTLEMENT"/>
            <xs:enumeration value="EVRW_DL_REPORTING_SETTLEMENT"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- Cap Detection Control Enumeration -->
    <xs:simpleType name="CapDetectionControlTypeCode">
        <xs:union memberTypes="CapDetectionControlTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="CapDetectionControlTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_CDC_RWCONTROL">
                <xs:annotation>
                    <xs:documentation>  Control is possible by the EVRW.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_CDC_APPLICATIONCONTROL">
                <xs:annotation>
                    <xs:documentation>Control is possible by the application</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!-- Detection Status Enumeration -->
    <xs:simpleType name="DetectionStatusTypeCode">
        <xs:union memberTypes="DetectionStatusTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="DetectionStatusTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_DS_NOCARD">
                <xs:annotation>
                    <xs:documentation> No card. The card detection sensor does not detect a
                        card.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_DS_DETECTED">
                <xs:annotation>
                    <xs:documentation>The is a card in the device. The card detection sensor detects
                        the card.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_DS_ENTERED">
                <xs:annotation>
                    <xs:documentation>Card remaining at the insertion slot. The insertion slot
                        sensor detects the card.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_DS_CAPTURED">
                <xs:annotation>
                    <xs:documentation>The card is in the stock space. The stock space sensor detects
                        the card.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!-- Log Status Enumeration -->
    <xs:simpleType name="LogStatusTypeCode">
        <xs:union memberTypes="LogStatusTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="LogStatusTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_LS_OK">
                <xs:annotation>
                    <xs:documentation> Transaction Log has enough capacity.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_LS_NEARFULL">
                <xs:annotation>
                    <xs:documentation>Transaction Log is nearly full.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_LS_FULL">
                <xs:annotation>
                    <xs:documentation>Transaction Log is full</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="PaymentConditionTypeCode">
        <xs:union memberTypes="PaymentConditionTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="PaymentConditionTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_PAYMENT_LUMP"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUS_1"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUE_2"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUS_3"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUS_4"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUS_5"/>
            <xs:enumeration value="EVRW_PAYMENT_INSTALLMENT_1"/>
            <xs:enumeration value="EVRW_PAYMENT_INSTALLMENT_2"/>
            <xs:enumeration value="EVRW_PAYMENT_INSTALLMENT_3"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUS_COMBINATION_1"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUS_COMBINATION_2"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUS_COMBINATION_3"/>
            <xs:enumeration value="EVRW_PAYMENT_BONUS_COMBINTAION_4"/>
            <xs:enumeration value="EVRW_PAYMENT_REVOLVING"/>
            <xs:enumeration value="EVRW_PAYMENT_DEBIT"/>
            <xs:enumeration value="EVRW_PAYMENT_ELECTRONIC_MONEY"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="PaymentMediaTypeCode">
        <xs:union memberTypes="PaymentMediaTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="PaymentMediaTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_MEDIA_UNSPECIFIED"/>
            <xs:enumeration value="EVRW_MEDIA_CREDIT"/>
            <xs:enumeration value="EVRW_MEDIA_DEBIT"/>
            <xs:enumeration value="EVRW_MEDIA_ELECTRONIC_MONEY"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- PIN Entry Enumeration -->
    <xs:simpleType name="PINEntryTypeCode">
        <xs:union memberTypes="PINEntryTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="PINEntryTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_PIN_ENTRY_NONE">
                <xs:annotation>
                    <xs:documentation>PIN input is not supported.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_PIN_ENTRY_EXTERNAL">
                <xs:annotation>
                    <xs:documentation>The Electronic Value Reader/Writer is not equipped with the
                        PIN input device. Whe PIN input is required, it is necessary to use an
                        external PIN pad device.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_PIN_ENTRY_INTERNAL">
                <xs:annotation>
                    <xs:documentation>The Electronic Value Reader/Writer is equipped with an
                        internal PIN input device for PIN number entry.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_PIN_ENTRY_UNKNOWN">
                <xs:annotation>
                    <xs:documentation>The PIN entry may be supported by the Electronic Value
                        Reader/Writer device but the CurrentService property is set to empty string
                        (““) and the it is not clear where the PIN entry is to
                        occur.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ServiceTypeTypeCode">
        <xs:union memberTypes="ServiceTypeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="ServiceTypeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_ST_ELECTRONIC_MONEY">
                <xs:annotation>
                    <xs:documentation>Electronic money service</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_ST_POINT">
                <xs:annotation>
                    <xs:documentation>Point Service</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_ST_VOUCHER">
                <xs:annotation>
                    <xs:documentation>Voucher/Ticket Service</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_ST_MEMBERSHIP">
                <xs:annotation>
                    <xs:documentation>Membership certificate service</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_ST_CAT">
                <xs:annotation>
                    <xs:documentation>Credit Authorization Terminal service</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_ST_UNSPECIFIED">
                <xs:annotation>
                    <xs:documentation>nothing is set to Current Service</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!-- Training Mode Status Enumeration -->
    <xs:simpleType name="TrainingModeStateTypeCode">
        <xs:union memberTypes="TrainingModeStateTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="TrainingModeStateTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_TM_FALSE">
                <xs:annotation>
                    <xs:documentation>The training mode is not selected, therefore normal operation
                        is the current state.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_TM_TRUE">
                <xs:annotation>
                    <xs:documentation>TRUEThe training mode is selected.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_TM_UNKNOWN">
                <xs:annotation>
                    <xs:documentation>The training mode may be supported by the Electronic Value
                        Reader/Writer device but the CurrentService property is set to empty string
                        (““) and the it is not clear what is the current state of the training
                        mode.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TransactionTypeTypeCode">
        <xs:union memberTypes="TransactionTypeTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="TransactionTypeTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_TRANSACTION_SALES"/>
            <xs:enumeration value="EVRW_TRANSACTION_VOID"/>
            <xs:enumeration value="EVRW_TRANSACTION_REFUND"/>
            <xs:enumeration value="EVRW_TRANSACTION_COMPLETION"/>
            <xs:enumeration value="EVRW_TRANSACTION_PRESALES"/>
            <xs:enumeration value="EVRW_TRANSACTION_CHECKCARD"/>
            <xs:enumeration value="EVRW_TRANSACTION_VOIDPRESALES"/>
            <xs:enumeration value="EVRW_TRANSACTION_CASHDEPOSIT"/>
        </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="ElectronicValueRWPropertiesType">
        <xs:choice maxOccurs="unbounded">
            <xs:group ref="XMLPOSCommonPropertiesGroup"/>
            <xs:group ref="ElectronicValueReaderWriterPropertiesGroup"/>
        </xs:choice>
    </xs:complexType>
    <xs:group name="ElectronicValueRWMethodsGroup">
        <xs:choice>
            <xs:element form="qualified" name="AccessDailyLog" type="AccessDailyLogType">
                <xs:annotation>
                    <xs:documentation>Gets daily log from EVRW</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AccessData" type="AccessDataType">
                <xs:annotation>
                    <xs:documentation>Data other than a transaction log is accessed from an
                        electronic value reader writer</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AccessLog" type="AccessLogType">
                <xs:annotation>
                    <xs:documentation>Gets transaction log from device.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ActivateEVService" type="DataObjectType">
                <xs:annotation>
                    <xs:documentation>Executes the device activation process</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ActivateService" type="DataObjectType">
                <xs:annotation>
                    <xs:documentation>The Electronic Value Reader Writer’s activation processing is
                        done.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AddValue" type="AddValueType">
                <xs:annotation>
                    <xs:documentation>Electronic value is added to the card.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AuthorizeCompletion" type="AuthorizeCompletionType">
                <xs:annotation>
                    <xs:documentation>Purchase after approval is intended</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AuthorizePreSales" type="AuthorizePreSalesType">
                <xs:annotation>
                    <xs:documentation>Makes a pre-authorization</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AuthorizeRefund" type="AuthorizeRefundType">
                <xs:annotation>
                    <xs:documentation>Refund purchase approval is intended</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AuthorizeSales" type="AuthorizeSalesType">
                <xs:annotation>
                    <xs:documentation>Normal purchase approval is intended</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AuthorizeVoid" type="AuthorizeVoidType">
                <xs:annotation>
                    <xs:documentation>Purchase cancellation approval is intended</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="AuthorizeVoidPreSales"
                type="AuthorizeVoidPreSalesType"/>
            <xs:element form="qualified" name="BeginDetection" type="BeginDetectionType">
                <xs:annotation>
                    <xs:documentation>The method waits device processing during the value set to the
                        timeout parameter in each millisecond</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="BeginRemoval" type="BeginRemovalType">
                <xs:annotation>
                    <xs:documentation>The method waits device processing during the value set to the
                        timeout parameter in each millisecond. If the parameter value is zero, the
                        method tries to begin removal, and returns appropriate status
                        immediately.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CancelValue" type="CancelValueType">
                <xs:annotation>
                    <xs:documentation>Electronic value operation demanded from the card is
                        canceled.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CaptureCard">
                <xs:annotation>
                    <xs:documentation>The card left behind at the card insertion slot is moved to
                        the stock space.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CashDeposit" type="CashDepositType">
                <xs:annotation>
                    <xs:documentation>Chargings</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CheckCard" type="CheckCardType">
                <xs:annotation>
                    <xs:documentation>Card Check is intended</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CheckServiceRegistrationToMedium"
                type="CheckServiceRegistrationToMediumType">
                <xs:annotation>
                    <xs:documentation>Check if the medium can be registered with the electronic
                        value service.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ClearParameterInformation">
                <xs:annotation>
                    <xs:documentation>Used to clear the all the tag values for the control set
                        previously stored by the setParameterInformation method.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="CloseDailyEVService" type="DataObjectType">
                <xs:annotation>
                    <xs:documentation>Executes the closing process of the service selected by
                        CurrentService property.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="DeactivateEVService" type="DeactivateEVServiceType">
                <xs:annotation>
                    <xs:documentation>Executes the device deactivation process</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="EndDetection">
                <xs:annotation>
                    <xs:documentation>Called to end the card detection
                        processing.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="EndRemoval">
                <xs:annotation>
                    <xs:documentation>Calling for removal end of the card.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="EnumerateCardServices">
                <xs:annotation>
                    <xs:documentation>Service in which it can use in the card is enumerated, and it
                        sets it to the CardServiceList property.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="LockTerminal">
                <xs:annotation>
                    <xs:documentation>Locks the device, and it is made not to use</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="OpenDailyEVService" type="DataObjectType">
                <xs:annotation>
                    <xs:documentation>Executes teh opening process of the service selected by
                        CurrentService property</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="QueryLastSuccessfulTransactionResult">
                <xs:annotation>
                    <xs:documentation>This method is used to refresh the property values that
                        resulted from last successful readValue, writeValue, addValue,
                        subtractValue, cancelValue, and accessLog methods calls.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="ReadValue" type="SequenceTimeoutType">
                <xs:annotation>
                    <xs:documentation>Reads the electronic value from the card.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="RetrieveResultInformation">
                <xs:annotation>
                    <xs:documentation>The retrieveResultInformation method is used to associate a
                        tag name with the data value that comes from the card that is being
                        read.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:simpleContent>
                        <xs:extension base="xs:string">
                            <xs:attribute form="unqualified" name="Name" type="TagNameTypeCode">
                                <xs:annotation>
                                    <xs:documentation>Tag name whose value is to be
                                        retrieved</xs:documentation>
                                </xs:annotation>
                            </xs:attribute>
                        </xs:extension>
                    </xs:simpleContent>
                </xs:complexType>
            </xs:element>
            <xs:element form="qualified" name="RegisterServiceToMedium" type="SequenceTimeoutType">
                <xs:annotation>
                    <xs:documentation>Register medium to the Electronic Value
                        service</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="SetParameterInformation"
                type="SetParameterInformationType">
                <xs:annotation>
                    <xs:documentation>The setParameterInformation method is used to associate a tag
                        name with additional the data value parameters that are associated with the
                        card that is being read.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="SubtractValue" type="SubtractValueType">
                <xs:annotation>
                    <xs:documentation>Electronic value is subtracted from the
                        card.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="TransactionAccess" type="TransactionAccessType">
                <xs:annotation>
                    <xs:documentation>When enters or exits transaction mode, this method is
                        called.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="UnlockTerminal">
                <xs:annotation>
                    <xs:documentation>Releases the lock, and it can be use the
                        device.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="UnregisterServiceToMedium" type="SequenceTimeoutType">
                <xs:annotation>
                    <xs:documentation>Electronic value service is deleted from a
                        medium</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="UpdateData" type="UpdateDataType">
                <xs:annotation>
                    <xs:documentation>The data of an EVR/W is updated</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="UpdateKey" type="UpdateKeyType">
                <xs:annotation>
                    <xs:documentation>Electronic Value Reader Writer’s key information is
                        updated.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="WriteValue" type="WriteValueType">
                <xs:annotation>
                    <xs:documentation>Eectronic value is witten in the card.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:choice>
    </xs:group>
    <xs:complexType name="AccessDailyLogType">
        <xs:annotation>
            <xs:documentation>Gets daily log from EVRW</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The sequence number to get daily log.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Type" type="AccessDailyLogTypeCode">
                <xs:annotation>
                    <xs:documentation>Specify whether the daily log is intermediate total or final
                        total and erase.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the EVRW device. FOREVER (-1), 0 and positive values can be
                        specified</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AccessDataType">
        <xs:annotation>
            <xs:documentation>Data other than a transaction log is accessed from an electronic value
                reader writer.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" maxOccurs="unbounded" name="Data" type="xs:int">
                <xs:annotation>
                    <xs:documentation>An array of one mutable integer whose specific values or usage
                        vary by service</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Obj">
                <xs:annotation>
                    <xs:documentation>Additional data whose usage varies by
                        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:attribute form="unqualified" name="Type" type="AccessDataTypeCode">
            <xs:annotation>
                <xs:documentation>Type of the Data being accessed</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="AccessLogType">
        <xs:annotation>
            <xs:documentation>Gets transaction log from device</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The sequence number to get transaction log</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the device. FOREVER(-1), 0, and positive values can be
                        specified.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
        <xs:attribute form="unqualified" name="Type" type="AccessLogTypeCode" use="required">
            <xs:annotation>
                <xs:documentation>Specifies whether the transaction log is intermediate total or
                    final total</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="AddValueType">
        <xs:annotation>
            <xs:documentation>Electronic value is added to the card.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Sequence number</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the device. FOREVER(-1), 0, and positive values can be
                        specified.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AuthorizeType">
        <xs:annotation>
            <xs:documentation>reusable complex type</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Sequence number for approval</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Amount" type="AmountCommonData">
                <xs:annotation>
                    <xs:documentation>Purchase amount for approval</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="TaxOthers" type="AmountCommonData">
                <xs:annotation>
                    <xs:documentation>Tax and other amounts for approval.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the EVRW device. FOREVER (-1), 0 and positive values can be
                        specified.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="AuthorizeCompletionType">
        <xs:annotation>
            <xs:documentation>Purchase after approval is intended</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AuthorizeType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AuthorizePreSalesType">
        <xs:annotation>
            <xs:documentation>Makes a pre-authorization.</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AuthorizeType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AuthorizeRefundType">
        <xs:annotation>
            <xs:documentation>Refund purchase approval is intended</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AuthorizeType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AuthorizeSalesType">
        <xs:annotation>
            <xs:documentation>Normal purchase approval is intended</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AuthorizeType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AuthorizeVoidType">
        <xs:annotation>
            <xs:documentation>Purchase cancellation approval is intended</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AuthorizeType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AuthorizeVoidPreSalesType">
        <xs:annotation>
            <xs:documentation>Pre-authorization cancellation approval is intended</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="AuthorizeType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="BeginDetectionType">
        <xs:annotation>
            <xs:documentation>The method waits device processing during the value set to the timeout
                parameter in each millisecond.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="Timeout" type="xs:int"/>
        </xs:sequence>
        <xs:attribute form="unqualified" name="Type" type="BeginDetectionTypeCode" use="required">
            <xs:annotation>
                <xs:documentation>The type parameter specifies the type of the detected
                    card.</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="BeginRemovalType">
        <xs:annotation>
            <xs:documentation>The method waits device processing during the value set to the timeout
                parameter in each millisecond.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="Timeout" type="xs:int"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CancelValueType">
        <xs:annotation>
            <xs:documentation>Electronic value operation demanded from the card is
                canceled.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Sequence number</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the device. FOREVER(-1), 0, and positive values can be
                        specified.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CashDepositType">
        <xs:annotation>
            <xs:documentation>Chargings</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Sequence number for charge</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Amount" type="AmountCommonData">
                <xs:annotation>
                    <xs:documentation>Amount of money for charge</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:long">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the EVRW device. FOREVER (-1), 0 and positive values can be
                        specified.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CheckCardType">
        <xs:annotation>
            <xs:documentation>Card Check is intended</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Sequence number for approval</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:long">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the EVRW device. FOREVER (-1), 0 and positive values can be
                        specified</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CheckServiceRegistrationToMediumType">
        <xs:annotation>
            <xs:documentation>Checks to see if the medium can be registered</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int"/>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from teh device.  FOREVER (-1), 0, and positive values can be
                        specified</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="CloseDailyEVServiceType">
        <xs:annotation>
            <xs:documentation>Executes the closing process of the service selected by CurrentService
                property</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="DataObjectType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DataObjectType">
        <xs:annotation>
            <xs:documentation>The Electronic Value Reader Writer’s activation processing is
                done.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="Data" type="xs:int">
                <xs:annotation>
                    <xs:documentation>an array of one mutable integer whose specific values or usage
                        vary by service</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Obj">
                <xs:annotation>
                    <xs:documentation>Additional data whose usage varies by
                        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="DeactivateEVServiceType">
        <xs:annotation>
            <xs:documentation>Executes the device activation process</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
            <xs:extension base="DataObjectType"/>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SequenceTimeoutType">
        <xs:annotation>
            <xs:documentation>Reads the electronic value from the card.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Sequence number</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the device. FOREVER(-1), 0, and positive values can be
                        specified.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="RetrieveResultInformationType">
        <xs:annotation>
            <xs:documentation>Associate a tag name with the data value that comes from the card that
                is being read.  The string value for the tag specified by the name parameter. If the
                name parameter is not recognized or not supported for the current card type, the
                value returned will be an empty string</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute form="unqualified" name="Name" type="TagNameTypeCode" use="required">
                    <xs:annotation>
                        <xs:documentation>The tag name whose value is to be
                            retrieved</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="SetParameterInformationType">
        <xs:annotation>
            <xs:documentation>Associate a tag name with additional the data value parameters that
                are associated with the card that is being read</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute form="unqualified" name="Name" type="TagNameTypeCode">
                    <xs:annotation>
                        <xs:documentation>The setParameterInformation method is used to associate a
                            tag name with additional the data value parameters that are associated
                            with the card that is being read</xs:documentation>
                    </xs:annotation>
                </xs:attribute>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="SubtractValueType">
        <xs:annotation>
            <xs:documentation>Electronic value is subtracted from the card.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Sequence number</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the device. FOREVER(-1), 0, and positive values can be
                        specified</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TransactionAccessType">
        <xs:annotation>
            <xs:documentation>When enters or exits transaction mode, this method is
                called.</xs:documentation>
        </xs:annotation>
        <xs:attribute form="unqualified" name="Control" type="TransactionAccessTypeCode"
            use="required">
            <xs:annotation>
                <xs:documentation>The transaction control, can be set to one of the following
                    values:</xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="UpdateDataType">
        <xs:annotation>
            <xs:documentation>The data of an EVR/W is updated. The contents of data are dependent on
                service. </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="DataType" type="UpdateDataTypeCode"/>
            <xs:element form="qualified" name="Data" type="xs:int"/>
            <xs:element form="qualified" name="Obj">
                <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="UpdateKeyType">
        <xs:annotation>
            <xs:documentation>Electronic Value Reader Writer’s key information is
                updated.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="Data" type="xs:int"/>
            <xs:element form="qualified" name="Obj">
                <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="WriteValueType">
        <xs:annotation>
            <xs:documentation>Eectronic value is witten in the card.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element form="qualified" name="SequenceNumber" type="xs:int">
                <xs:annotation>
                    <xs:documentation>Sequence number</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element form="qualified" name="Timeout" type="xs:int">
                <xs:annotation>
                    <xs:documentation>The maximum waiting time (in milliseconds) until the response
                        is received from the device. FOREVER(-1), 0, and positive values can be
                        specified.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <!-- Access Daily Log -->
    <xs:simpleType name="AccessDailyLogTypeCode">
        <xs:union memberTypes="AccessDailyLogTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="AccessDailyLogTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_DL_REPORTING"/>
            <xs:enumeration value="EVRW_DL_SETTLEMENT"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- Access Data -->
    <xs:simpleType name="AccessDataTypeCode">
        <xs:union memberTypes="AccessDataTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="AccessDataTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_AD_KEY">
                <xs:annotation>
                    <xs:documentation>Key Information.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_AD_MEGATIVE_LIST">
                <xs:annotation>
                    <xs:documentation>Negative List.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_AD_OTHERS">
                <xs:annotation>
                    <xs:documentation>other information</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!-- Access Log Enumeration -->
    <xs:simpleType name="AccessLogTypeCode">
        <xs:union memberTypes="AccessLogTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="AccessLogTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_AL_REPORTING">
                <xs:annotation>
                    <xs:documentation> Gets transaction log as an intermediate
                        total.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_AL_SETTLEMENT">
                <xs:annotation>
                    <xs:documentation>The transaction log for the device is fixed and erased by
                        implementation.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!-- BeginDetection Enumeration -->
    <xs:simpleType name="BeginDetectionTypeCode">
        <xs:union memberTypes="BeginDetectionTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="BeginDetectionTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_BD_ANY">
                <xs:annotation>
                    <xs:documentation>The content of the detected card is not
                        asked</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_BD_SPECIFIC">
                <xs:annotation>
                    <xs:documentation>Only the card that corresponds to the identifier set to the
                        MediumID property as the method call is detected.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!-- TransactionAccess Enumeration -->
    <xs:simpleType name="TransactionAccessTypeCode">
        <xs:union memberTypes="TransactionAccessTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="TransactionAccessTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_TA_TRANSACTION">
                <xs:annotation>
                    <xs:documentation>Begin a transaction</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="EVRW_TA_NORMAL">
                <xs:annotation>
                    <xs:documentation>End the transaction mode by executing the buffer
                        operation.</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TagNameTypeCode">
        <xs:union memberTypes="TagNameTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="TagNameTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="AccessLogLastDateTime"/>
            <xs:enumeration value="AccountNumber"/>
            <xs:enumeration value="Amount"/>
            <xs:enumeration value="AmountForPoint"/>
            <xs:enumeration value="AuthenticationStatus"/>
            <xs:enumeration value="AutoCharge"/>
            <xs:enumeration value="Balance"/>
            <xs:enumeration value="BalanceOfPoint"/>
            <xs:enumeration value="BusinessUnitID"/>
            <xs:enumeration value="CancelTransactionType"/>
            <xs:enumeration value="CardCompanyName"/>
            <xs:enumeration value="CardTransactionLogID"/>
            <xs:enumeration value="CardTransactionNumber"/>
            <xs:enumeration value="ChargeableAmount"/>
            <xs:enumeration value="ChargeableCount"/>
            <xs:enumeration value="ChargeMethod"/>
            <xs:enumeration value="DateTime"/>
            <xs:enumeration value="EffectiveDaysOfKey"/>
            <xs:enumeration value="EndAccountID"/>
            <xs:enumeration value="EndPOSTransactionNumber"/>
            <xs:enumeration value="EndAccountID"/>
            <xs:enumeration value="EndDateTime"/>
            <xs:enumeration value="EndEVRWTransactionNumber"/>
            <xs:enumeration value="EndPOSTransactionNumber"/>
            <xs:enumeration value="EVRWApprovalCode"/>
            <xs:enumeration value="EVRWDataUpdateDateTime"/>
            <xs:enumeration value="EVRWDateTime"/>
            <xs:enumeration value="EVRWID"/>
            <xs:enumeration value="EVRWTransactionLogID"/>
            <xs:enumeration value="EVRWTransactionNumber"/>
            <xs:enumeration value="ExpirationDate"/>
            <xs:enumeration value="ExpiredAccountID"/>
            <xs:enumeration value="ForceOnlineCheck"/>
            <xs:enumeration value="InsufficientAmount"/>
            <xs:enumeration value="ItemCode"/>
            <xs:enumeration value="KeyExpirationDateTime"/>
            <xs:enumeration value="KeyUpdateDateTime"/>
            <xs:enumeration value="LastTimeBalance"/>
            <xs:enumeration value="LastTimeCardTransactionLogID"/>
            <xs:enumeration value="LastTimeEVRWTransactionLogID"/>
            <xs:enumeration value="LastUsedDateTime"/>
            <xs:enumeration value="LogCheck"/>
            <xs:enumeration value="MediaData"/>
            <xs:enumeration value="MediumID"/>
            <xs:enumeration value="MediumIssuerInformation"/>
            <xs:enumeration value="MemberInformation"/>
            <xs:enumeration value="MerchantID"/>
            <xs:enumeration value="ModuleID"/>
            <xs:enumeration value="NegativeInformationType"/>
            <xs:enumeration value="NegativeInformationUpdateDateTime"/>
            <xs:enumeration value="NumberOfAddition"/>
            <xs:enumeration value="NumberOfEVRWTransactionLog"/>
            <xs:enumeration value="NumberOfFreeEVRWTransactionLog"/>
            <xs:enumeration value="NumberOfRecord"/>
            <xs:enumeration value="NumberOfSentEVRWTransactionLog"/>
            <xs:enumeration value="NumberOfSubtraction"/>
            <xs:enumeration value="NumberOfTransaction"/>
            <xs:enumeration value="NumberOfUncompletedAddition"/>
            <xs:enumeration value="NumberOfUncompletedSubtraction"/>
            <xs:enumeration value="NumberOfUncompletedVoid"/>
            <xs:enumeration value="NumberOfVoid"/>
            <xs:enumeration value="OtherAmount"/>
            <xs:enumeration value="PaymentCondition"/>
            <xs:enumeration value="PaymentDetail"/>
            <xs:enumeration value="PaymentMethod"/>
            <xs:enumeration value="PaymentMethodForPoint"/>
            <xs:enumeration value="Point"/>
            <xs:enumeration value="POSDateTime"/>
            <xs:enumeration value="POSTransactionNumber"/>
            <xs:enumeration value="RegistrableServiceCapacity"/>
            <xs:enumeration value="RequestedAutoChargeAmount"/>
            <xs:enumeration value="ResponseCode1"/>
            <xs:enumeration value="ResponseCode2"/>
            <xs:enumeration value="ResultOnSettlement"/>
            <xs:enumeration value="RetryTimeout"/>
            <xs:enumeration value="SettledAmount"/>
            <xs:enumeration value="SettledAutoChargeAmount"/>
            <xs:enumeration value="SettledMemberInformation"/>
            <xs:enumeration value="SettledOtherAmount"/>
            <xs:enumeration value="SettledPoint"/>
            <xs:enumeration value="SettledVoucherID"/>
            <xs:enumeration value="SettlementNumber"/>
            <xs:enumeration value="SignatureFlag"/>
            <xs:enumeration value="SoundAssistFlag"/>
            <xs:enumeration value="StartAccountID"/>
            <xs:enumeration value="StartDateTime"/>
            <xs:enumeration value="StartEVRWTransactionNumber"/>
            <xs:enumeration value="StartPOSTransactionNumber"/>
            <xs:enumeration value="SummaryTermType"/>
            <xs:enumeration value="TargetService"/>
            <xs:enumeration value="TaxOthers"/>
            <xs:enumeration value="TotalAmountOfAddition"/>
            <xs:enumeration value="TotalAmountOfSubtraction"/>
            <xs:enumeration value="TotalAmountOfTransaction"/>
            <xs:enumeration value="TotalAmountOfUncompletedAddition"/>
            <xs:enumeration value="TotalAmountOfUncompletedSubtraction"/>
            <xs:enumeration value="TotalAmountOfUncompletedVoid"/>
            <xs:enumeration value="TotalAmountOfVoid"/>
            <xs:enumeration value="TouchTimeout"/>
            <xs:enumeration value="TransactionType"/>
            <xs:enumeration value="UILCDControl"/>
            <xs:enumeration value="UILEDControl"/>
            <xs:enumeration value="UISOUNDControl"/>
            <xs:enumeration value="VOIDorRETURN"/>
            <xs:enumeration value="VoidTransactionType"/>
            <xs:enumeration value="VoucherID"/>
            <xs:enumeration value="VourcherIDList"/>
            <xs:enumeration value="WorkstationID"/>
            <xs:enumeration value="WorkstationMaker"/>
            <xs:enumeration value="WorkstationSerialNumber"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="UpdateDataTypeCode">
        <xs:union memberTypes="UpdateDataTypeCodeEnumeration TypeCodeExtension"/>
    </xs:simpleType>
    <xs:simpleType name="UpdateDataTypeCodeEnumeration">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="EVRW_AD_KEY"/>
            <xs:enumeration value="EVRW_AD_NEGATIVE_LIST"/>
            <xs:enumeration value="EVRW_AD_OTHERS"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- Local WSDL Root Element Names -->
    <xs:element name="AccessDailyLog" type="AccessDailyLogType">
        <xs:annotation>
            <xs:documentation>Gets daily log from EVRW</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AccessData" type="AccessDataType">
        <xs:annotation>
            <xs:documentation>ata other than a transaction log is accessed from an electronic value
                reader writer.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AccessLog" type="AccessLogType">
        <xs:annotation>
            <xs:documentation>Gets transaction log from device.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="ActivateEVService" type="DataObjectType">
        <xs:annotation>
            <xs:documentation>Executes the device activation process</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="ActivateService" type="DataObjectType">
        <xs:annotation>
            <xs:documentation>The Electronic Value Reader Writer’s activation processing is
                done.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AddValue" type="AddValueType">
        <xs:annotation>
            <xs:documentation>Electronic value is added to the card.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AuthorizeCompletion" type="AuthorizeCompletionType">
        <xs:annotation>
            <xs:documentation>Purchase after approval is intended</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AuthorizePreSale" type="AuthorizePreSalesType">
        <xs:annotation>
            <xs:documentation>Makes a pre-authorization</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AuthorizeRefund" type="AuthorizeRefundType">
        <xs:annotation>
            <xs:documentation>Refund purchase approval is intended</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AuthorizeSales" type="AuthorizeSalesType">
        <xs:annotation>
            <xs:documentation>Normal purchase approval is intended</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AuthorizeVoid" type="AuthorizeVoidType">
        <xs:annotation>
            <xs:documentation>Purchase cancellation approval is intended</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="AuthorizeVoidPreSales" type="AuthorizeVoidPreSalesType">
        <xs:annotation>
            <xs:documentation>Pre-authorization cancellation approval is intended</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="BeginDetection" type="BeginDetectionType">
        <xs:annotation>
            <xs:documentation>The method waits device processing during the value set to the timeout
                parameter in each millisecond</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="BeginRemoval" type="BeginRemovalType">
        <xs:annotation>
            <xs:documentation>The method waits device processing during the value set to the timeout
                parameter in each millisecond. If the parameter value is zero, the method tries to
                begin removal, and returns appropriate status immediately.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="CancelValue" type="CancelValueType">
        <xs:annotation>
            <xs:documentation>Electronic value operation demanded from the card is
                canceled.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="CaptureCard">
        <xs:annotation>
            <xs:documentation>The card left behind at the card insertion slot is moved to the stock
                space.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="CashDeposit" type="CashDepositType">
        <xs:annotation>
            <xs:documentation>Chargings</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="CheckCard" type="CheckCardType">
        <xs:annotation>
            <xs:documentation>Card Check is intended</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="CheckServiceRegistrationToMedium" type="CheckServiceRegistrationToMediumType">
        <xs:annotation>
            <xs:documentation>To a medium, it is checked whether electronic value service can be
                registered</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="ClearParameterInformation">
        <xs:annotation>
            <xs:documentation>Clears all the tag values for the control set previously stored in
                SetParameterInformation method</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="CloseDailyEVService" type="CloseDailyEVServiceType">
        <xs:annotation>
            <xs:documentation>Executes the closing process of the service selected by CurrentService
                property..</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="DeactivateEVService" type="DeactivateEVServiceType">
        <xs:annotation>
            <xs:documentation>Executes the device deactivation process.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="EndDetection">
        <xs:annotation>
            <xs:documentation>Called to end the card detection processing.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="EndRemoval">
        <xs:annotation>
            <xs:documentation>Calling for removal end of the card.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="EnumerateCardServices">
        <xs:annotation>
            <xs:documentation>Service in which it can use in the card is enumerated, and it sets it
                to the CardServiceList property.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="LockTerminal">
        <xs:annotation>
            <xs:documentation>Locks the device, and it is made not to use</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="OpenDailyEVService" type="DataObjectType">
        <xs:annotation>
            <xs:documentation>Executes the opening process of the service selected by CurrentService
                property..</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="QueryLastSuccessfulTransactionResult">
        <xs:annotation>
            <xs:documentation>This method is used to refresh the property values that resulted from
                last successful readValue, writeValue, addValue, subtractValue, cancelValue, and
                accessLog methods calls.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="ReadValue" type="SequenceTimeoutType">
        <xs:annotation>
            <xs:documentation>Reads the electronic value from the card.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="RegisterServiceToMedium" type="SequenceTimeoutType">
        <xs:annotation>
            <xs:documentation>Electronic value service is registered to a medium</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="RetrieveResultInformation" type="RetrieveResultInformationType">
        <xs:annotation>
            <xs:documentation>The string value for the tag specified by the name parameter. If the
                name parameter is not recognized or not supported for the current card type, the
                value returned will be an empty string</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="SetParameterInformation" type="SetParameterInformationType">
        <xs:annotation>
            <xs:documentation>RemarksThe setParameterInformation method is used to associate a tag
                name with additional the data value parameters that are associated with the card
                that is being read.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="SubtractValue" type="SubtractValueType">
        <xs:annotation>
            <xs:documentation>Electronic value is subtracted from the card.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="TransactionAccess" type="TransactionAccessType">
        <xs:annotation>
            <xs:documentation>When enters or exits transaction mode, this method is
                called.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="UnlockTerminal">
        <xs:annotation>
            <xs:documentation>Releases the lock, and it can be use the device.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="UnregisterServiceToMedium" type="SequenceTimeoutType">
        <xs:annotation>
            <xs:documentation>Electronic value service is deleted from a medium</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="UpdateData" type="UpdateDataType">
        <xs:annotation>
            <xs:documentation>The data of an EVR/W is updated</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="UpdateKey" type="UpdateKeyType">
        <xs:annotation>
            <xs:documentation>Electronic Value Reader Writer’s key information is
                updated.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:element name="WriteValue" type="WriteValueType">
        <xs:annotation>
            <xs:documentation>Eectronic value is witten in the card.</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="ElectronicValueRWBase">
        <xs:choice maxOccurs="unbounded" minOccurs="0">
            <xs:element form="qualified" name="GetProperty" type="ElectronicValueRWPropertiesType"/>
            <xs:element form="qualified" name="SetProperty" type="ElectronicValueRWPropertiesType"/>
            <xs:group ref="XMLPOSCommonMethodsGroup"/>
            <xs:group ref="ElectronicValueRWMethodsGroup"/>
        </xs:choice>
    </xs:complexType>
    <!--Common WSDL Root Element Names-->
    <xs:element name="GetProperty" type="ElectronicValueRWPropertiesType"/>
    <xs:element name="SetProperty" type="ElectronicValueRWPropertiesType"/>
    <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="ElectronicValueRW">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ARTSHeader" type="ARTSCommonHeaderType"/>
                <xs:element name="ElectronicValueRWBody" type="ElectronicValueRWBase"/>
            </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>
