<Schema name="FDTIOLinkScanIdentSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:iolinkident="x-schema:FDTIOLinkIdentSchema.xml" xmlns:fdt="x-schema:FDTDataTypesSchema.xml">
  <AttributeType name="schemaVersion" dt:type="number" default="1.00"/>
  <AttributeType name="resultState" dt:type="enumeration" dt:values="provisional final error"/>
  <AttributeType name="configuredState" dt:type="enumeration" dt:values="configuredAndPhysicallyAvailable  configuredAndNotPhysicallyAvailable availableButNotConfigured notApplicable"/>

  <ElementType name="IdManufacturer" content="empty" model="closed">
    <attribute type="fdt:manufacturerId" required="yes"/>
  </ElementType>

  <ElementType name="IdTypeID" content="empty" model="closed">
    <attribute type="fdt:deviceTypeId" required="yes"/>
  </ElementType>

  <ElementType name="IdBusProtocolVersion" content="empty" model="closed">
    <attribute type="iolinkident:iolinkRevision" required="yes"/>
  </ElementType>

  <ElementType name="FunctionId" content="empty" model="closed">
    <attribute type="iolinkident:functionId" required="yes"/>
  </ElementType>

  <ElementType name="IdHardwareRevision" content="empty" model="closed">
    <attribute type="iolinkident:hardwareRevision" required="yes"/>
  </ElementType>

  <ElementType name="IdSoftwareRevision" content="empty" model="closed">
    <attribute type="iolinkident:firmwareRevision" required="yes"/>
  </ElementType>

  <ElementType name="ProductId" content="empty" model="closed">
    <attribute type="iolinkident:productId" required="yes"/>
  </ElementType>

  <ElementType name="ScanIdentification" content="eltOnly" model="closed">
    <attribute type="configuredState" required="no"/>
    <element type="IdManufacturer" minOccurs="1" maxOccurs="1"/>
    <element type="IdTypeID" minOccurs="1" maxOccurs="1"/>
    <element type="IdBusProtocolVersion" minOccurs="1" maxOccurs="1"/>
    <element type="FunctionId" minOccurs="0" maxOccurs="1"/>
    <element type="IdHardwareRevision" minOccurs="0" maxOccurs="1"/>
    <element type="IdSoftwareRevision" minOccurs="0" maxOccurs="1"/>
    <element type="ProductId" minOccurs="0" maxOccurs="1"/>
    <element type="fdt:CommunicationError" minOccurs="0" maxOccurs="1"/>
  </ElementType>

  <ElementType name="ScanIdentifications" content="eltOnly" model="closed">
    <attribute type="fdt:busCategory" required="yes"/>
    <attribute type="resultState" required="yes"/>
    <element type="ScanIdentification" minOccurs="0" maxOccurs="*"/>
  </ElementType>
  
  <ElementType name="FDT" content="eltOnly" model="closed">
    <element type="ScanIdentifications" minOccurs="1" maxOccurs="1"/>
  </ElementType>
</Schema>
