<Schema name="FDTProfinetIODeviceIdentSchema" 
	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"/>
    
    <!-- DCP -->    
    <ElementType name="IdBusProtocol" content="eltOnly" model="closed">
        <attribute type="pnioident:busProtocol" required="no"/>
        <element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>    
    </ElementType>
    <ElementType name="IdManufacturer" content="eltOnly" model="closed">
        <attribute type="fdt:manufacturerId" required="no"/>
        <element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="IdTypeID" content="eltOnly" model="closed">
        <attribute type="fdt:deviceTypeId" required="no"/>
        <element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="IdDeviceRole" content="eltOnly" model="closed">
        <attribute type="pnioident:deviceRole" required="no"/>
        <element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="ManufacturerSpecificExtension" content="empty" model="closed">
        <attribute type="pnioident:manufacturerSpecificExtension" required="yes"/>
    </ElementType>
	
	<!-- I&M -->
    <ElementType name="IdOrder" content="eltOnly" model="closed">
        <attribute type="pnioident:orderId" required="yes"/>
        <element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
    <ElementType name="IdSoftwareRevision" content="eltOnly" model="closed">
        <attribute type="pnioident:softwareRevision" required="no"/>
        <element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>
    </ElementType>
 	<ElementType name="IdHardwareRevision" content="eltOnly" model="closed">
		<attribute type="pnioident:hardwareRevision" required="no"/>
		<element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<ElementType name="ProfileID" content="eltOnly" model="closed">
		<attribute type="pnioident:profileID" required="no"/>
		<element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>
	</ElementType>
	<ElementType name="ProfileSpecificType" content="eltOnly" model="closed">
		<attribute type="pnioident:profileSpecificType" required="no"/>
		<element type="pnioident:RegExpr" minOccurs="0" maxOccurs="*"/>
	</ElementType>
    
	<ElementType name="DeviceIdentification_DCP" content="eltOnly" model="closed">
        <attribute type="pnioident: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="IdDeviceRole" minOccurs="1" maxOccurs="1"/>
        <element type="ManufacturerSpecificExtension" minOccurs="0" maxOccurs="1"/>
    </ElementType>
    <ElementType name="DeviceIdentification_IM" content="eltOnly" model="closed">
        <attribute type="pnioident: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="IdDeviceRole" minOccurs="1" maxOccurs="1"/>
        <element type="ManufacturerSpecificExtension" minOccurs="0" maxOccurs="1"/>
		
        <element type="IdOrder" 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="DeviceIdentifications" content="eltOnly" model="closed">
        <attribute type="fdt:busCategory" required="yes"/>
        <group order="one" minOccurs="1" maxOccurs="*">
            <element type="DeviceIdentification_DCP" minOccurs="0" maxOccurs="*"/>
            <element type="DeviceIdentification_IM" minOccurs="0" maxOccurs="*"/>
        </group>
    </ElementType>
    <ElementType name="FDT" content="eltOnly" model="closed">
        <element type="DeviceIdentifications" minOccurs="1" maxOccurs="1"/>
    </ElementType>
</Schema>
