<?xml version = "1.0" encoding = "ISO-8859-2"?>
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
	<xsd:element name = "INSTAT">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Envelope"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Envelope">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "envelopeId"/>
				<xsd:element ref = "DateTime"/>
				<xsd:element ref = "Party"/>
				<xsd:element ref = "softwareUsed" minOccurs = "0"/>
				<xsd:element ref = "Declaration" maxOccurs = "unbounded"/>
				<xsd:element ref = "numberOfDeclarations" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "envelopeId" type = "xsd:string"/>
	<xsd:element name = "DateTime">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "date"/>
				<xsd:element ref = "time" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Party">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "partyId"/>
				<xsd:element ref = "organizationUnit" minOccurs = "0"/>
				<xsd:element ref = "partyName"/>
				<xsd:element ref = "Address"/>
				<xsd:element ref = "ContactPerson" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:attribute name = "partyType" use = "required">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "PSI"/>
						<xsd:enumeration value = "TDP"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "partyRole" use = "required">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "sender"/>
						<xsd:enumeration value = "PSI"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "partyId" type = "xsd:string"/>
	<xsd:element name = "organizationUnit" type = "xsd:string"/>
	<xsd:element name = "partyName" type = "xsd:string"/>
	<xsd:element name = "Address">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "streetName"/>
				<xsd:element ref = "postalCode" minOccurs = "0"/>
				<xsd:element ref = "cityName" minOccurs = "0"/>
				<xsd:element ref = "phoneNumber" minOccurs = "0"/>
				<xsd:element ref = "faxNumber" minOccurs = "0"/>
				<xsd:element ref = "e-mail" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "streetName" type = "xsd:string"/>
	<xsd:element name = "postalCode" type = "xsd:string"/>
	<xsd:element name = "cityName" type = "xsd:string"/>
	<xsd:element name = "phoneNumber" type = "xsd:string"/>
	<xsd:element name = "faxNumber" type = "xsd:string"/>
	<xsd:element name = "e-mail" type = "xsd:string"/>
	<xsd:element name = "ContactPerson">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "contactPersonName"/>
				<xsd:element ref = "Address" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "contactPersonName" type = "xsd:string"/>
	<xsd:element name = "numberOfDeclarations" type = "xsd:integer"/>
	<xsd:element name = "softwareUsed" type = "xsd:string"/>
	<xsd:element name = "Declaration">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "declarationId"/>
				<xsd:element ref = "referencePeriod"/>
				<xsd:element ref = "PSIId"/>
				<xsd:element ref = "Party"/>
				<xsd:element ref = "organizationUnit" minOccurs = "0"/>
				<xsd:element ref = "Function"/>
				<xsd:element ref = "declarationTypeCode"/>
				<xsd:element ref = "flowCode"/>
				<xsd:element ref = "currencyCode"/>
				<xsd:element ref = "Item" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "totalNumberLines" minOccurs = "0"/>
				<xsd:element ref = "totalNumberDetailedLines" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "declarationId" type = "xsd:string"/>
	<xsd:element name = "referencePeriod" type = "xsd:string"/>
	<xsd:element name = "PSIId" type = "xsd:string"/>
	<xsd:element name = "Function">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "functionCode"/>
				<xsd:element ref = "previousDeclarationId" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "functionCode" type = "xsd:string"/>
	<xsd:element name = "previousDeclarationId" type = "xsd:integer"/>
	<xsd:element name = "declarationTypeCode" type = "xsd:string"/>
	<xsd:element name = "flowCode" type = "xsd:string"/>
	<xsd:element name = "currencyCode" type = "xsd:string"/>
	<xsd:element name = "totalNumberLines" type = "xsd:integer"/>
	<xsd:element name = "totalNumberDetailedLines" type = "xsd:integer"/>
	<xsd:element name = "Item">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "itemNumber"/>
				<xsd:element ref = "CN8"/>
				<xsd:element ref = "goodsDescription" minOccurs = "0"/>
				<xsd:element ref = "MSConsDestCode"/>
				<xsd:element ref = "countryOfOriginCode" minOccurs = "0"/>
				<xsd:element ref = "netMass" minOccurs = "0"/>
				<xsd:element ref = "quantityInSU" minOccurs = "0"/>
				<xsd:element ref = "invoicedAmount"/>
				<xsd:element ref = "NatureOfTransaction" minOccurs = "0"/>
				<xsd:element ref = "modeOfTransportCode" minOccurs = "0"/>
				<xsd:element ref = "regionCode" minOccurs = "0"/>
				<xsd:element ref = "DeliveryTerms" minOccurs = "0"/>
				<xsd:element ref = "partnerId" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "itemNumber" type = "xsd:integer"/>
	<xsd:element name = "CN8">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "CN8Code"/>
				<xsd:element ref = "SUCode" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "CN8Code" type = "xsd:string"/>
	<xsd:element name = "SUCode" type = "xsd:string"/>
	<xsd:element name = "goodsDescription" type = "xsd:string"/>
	<xsd:element name = "MSConsDestCode" type = "xsd:string"/>
	<xsd:element name = "countryOfOriginCode" type = "xsd:string"/>
	<xsd:element name = "netMass" type = "xsd:integer"/>
	<xsd:element name = "quantityInSU" type = "xsd:integer"/>
	<xsd:element name = "invoicedAmount" type = "xsd:integer"/>
	<xsd:element name = "NatureOfTransaction">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "natureOfTransactionACode"/>
				<xsd:element ref = "natureOfTransactionBCode" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "natureOfTransactionACode" type = "xsd:string"/>
	<xsd:element name = "natureOfTransactionBCode" type = "xsd:string"/>
	<xsd:element name = "modeOfTransportCode" type = "xsd:string"/>
	<xsd:element name = "regionCode" type = "xsd:string"/>
	<xsd:element name = "DeliveryTerms">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "TODCode"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "TODCode" type = "xsd:string"/>
	<xsd:element name = "partnerId" type = "xsd:string"/>
	<xsd:element name = "date" type = "xsd:date"/>
	<xsd:element name = "time" type = "xsd:time"/>
</xsd:schema>