<Schema name="FDTHARTCommunicationSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" xmlns:fdt="x-schema:FDTDataTypesSchema.xml">
	<!--Definition of Attributes-->
	<AttributeType name="schemaVersion" dt:type="number" default="1.21"/>       
	<AttributeType name="address1" dt:type="ui1"/>
	<AttributeType name="address2" dt:type="ui1"/>
	<AttributeType name="address3" dt:type="ui1"/>
	<AttributeType name="commandNumber" dt:type="ui1"/>
	<AttributeType name="communicationReference" dt:type="uuid"/>
	<AttributeType name="deviceStatus" dt:type="ui1"/>
	<AttributeType name="deviceTypeId" dt:type="ui1"/>
	<AttributeType name="longFrameRequired" dt:type="boolean"/>
	<AttributeType name="manufacturerId" dt:type="ui1"/>
	<AttributeType name="preambleCount" dt:type="ui1"/>
	<AttributeType name="primaryMaster" dt:type="boolean"/>
	<AttributeType name="shortAddress" dt:type="ui1"/>
	<AttributeType name="value" dt:type="ui1"/>
	<AttributeType name="sequenceTime" dt:type="ui4"/>
	<AttributeType name="delayTime" dt:type="ui4"/>
      	<AttributeType name="burstFrame" dt:type="boolean"/>                                         
      	<AttributeType name="burstModeDetected" dt:type="boolean"/>                            

	<!--Definition of Elements-->
	<ElementType name="CommunicationStatus" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="value" required="yes"/>
	</ElementType>
	<ElementType name="CommandResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="value" required="yes"/>
	</ElementType>
	<ElementType name="Status" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="deviceStatus" required="yes"/>
		<group order="one" minOccurs="1" maxOccurs="1">
			<element type="CommunicationStatus"/>
			<element type="CommandResponse"/>
		</group>
	</ElementType>
	<ElementType name="LongAddress" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="manufacturerId" required="yes"/>
		<attribute type="deviceTypeId" required="yes"/>
		<attribute type="address1" required="yes"/>
		<attribute type="address2" required="yes"/>
		<attribute type="address3" required="yes"/>
	</ElementType>
	<ElementType name="ShortAddress" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="shortAddress" required="yes"/>
	</ElementType>
	<ElementType name="ConnectRequest" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:tag" required="yes"/>
		<attribute type="preambleCount" required="no"/>
		<attribute type="primaryMaster" required="no"/>
		<attribute type="longFrameRequired" required="no"/>
		<attribute type="fdt:systemTag" required="no"/>                                                        
		<element type="LongAddress" minOccurs="0" maxOccurs="1"/>
		<element type="ShortAddress" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="ConnectResponse" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="fdt:tag" required="yes"/>
		<attribute type="preambleCount" required="yes"/>
		<attribute type="primaryMaster" required="yes"/>
		<attribute type="communicationReference" required="yes"/>
		<element type="LongAddress" minOccurs="0" maxOccurs="1"/>
		<element type="ShortAddress" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="DisconnectRequest" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="DisconnectResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="DataExchangeRequest" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="commandNumber" required="yes"/>
		<attribute type="communicationReference" required="yes"/>
		<element type="fdt:CommunicationData" minOccurs="0" maxOccurs="1"/>
	</ElementType>
	<ElementType name="DataExchangeResponse" content="eltOnly" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="commandNumber" required="yes"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="burstFrame" required="no"/>                                             
		<element type="fdt:CommunicationData" minOccurs="0" maxOccurs="1"/>
		<element type="Status" minOccurs="1" maxOccurs="1"/>
	</ElementType>
	<ElementType name="SequenceBegin" content="empty" model="closed">
		<attribute type="sequenceTime" required="no"/>
		<attribute type="delayTime" required="no"/>
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="SequenceEnd" content="empty" model="closed">
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="SequenceStart" content="empty" model="closed">
		<attribute type="communicationReference" required="yes"/>
	</ElementType>
	<ElementType name="Abort" content="empty" model="closed">
                <attribute type="communicationReference" required="no"/>
	</ElementType>
      <ElementType name="SubscribeRequest" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
       </ElementType>
       <ElementType name="SubscribeResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="burstModeDetected" required="yes"/>
		<attribute type="fdt:communicationError" required="no"/>
        </ElementType>
        <ElementType name="UnsubscribeRequest" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
        </ElementType>
        <ElementType name="UnsubscribeResponse" content="empty" model="closed">
		<attribute type="fdt:nodeId" required="no"/>
		<attribute type="communicationReference" required="yes"/>
		<attribute type="fdt:communicationError" required="no"/>
         </ElementType>
	<ElementType name="FDT" content="eltOnly" model="closed">
		<attribute type="schemaVersion" required="no"/>                     
		<attribute type="fdt:nodeId" required="no"/>
		<group order="one" minOccurs="1" maxOccurs="1">
			<element type="ConnectRequest"/>
			<element type="ConnectResponse"/>
			<element type="DisconnectRequest"/>
			<element type="DisconnectResponse"/>
			<element type="DataExchangeRequest"/>
			<element type="DataExchangeResponse"/>
			<element type="SequenceBegin"/>
			<element type="SequenceEnd"/>
			<element type="SequenceStart"/>
			<element type="Abort"/>
	    		<element type="SubscribeRequest"/>
	    		<element type="SubscribeResponse"/>
			<element type="UnsubscribeRequest"/>
	   		<element type="UnsubscribeResponse"/>
			<element type="fdt:CommunicationError"/>
		</group>
	</ElementType>
</Schema>

