<Schema name="FDTInterbusDeviceIdentSchema" 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"/>
    <ElementType name="IdBusProtocol" content="eltOnly" model="closed">
        <attribute type="ibsident:busProtocol" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <!--			 -->
    <!-- IBS 		-->
    <!-- 			-->
    <ElementType name="TypeIDIBS" content="eltOnly" model="closed">
        <attribute type="ibsident:identCode" required="no"/>
        <attribute type="ibsident:PALength" required="no"/>
        <attribute type="ibsident:PDLength" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <!--			 -->
    <!--  PCP 		-->
    <!-- 			-->
    <ElementType name="IdTypeID" content="eltOnly" model="closed">
        <attribute type="ibsident:deviceName" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="IdManufacturer" content="eltOnly" model="closed">
        <attribute type="ibsident:manufacturerName" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="IdSoftwareRevision" content="eltOnly" model="closed">
        <attribute type="ibsident:firmwareRevision" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="IdentCode" content="eltOnly" model="closed">
        <attribute type="ibsident:identCode" required="yes"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="ProcessLength" content="eltOnly" model="closed">
        <attribute type="ibsident:PDLength" required="yes"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
        <ElementType name="ParamLength" content="eltOnly" model="closed">
        <attribute type="ibsident:PALength" required="yes"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>    
    <!--                                        -->
    <!--                  IBS Base Profile       -->
    <!--                                        -->
    <ElementType name="IdHardwareRevision" content="eltOnly" model="closed">
        <attribute type="ibsident:hardwareRevision" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="OrderId" content="eltOnly" model="closed">
        <attribute type="ibsident:orderId" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="VendorId" content="eltOnly" model="closed">
        <attribute type="ibsident:vendorId" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="DeviceFamily" content="eltOnly" model="closed">
        <attribute type="ibsident:deviceFamily" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="PCPVersion" content="eltOnly" model="closed">
        <attribute type="ibsident:pcpVersion" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="CommProfile" content="eltOnly" model="closed">
        <attribute type="ibsident:commProfile" required="no"/>
        <element type="ibsident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <!-- -->
    <!-- -->
    <!-- -->
    <ElementType name="ManufacturerSpecificExtension" content="empty" model="closed">
        <attribute type="ibsident:manufacturerSpecificExtension" required="yes"/>
    </ElementType>
    <ElementType name="DeviceIdentification_IBS" content="eltOnly" model="closed">
        <attribute type="ibsident:idDTMSupportLevel" required="yes"/>
        <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="DeviceIdentification_IBS_PCP" content="eltOnly" model="closed">
        <attribute type="ibsident:idDTMSupportLevel" required="yes"/>
        <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="DeviceIdentification_IBS_BASE_PROFILE" content="eltOnly" model="closed">
        <attribute type="ibsident:idDTMSupportLevel" required="yes"/>
        <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="DeviceIdentifications" content="eltOnly" model="closed">
        <attribute type="fdt:busCategory" required="yes"/>
        <group order="one" minOccurs="1" maxOccurs="*">
            <element type="DeviceIdentification_IBS" minOccurs="0" maxOccurs="*"/>
            <element type="DeviceIdentification_IBS_PCP" minOccurs="0" maxOccurs="*"/>
            <element type="DeviceIdentification_IBS_BASE_PROFILE" minOccurs="0" maxOccurs="*"/>
        </group>
    </ElementType>
    <ElementType name="FDT" content="eltOnly" model="closed">
        <element type="DeviceIdentifications" minOccurs="1" maxOccurs="1"/>
    </ElementType>
</Schema>
