<Schema name="FDTInterbusScanIdentSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:ibsident="x-schema:FDTInterbusIdentSchema.xml" xmlns:fdt="x-schema:FDTDataTypesSchema.xml">
    <!--Definition of Attributes-->
    <AttributeType name="schemaVersion" dt:type="number" default="1.21"/>
    <AttributeType name="resultState" dt:type="enumeration" dt:values="provisional final error"/>
    <AttributeType name="configuredState" dt:type="enumeration" dt:values="configuredAndPhysicallyAvailable  configuredAndNotPhysicallyAvailable availableButNotConfigured notApplicable"/>
    <!--Definition of elements-->
    <!--                                        -->
    <!--                  IBS                 -->
    <!--                                        -->
    <ElementType name="IdAddress" content="empty" model="closed">
        <attribute type="ibsident:systemNumber" required="yes"/>
        <attribute type="ibsident:segmentNumber" required="yes"/>
        <attribute type="ibsident:positionNumber" required="yes"/>
    </ElementType>
    <ElementType name="IdBusProtocol" content="empty" model="closed">
        <attribute type="ibsident:busProtocol" required="yes"/>
    </ElementType>
    <ElementType name="TypeIDIBS" content="empty" model="closed">
        <attribute type="ibsident:identCode" required="yes"/>
        <attribute type="ibsident:PALength" required="yes"/>
        <attribute type="ibsident:PDLength" required="yes"/>
    </ElementType>
    <!--                                        -->
    <!--                  IBS PCP         -->
    <!--                                        -->
    <ElementType name="IdTypeID" content="empty" model="closed">
        <attribute type="ibsident:deviceName" required="yes"/>
    </ElementType>
    <ElementType name="IdManufacturer" content="empty" model="closed">
        <attribute type="ibsident:manufacturerName" required="yes"/>
    </ElementType>
    <ElementType name="IdSoftwareRevision" content="empty" model="closed">
        <attribute type="ibsident:firmwareRevision" required="yes"/>
    </ElementType>
    <ElementType name="IdentCode" content="empty" model="closed">
        <attribute type="ibsident:identCode" required="yes"/>
    </ElementType>
    <ElementType name="ProcessLength" content="empty" model="closed">
        <attribute type="ibsident:PDLength" required="yes"/>
    </ElementType>
        <ElementType name="ParamLength" content="empty" model="closed">
        <attribute type="ibsident:PALength" required="yes"/>
    </ElementType>
    <!--                                        -->
    <!--                  IBS Base Profile       -->
    <!--                                        -->
    <ElementType name="IdHardwareRevision" content="empty" model="closed">
        <attribute type="ibsident:hardwareRevision" required="yes"/>
    </ElementType>
    <ElementType name="OrderId" content="empty" model="closed">
        <attribute type="ibsident:orderId" required="yes"/>
    </ElementType>
    <ElementType name="VendorId" content="empty" model="closed">
        <attribute type="ibsident:vendorId" required="yes"/>
    </ElementType>
    <ElementType name="DeviceFamily" content="empty" model="closed">
        <attribute type="ibsident:deviceFamily" required="yes"/>
    </ElementType>
    <ElementType name="PCPVersion" content="empty" model="closed">
        <attribute type="ibsident:pcpVersion" required="yes"/>
    </ElementType>
    <ElementType name="CommProfile" content="empty" model="closed">
        <attribute type="ibsident:commProfile" required="yes"/>
    </ElementType>
    <ElementType name="ManufacturerSpecificExtension" content="empty" model="closed">
        <attribute type="ibsident:manufacturerSpecificExtension" required="yes"/>
    </ElementType>
    <ElementType name="ScanIdentification_IBS" content="eltOnly" model="closed">
        <attribute type="configuredState" required="no"/>
        <!--    attributes with semantic meaning: -->
        <element type="fdt:CommunicationError" minOccurs="0" maxOccurs="1"/>
        <element type="IdAddress" minOccurs="1" maxOccurs="1"/>
        <element type="IdBusProtocol" minOccurs="1" maxOccurs="1"/>
        <element type="TypeIDIBS" minOccurs="1" maxOccurs="1"/>
        <!--    manufacturer specific extension, added in manufacturer specific identification -->
        <element type="ManufacturerSpecificExtension" minOccurs="0" maxOccurs="1"/>
    </ElementType>
    <ElementType name="ScanIdentification_IBS_PCP" content="eltOnly" model="closed">
        <attribute type="configuredState" required="no"/>
        <!--    attributes with semantic meaning: -->
        <element type="fdt:CommunicationError" minOccurs="0" maxOccurs="1"/>
        <element type="IdAddress" minOccurs="1" maxOccurs="1"/>
        <element type="IdBusProtocol" minOccurs="1" maxOccurs="1"/>
        <element type="IdManufacturer" minOccurs="1" maxOccurs="1"/>
        <element type="IdTypeID" minOccurs="1" maxOccurs="1"/>
        <element type="IdSoftwareRevision" minOccurs="1" maxOccurs="1"/>
        <element type="IdentCode" minOccurs="1" maxOccurs="1"/>
        <element type="ProcessLength" minOccurs="1" maxOccurs="1"/>
        <element type="ParamLength" minOccurs="1" maxOccurs="1"/>
        <!--    manufacturer specific extension, added in manufacturer specific identification -->
        <element type="ManufacturerSpecificExtension" minOccurs="0" maxOccurs="1"/>
    </ElementType>
    <ElementType name="ScanIdentification_IBS_BASE_PROFILE" content="eltOnly" model="closed">
        <attribute type="configuredState" required="no"/>
        <!--    attributes with semantic meaning: -->
        <element type="fdt:CommunicationError" minOccurs="0" maxOccurs="1"/>
        <element type="IdAddress" minOccurs="1" maxOccurs="1"/>
        <element type="IdBusProtocol" minOccurs="1" maxOccurs="1"/>
        <element type="IdManufacturer" minOccurs="1" maxOccurs="1"/>
        <element type="IdTypeID" minOccurs="1" maxOccurs="1"/>
        <element type="IdSoftwareRevision" minOccurs="1" maxOccurs="1"/>
        <element type="IdHardwareRevision" minOccurs="1" maxOccurs="1"/>
        <element type="IdentCode" minOccurs="1" maxOccurs="1"/>
        <element type="ProcessLength" minOccurs="1" maxOccurs="1"/>
        <element type="ParamLength" minOccurs="1" maxOccurs="1"/>
        <element type="OrderId" minOccurs="1" maxOccurs="1"/>
        <element type="VendorId" minOccurs="1" maxOccurs="1"/>
        <element type="DeviceFamily" minOccurs="1" maxOccurs="1"/>
        <element type="PCPVersion" minOccurs="1" maxOccurs="1"/>
        <element type="CommProfile" minOccurs="1" maxOccurs="1"/>
        <!--    manufacturer specific extension, added in manufacturer specific identification -->
        <element type="ManufacturerSpecificExtension" minOccurs="0" maxOccurs="1"/>
    </ElementType>
    <ElementType name="ScanIdentifications" content="eltOnly" model="closed">
        <attribute type="fdt:busCategory" required="yes"/>
        <attribute type="resultState" required="yes"/>
        <group order="one" minOccurs="1" maxOccurs="*">
            <element type="ScanIdentification_IBS" minOccurs="0" maxOccurs="*"/>
            <element type="ScanIdentification_IBS_PCP" minOccurs="0" maxOccurs="*"/>
            <element type="ScanIdentification_IBS_BASE_PROFILE" minOccurs="0" maxOccurs="*"/>
        </group>
    </ElementType>
    <ElementType name="FDT" content="eltOnly" model="closed">
        <element type="ScanIdentifications" minOccurs="1" maxOccurs="1"/>
    </ElementType>
</Schema>
