<?xml version="1.0" encoding="UTF-8"?>
<!-- ********************************************************************************** -->
<!-- IBM SVN information                                                    			-->
<!-- Version:         $Revision: 7085 $													-->
<!-- LastChangedDate: $LastChangedDate: 2017-08-23 16:53:46 +0200 (Mi, 23 Aug 2017) $  	-->
<!-- LastChangedBy:   $LastChangedBy: r.petermann@de.ibm.com $						   	-->
<!-- ********************************************************************************** -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:po="http://paymentorder.justice.eu" 
	version="3.3">

	<xsd:include schemaLocation="SimpleTypes.xsd" />
	<xsd:include schemaLocation="CatalogTypes.xsd" />

	<xsd:element name="MeansOfDeposit" type="BankConnectionType" abstract="true" />
	<xsd:element name="MeansOfCollection" type="BankConnectionType" abstract="true" />
	<xsd:element name="MeansOfDepositAccount" type="BankAccountType" substitutionGroup="MeansOfDeposit" />
	<xsd:element name="MeansOfCollectionAccount" type="BankAccountType" substitutionGroup="MeansOfCollection" />
	<xsd:element name="MeansOfCollectionCard" type="CreditCardType" substitutionGroup="MeansOfCollection" />
	
	<!-- new in 3.0 -->
	<xsd:complexType name="AttachmentType">
		<xsd:sequence>
			<xsd:element name="Type" type="AttachmentTypeCatalogType"/>
			<xsd:element name="OriginalFileName" type="String_128_Value"/>
			<xsd:element name="TechnicalFileName" type="String_128_Value"/>
			<xsd:element name="MimeType" type="AttachmentMimetypeCatalogType"/>
			<xsd:element minOccurs="0" name="Description" type="String_128_Value"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="JurisdictionType">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" name="Explanation" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Reason" type="JurisdictionCatalogType" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<xsd:complexType name="ClaimType">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="1" name="Amount" type="Double_12_2_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="BaseOfClaim" type="BaseOfClaimCatalogType" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Circumstance" type="CircumstanceCatalogType" />
			<xsd:element maxOccurs="1" minOccurs="0" name="DateFrom" type="DateValue" />
			<xsd:element maxOccurs="1" minOccurs="0" name="DateTo" type="DateValue" />
			<xsd:element maxOccurs="1" minOccurs="0" name="OtherDetailCode" type="OtherDetailCodeCatalogType" />
			<xsd:element maxOccurs="1" minOccurs="0" name="OtherDetailText" type="String_128_Value" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<xsd:complexType name="BankConnectionType" abstract="true">
		<xsd:sequence>
			<xsd:element name="AccountHolder" type="String_128_Value" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>
	
	<!-- gelöscht mit Version 2.3 
	<xsd:group name="BankAccountNationalGroup">
		<xsd:sequence>
			<xsd:element name="AccountNumber" type="String_128_Value" />
			<xsd:element name="BankIdentification" type="String_128_Value" />
		</xsd:sequence>
	</xsd:group>
	 -->
	 
	<xsd:group name="BankAccountInternationalGroup">
		<xsd:sequence>
			<xsd:element name="BIC" type="String_128_Value" minOccurs="0" />  <!-- changed in 3.2.1 -->
			<xsd:element name="IBAN" type="String_128_Value" />
		</xsd:sequence>
	</xsd:group>
	
	<xsd:complexType name="BankAccountType">
		<xsd:complexContent>
			<xsd:extension base="BankConnectionType">
				<!-- gelöscht mit Version 2.3
				<xsd:choice>
					<xsd:group ref="BankAccountNationalGroup" />
				 -->
				<xsd:group ref="BankAccountInternationalGroup" />
				<!-- gelöscht mit Version 2.3
				</xsd:choice>
				 -->
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>

	<!-- Since 1.2.1 -->
	<xsd:complexType name="CourtType">
		<xsd:sequence>
			<xsd:element name="Address" type="AddressType"/>
			<xsd:element name="Name" type="String_48_Value"/>
			<xsd:element name="CourtId" minOccurs="0" type="String_256_Value"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="CreditCardType">
		<xsd:complexContent>
			<xsd:extension base="BankConnectionType">
				<xsd:sequence>
					<xsd:element name="CardNumber" type="String_128_Value" />
					<xsd:element name="CreditCardCompany" type="String_128_Value" />
					<xsd:element name="ValidTo" type="DateValue" />
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>

	<xsd:complexType name="EvidenceType">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" name="Date" type="DateValue" />
			<xsd:element maxOccurs="1" minOccurs="0" name="Description" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="KindOfEvidence" type="EvidenceCatalogType" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Claim" type="ReferenceType" /> <!-- changed in 2.2.0 -->
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>
	
	<xsd:complexType name="InterestType">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" name="AmountRelevantForCalculation" type="Double_12_2_Value" />
			<xsd:element maxOccurs="1" minOccurs="0" name="DateFrom" type="DateValue" />
			<xsd:element maxOccurs="1" minOccurs="0" name="DateTo" type="DateValue" />
			<xsd:element maxOccurs="1" minOccurs="0" name="Explanation" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Ground" type="GroundCatalogType" />
			<xsd:choice>
				<xsd:element name="ExtentAboveECB" type="Double_6_3_Value" />
				<!--  <xsd:element name="ExtentPercentAboveECB" type="Double_6_3_Value" /> --> <!-- deleted in 2.2.0  -->
				<xsd:element name="InterestRate" type="Double_6_3_Value" />
			</xsd:choice>
			<xsd:element maxOccurs="1" minOccurs="1" name="Period" type="PeriodCatalogType" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Claim" type="ReferenceType" /> <!-- changed in 2.2.0 -->
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>
	
	<xsd:group name="CostGroup">
		<xsd:sequence>
			<xsd:element name="Amount" type="Double_12_2_Value" />
			<xsd:element name="Currency" type="CurrencyCatalogType" /> <!-- changed from OpenCurrencyCatalogType in 2.0 -->
		</xsd:sequence>
	</xsd:group>

	<xsd:complexType name="CostType">
		<xsd:sequence>
			<xsd:group maxOccurs="1" minOccurs="0" ref="CostGroup" />
			<xsd:element maxOccurs="1" minOccurs="0" name="Explanation" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="KindOfCost" type="KindOfCostCatalogType" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>
	
	<xsd:complexType name="RejectionOfTransferType"> <!-- new since 3.3 -->
		<xsd:complexContent>
			<xsd:extension base="ConfirmationType">
				<xsd:sequence>
					<xsd:element name="RejectionFollowUp" type="RejectionFollowUpCatalogType" minOccurs="0"/>
					<xsd:element name="RejectionFollowUpSmallClaims" type="RejectionFollowUpSmallClaimsCatalogType" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
		
	<xsd:complexType name="ConfirmationType">
		<xsd:sequence>
			<xsd:group maxOccurs="1" minOccurs="0" ref="AmbiguousNameGroup"/> <!--  since 2.1 -->
			<xsd:element name="CityOfSignature" type="String_128_Value" />
			<xsd:element name="DateOfSignature" type="DateValue" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>
		
	<!-- since 2.0 -->
	<xsd:complexType name="OutgoingConfirmationType">
		<xsd:complexContent>
			<xsd:extension base="ConfirmationType">
				<xsd:sequence>
					<xsd:element name="Official" type="String_128_Value"/>
					<xsd:element name="PhoneNumber" type="String_128_Value" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
	<!-- since 2.0 -->
	<xsd:group name="PersonNameGroup"> 
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" name="FirstName" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Name" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Type" type="TypeCatalogType" fixed="01"/> <!-- since 2.1 -->
		</xsd:sequence>	
	</xsd:group>
	
	<!-- since 2.0 -->
	<xsd:group name="CorporationNameGroup"> 
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="1" name="CorporateName" type="String_128_Value"/>
			<xsd:element maxOccurs="1" minOccurs="0" name="FirstName" type="String_128_Value" /> <!--  since 2.1 -->
			<xsd:element maxOccurs="1" minOccurs="0" name="Name" type="String_128_Value" /> <!--  since 2.1 -->
			<xsd:element maxOccurs="1" minOccurs="1" name="Type" type="TypeCatalogType" fixed="02"/> <!-- since 2.1 -->
		</xsd:sequence>
	</xsd:group>
	
	<!--  since 2.1 -->
	<xsd:group name="AmbiguousNameGroup">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" name="CorporateName" type="String_128_Value"/>
			<xsd:element maxOccurs="1" minOccurs="0" name="FirstName" type="String_128_Value" /> 
			<xsd:element maxOccurs="1" minOccurs="0" name="Name" type="String_128_Value" />
		</xsd:sequence>		
	</xsd:group>
	
	<xsd:complexType name="PartyType">
		<xsd:sequence>
		
			<xsd:element maxOccurs="unbounded" minOccurs="1" name="Address" type="AddressType" />
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="AsRepresentative" type="RelationType" />
			<xsd:element maxOccurs="unbounded" minOccurs="0" name="Communication" type="CommunicationType" />
			
			<xsd:element maxOccurs="1" minOccurs="0" name="Identifier" type="String_128_Value" />
			<xsd:choice> <!-- since 2.0 -->
				<xsd:group ref="CorporationNameGroup"/>
				<xsd:group ref="PersonNameGroup"/>		
			</xsd:choice>
			
			<xsd:element maxOccurs="1" minOccurs="0" name="Other" type="String_4096_Value" />
			<xsd:element maxOccurs="unbounded" minOccurs="1" name="PartyRole" type="RoleType" />
			<xsd:element maxOccurs="1" minOccurs="0" name="Profession" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="0" name="ReferenceNumber" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="0" name="Salutation" type="SalutationCatalogType" /> <!-- since 1.1.0 -->
			<xsd:element maxOccurs="1" minOccurs="0" name="Title" type="String_128_Value_Alpha" /> <!-- since 1.1.0 -->
			<!-- <xsd:element maxOccurs="1" minOccurs="1" name="Type" type="TypeCatalogType" /> --> <!-- deleted in 2.1 -->
			
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<xsd:complexType name="RoleType">
		<xsd:sequence>
			<xsd:element name="Role" type="RoleCatalogType" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<xsd:complexType name="ReferenceType">
		<xsd:attribute name="ref" type="xsd:IDREF" use="required" />
	</xsd:complexType>

	<xsd:complexType name="RelationType">
		<xsd:sequence>
			<xsd:element name="KindOfRelationship" type="RelationCatalogType" />
			<xsd:element name="Represented" type="ReferenceType" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<xsd:complexType name="AddressType">
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" name="AddressDetails" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Country" type="ISOCountryCatalogType" />
			<xsd:element maxOccurs="1" minOccurs="0" name="DefaultAddress" type="BooleanValue"/> <!-- since 2.3 -->
			<xsd:element maxOccurs="1" minOccurs="0" name="State" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="City" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="PostalCode" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="1" name="Street" type="String_128_Value" />
			<xsd:element maxOccurs="1" minOccurs="0" name="StreetNumber" type="String_128_Value" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<xsd:complexType name="CommunicationType">
		<xsd:sequence>
			<xsd:element name="Entry" type="String_128_Value" />
			<xsd:element name="IdentifierOfMedia" type="MediaIdentifierCatalogType" />
			<xsd:element name="KindOfMedia" type="MediaCatalogType" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<!-- since 2.2.0 -->
	<xsd:complexType name="ReasonOfProposalType">
		<xsd:sequence>
			<xsd:element name="Code" type="ReasonOfProposalCatalogType" />
			<xsd:element name="Explanation" type="String_16384_Value" minOccurs="0" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<!-- since 2.2.0 -->
	<xsd:complexType name="LanguageType">
		<xsd:sequence>
			<xsd:element name="Code" type="LanguageOfProposalCatalogType" />
			<xsd:element name="Explanation" type="String_16384_Value" minOccurs="0" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

	<!-- since 2.2.0 -->
	<xsd:complexType name="ReasonOfRejectionType">
		<xsd:sequence>
			<xsd:element name="Reason" type="ReasonOfRejectionCatalogType" />
			<xsd:element name="TextOfRejection" type="String_16384_Value" minOccurs="0" />
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:ID" use="required" />
	</xsd:complexType>

</xsd:schema>
