<?xml version = "1.0" encoding = "UTF-8"?>
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema" elementFormDefault = "qualified">
	<xsd:element name="IPC2551Messages">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ProductInfoResponse" type="ProductInfoResponse" minOccurs="0" maxOccurs="1" />
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<!-- Enumerations -->
	<xsd:simpleType name="edataType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="NUMERIC" />
			<xsd:enumeration value="ARRAY" />
			<xsd:enumeration value="STRING" />
		</xsd:restriction>
	</xsd:simpleType>
	<!-- Complex Types-->
	<xsd:complexType name="DataResponse">
		<xsd:sequence>
		</xsd:sequence>
			<xsd:attribute name="dataType" use="required" type="edataType" /> 
			<xsd:attribute name="dataName" use="required" type="xsd:string" /> 
			<xsd:attribute name="dataValue" use="required" type="xsd:string" />
	</xsd:complexType>

<!-- Complex Types - Events -->
	<xsd:complexType name="ProductInfoResponse">
		<xsd:sequence>
			<xsd:element name="Extensions" type="Extension" minOccurs="0" />
			<xsd:element name="ProductHierarchy" type="ProductHierarchy" minOccurs="1" />
			<xsd:element name="DataResponse" type="DataResponse" minOccurs="1" />
		</xsd:sequence>
			<xsd:attribute name="authority" type = "xsd:string"/>
			<xsd:attribute name="requestRef" use="required" type="xsd:IDREF" /> 
			<xsd:attribute name="sessionId" use="required" type="xsd:string" /> 
			<xsd:attribute name="dateTime" use="required" type="xsd:dateTime" /> 
			<xsd:attribute name="itemInstanceId" use="required" type="xsd:IDREF" /> 
			<xsd:attribute name="itemType" type="xsd:string" /> 
	</xsd:complexType>
	<xsd:complexType name="ProductHierarchy">
		<xsd:sequence>
			<xsd:element name="Extensions" type="Extension" minOccurs="0" />
		</xsd:sequence>
			<xsd:attribute name="parentInstanceId" use="required" type="xsd:IDREF" /> 
			<xsd:attribute name="childInstanceId" use="required" type="xsd:IDREF" /> 
			<xsd:attribute name="notes"  type="xsd:string" /> 
	</xsd:complexType>
	<xsd:complexType name="Extension">
		<xsd:sequence>
			<xsd:element name="Extension" type="xsd:anyType" />
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>
