<Schema name="FDTProfinetIOScanIdentSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:pnioident="x-schema:FDTProfinetIOIdentSchema.xml" xmlns:fdt="x-schema:FDTDataTypesSchema.xml">
	
    <!-- Definition of Attributes-->
    <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"/>
	
    <!-- DCP -->
    <ElementType name="IdBusProtocol" content="empty" model="closed">
        <attribute type="pnioident:busProtocol" required="yes"/>
    </ElementType>
    <ElementType name="IdAddress" content="empty" model="closed">
        <attribute type="pnioident:nameOfStation" required="yes"/>
        <attribute type="pnioident:ipAddress" required="no"/>
        <attribute type="pnioident:macAddress" required="yes"/>
        <attribute type="pnioident:ipSubnetMask" required="no"/>
        <attribute type="pnioident:ipDefaultGateway" required="no"/>
    </ElementType>    
    <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="IdDeviceRole" content="empty" model="closed">
        <attribute type="pnioident:deviceRole" required="yes"/>
    </ElementType>
    <ElementType name="ManufacturerSpecificExtension" content="empty" model="closed">
        <attribute type="pnioident:manufacturerSpecificExtension" required="yes"/>
    </ElementType>

    <!-- I&M -->
    <ElementType name="IdOrder" content="empty" model="closed">
        <attribute type="pnioident:orderId" required="yes"/>
    </ElementType>
    <ElementType name="IdSerialNumber" content="empty" model="closed">
        <attribute type="pnioident:serialNumber" required="yes"/>
    </ElementType>
    <ElementType name="IdSoftwareRevision" content="empty" model="closed">
        <attribute type="pnioident:softwareRevision" required="yes"/>
    </ElementType>
    <ElementType name="IdHardwareRevision" content="empty" model="closed">
        <attribute type="pnioident:hardwareRevision" required="yes"/>
    </ElementType>
    <ElementType name="ProfileID" content="empty" model="closed">
        <attribute type="pnioident:profileID" required="yes"/>
    </ElementType>
    <ElementType name="ProfileSpecificType" content="empty" model="closed">
        <attribute type="pnioident:profileSpecificType" required="yes"/>
    </ElementType>    

    <ElementType name="ScanIdentification_DCP" content="eltOnly" model="closed">
        <attribute type="configuredState" required="no"/>
        <element type="fdt:CommunicationError" minOccurs="0" maxOccurs="1"/>
		
        <element type="IdBusProtocol" minOccurs="1" maxOccurs="1"/>
        <element type="IdAddress" minOccurs="1" maxOccurs="1"/>
        <element type="IdManufacturer" minOccurs="1" maxOccurs="1"/>
        <element type="IdTypeID" minOccurs="1" maxOccurs="1"/>
        <element type="IdDeviceRole" minOccurs="1" maxOccurs="1"/>
        <element type="ManufacturerSpecificExtension" minOccurs="0" maxOccurs="1"/>
    </ElementType>	
    <ElementType name="ScanIdentification_IM" content="eltOnly" model="closed">
        <attribute type="configuredState" required="no"/>
        <element type="fdt:CommunicationError" minOccurs="0" maxOccurs="1"/>
		
        <element type="IdBusProtocol" minOccurs="1" maxOccurs="1"/>
        <element type="IdAddress" minOccurs="1" maxOccurs="1"/>
        <element type="IdManufacturer" minOccurs="1" maxOccurs="1"/>
        <element type="IdTypeID" minOccurs="1" maxOccurs="1"/>
        <element type="IdDeviceRole" minOccurs="1" maxOccurs="1"/>
        <element type="ManufacturerSpecificExtension" minOccurs="0" maxOccurs="1"/>
		
        <element type="IdOrder" minOccurs="1" maxOccurs="1"/>
        <element type="IdSerialNumber" minOccurs="1" maxOccurs="1"/>
        <element type="IdSoftwareRevision" minOccurs="1" maxOccurs="1"/>
        <element type="IdHardwareRevision" minOccurs="1" maxOccurs="1"/>
        <element type="ProfileID" minOccurs="1" maxOccurs="1"/>
        <element type="ProfileSpecificType" minOccurs="1" 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_DCP" minOccurs="0" maxOccurs="*"/>
            <element type="ScanIdentification_IM" minOccurs="0" maxOccurs="*"/>
        </group>
    </ElementType>
    <ElementType name="FDT" content="eltOnly" model="closed">
        <element type="ScanIdentifications" minOccurs="1" maxOccurs="1"/>
    </ElementType>
</Schema>
