summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2015-08-05 14:38:58 +0200
committerThomas Lenz <thomas.lenz@egiz.gv.at>2015-08-05 14:38:58 +0200
commite14ef2cb47f5e771171c4c9265c2c336f071cbfa (patch)
tree0028b2f4b69872b77d2e920707665f293b16b6a1
parent6228b7ac31e7fa28a26e416dd2f65e5b9274f613 (diff)
downloadegovutils-e14ef2cb47f5e771171c4c9265c2c336f071cbfa.tar.gz
egovutils-e14ef2cb47f5e771171c4c9265c2c336f071cbfa.tar.bz2
egovutils-e14ef2cb47f5e771171c4c9265c2c336f071cbfa.zip
some updates
-rw-r--r--src/main/java/at/gv/util/cxf/interceptors/RawMessageInterceptor.java47
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/14-05 ERsB Webservices v1.3.pdfbin0 -> 765166 bytes
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/ErsbService.wsdl144
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_SucheUnternehmenNachId_ERsB_Request.xml38
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_SucheUnternehmenNachId_ERsB_Response.xml153
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_adr.xml47
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_best_zr.xml26
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bnw.xml20
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bzrbeg.xml27
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bzrend.xml27
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_evb.xml29
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_fktregel.xml44
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_pers_rt.xml50
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_persadr.xml54
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_persdata.xml47
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_person.xml52
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_pfunkt.xml35
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_rechtsform.xml24
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_untname.xml23
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_aend_vertretung.xml20
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_neuanlage.xml93
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/examples/example_neuanlage_response.xml123
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/schema/PersonData_Ersb.xsd466
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/schema/PersonData_URSuche.xsd511
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/schema/ersb-types.xsd62
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/schema/specific/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/schema/ur-basicTypes.xsd309
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/schema/ur-basicTypesErsb.xsd133
-rw-r--r--src/main/resources/wsdl/ERsB/1.3/schema/ur-simpleTypes.xsd443
-rw-r--r--src/test/java/at/gv/util/demo/Clienttests.java392
30 files changed, 3457 insertions, 0 deletions
diff --git a/src/main/java/at/gv/util/cxf/interceptors/RawMessageInterceptor.java b/src/main/java/at/gv/util/cxf/interceptors/RawMessageInterceptor.java
new file mode 100644
index 0000000..70852b0
--- /dev/null
+++ b/src/main/java/at/gv/util/cxf/interceptors/RawMessageInterceptor.java
@@ -0,0 +1,47 @@
+//package at.gv.util.cxf.interceptors;
+//
+//import java.io.IOException;
+//
+//import org.apache.cxf.binding.soap.interceptor.SoapPreProtocolOutInterceptor;
+//import org.apache.cxf.io.CachedOutputStream;
+//import org.apache.cxf.message.Message;
+//import org.apache.cxf.phase.AbstractPhaseInterceptor;
+//import org.apache.cxf.phase.Phase;
+//import org.apache.log4j.Logger;
+//
+//public abstract class RawMessageInterceptor extends AbstractPhaseInterceptor<Message> {
+//
+// public RawMessageInterceptor() {
+// super(Phase.PRE_STREAM);
+// addBefore(SoapPreProtocolOutInterceptor.class.getName());
+// }
+//
+// protected abstract Logger getLogger();
+//
+// protected abstract String changeOutboundMessage(String currentEnvelope);
+//
+// protected abstract String changeInboundMessage(String currentEnvelope);
+//
+// public void handleMessage(Message message) {
+//
+// }
+//
+// public void handleFault(Message message) {
+// }
+//
+// private class CachedStream extends CachedOutputStream {
+// public CachedStream() {
+// super();
+// }
+//
+// protected void doFlush() throws IOException {
+// currentStream.flush();
+// }
+//
+// protected void doClose() throws IOException {
+// }
+//
+// protected void onWrite() throws IOException {
+// }
+// }
+//}
diff --git a/src/main/resources/wsdl/ERsB/1.3/14-05 ERsB Webservices v1.3.pdf b/src/main/resources/wsdl/ERsB/1.3/14-05 ERsB Webservices v1.3.pdf
new file mode 100644
index 0000000..ec6ed28
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/14-05 ERsB Webservices v1.3.pdf
Binary files differ
diff --git a/src/main/resources/wsdl/ERsB/1.3/ErsbService.wsdl b/src/main/resources/wsdl/ERsB/1.3/ErsbService.wsdl
new file mode 100644
index 0000000..352ea01
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/ErsbService.wsdl
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch0="http://statistik.at/namespace/ersb/1#" xmlns:sch1="http://statistik.at/namespace/ur/simpleTypes/2#" xmlns:sch2="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:sch3="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:sch4="http://statistik.at/namespace/ersb/persondata/1#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://statistik.at/namespace/ersb/1#" targetNamespace="http://statistik.at/namespace/ersb/1#">
+ <wsdl:types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns0="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://statistik.at/namespace/ersb/1#"><xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"/><xsd:import namespace="http://statistik.at/namespace/ersb/persondata/1#"/><xsd:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"/><xsd:element name="ErsbRequest" type="ersb:ErsbRequest"/><xsd:element name="ErsbResponse" type="ersb:ErsbResponse"/><xsd:complexType name="ErsbRequest"><xsd:sequence><xsd:element name="PersonenDaten" type="pdersb:PersonenDatenTyp"/></xsd:sequence><xsd:attribute name="id" type="xsd:integer" use="optional"/></xsd:complexType><xsd:complexType name="ErsbResponse"><xsd:sequence><xsd:element name="returncode" type="xsd:int"/><xsd:element minOccurs="0" name="statustext" type="xsd:string"/><xsd:element maxOccurs="unbounded" minOccurs="0" name="PersonenDaten" type="pd:PersonenDatenTyp"/></xsd:sequence><xsd:attribute name="id" type="xsd:integer" use="optional"/></xsd:complexType><xsd:attribute name="aktion"><xsd:simpleType><xsd:restriction base="xsd:string"><xsd:enumeration value="ALT"/><xsd:enumeration value="NEU"/></xsd:restriction></xsd:simpleType></xsd:attribute><xsd:attributeGroup name="ErsbAttributes"><xsd:attribute ref="ersb:aktion" use="optional"/></xsd:attributeGroup><xsd:element name="UntName" type="ersb:UntNameErsb"/><xsd:element name="Rechtsform" type="ersb:RechtsformErsb"/><xsd:element name="Bestandszeitraum" type="ersb:BestandszeitraumErsb"/><xsd:element name="Bestandsnachweis" type="ersb:BestandsnachweisErsb"/><xsd:element name="Vertretung" type="ersb:VertretungErsb"/><xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb"/><xsd:element name="Funktion" type="ersb:FunktionErsb"/><xsd:element name="Beginn" type="xsd:date"/><xsd:element name="Ende" type="xsd:date"/><xsd:complexType name="UntNameErsb"><xsd:complexContent><xsd:extension base="ns0:UntName"><xsd:attributeGroup ref="ersb:ErsbAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="RechtsformErsb"><xsd:complexContent><xsd:extension base="ns0:Rechtsform"><xsd:attributeGroup ref="ersb:ErsbAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="BestandszeitraumErsb"><xsd:complexContent><xsd:extension base="ns0:Bestandszeitraum"><xsd:attributeGroup ref="ersb:ErsbAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="BestandsnachweisErsb"><xsd:complexContent><xsd:extension base="ns0:Bestandsnachweis"><xsd:attributeGroup ref="ersb:ErsbAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="VertretungErsb"><xsd:complexContent><xsd:extension base="ns0:Vertretung"><xsd:attributeGroup ref="ersb:ErsbAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="RechtstatsachenErsb"><xsd:complexContent><xsd:extension base="ns0:Rechtstatsachen"><xsd:attributeGroup ref="ersb:ErsbAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="FunktionErsb"><xsd:complexContent><xsd:extension base="ns0:Funktion"><xsd:sequence><xsd:element minOccurs="0" name="FktRegel" type="ersb:FktRegelTypErsb"/><xsd:element maxOccurs="unbounded" minOccurs="0" name="Rechtstatsachen" type="ersb:RechtstatsachenErsb"/></xsd:sequence><xsd:attributeGroup ref="ersb:ErsbAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="FktRegelTypErsb"><xsd:complexContent><xsd:extension base="ns0:FktRegelTyp"><xsd:attributeGroup ref="ersb:ErsbAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType></xsd:schema>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"><simpleType name="VersionTyp"><annotation><documentation>
+ Versionsnummer
+ </documentation></annotation><restriction base="string"><maxLength value="10"/></restriction></simpleType><simpleType name="QuelleTyp"><annotation><documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation></annotation><restriction base="string"><maxLength value="10"/></restriction></simpleType><simpleType name="VollzugStatusTyp"><annotation><documentation>
+ Status des Vollzugsobjektes
+ </documentation></annotation><restriction base="string"><enumeration value="A"/><enumeration value="V"/><enumeration value="Z"/></restriction></simpleType><simpleType name="ErgebnisVollzugStatusTyp"><annotation><documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation></annotation><restriction base="string"><enumeration value="V"/><enumeration value="AZV"/></restriction></simpleType><simpleType name="KurTyp"><annotation><documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation></annotation><restriction base="string"><pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/><length value="9"/></restriction></simpleType><simpleType name="FbnTyp"><annotation><documentation>
+ Firmenbuchnummer
+ </documentation></annotation><restriction base="string"><pattern value="[0-9]{6}[a-z]"/><length value="7"/></restriction></simpleType><simpleType name="ZvrTyp"><annotation><documentation>
+ Vereinsregisternummer
+ </documentation></annotation><restriction base="string"><pattern value="[0-9]{9}"/><length value="9"/></restriction></simpleType><simpleType name="ErjTyp"><annotation><documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation></annotation><restriction base="string"><pattern value="[0-9]{13}"/><length value="13"/></restriction></simpleType><simpleType name="UntNameTyp"><annotation><documentation>
+ Bezeichnung eines Unternehmens
+ </documentation></annotation><restriction base="string"><maxLength value="255"/></restriction></simpleType><simpleType name="BpkTyp"><annotation><documentation>
+ unverschlüsseltes bPK
+ </documentation></annotation><restriction base="string"><maxLength value="28"/></restriction></simpleType><simpleType name="BpkEncodedTyp"><annotation><documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation></annotation><restriction base="string"><maxLength value="172"/></restriction></simpleType><simpleType name="RechtsformTyp"><annotation><documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation></annotation><restriction base="integer"><minInclusive value="0"/><maxInclusive value="9999"/></restriction></simpleType><simpleType name="RechtsformTextTyp"><annotation><documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation></annotation><restriction base="string"><maxLength value="100"/></restriction></simpleType><simpleType name="IdArtTyp"><annotation><documentation>
+ Art eines externen Schlüssels
+ </documentation></annotation><restriction base="string"><length value="3"/></restriction></simpleType><simpleType name="IdTyp"><annotation><documentation>
+ Wert eines externen Schlüssels
+ </documentation></annotation><restriction base="string"><maxLength value="60"/></restriction></simpleType><simpleType name="OenaceJahrTyp"><annotation><documentation>
+ Jahr des Ö&#150;NACE-Systems
+ </documentation></annotation><restriction base="integer"><enumeration value="2008"/><minInclusive value="1000"/><maxInclusive value="9999"/></restriction></simpleType><simpleType name="OenaceCodeTyp"><annotation><documentation>
+ Ö&#150;NACE - Branchenkennzahl
+ </documentation></annotation><restriction base="string"><maxLength value="10"/></restriction></simpleType><simpleType name="OenaceArtTyp"><annotation><documentation>
+ Art der Ö&#150;NACE (Haupt-/Nebentätigkeit)
+ </documentation></annotation><restriction base="string"><enumeration value="H"/><enumeration value="N"/></restriction></simpleType><simpleType name="RT_NummerTyp"><annotation><documentation>
+ Rechtstatsachen-Nummer
+ </documentation></annotation><restriction base="string"><maxLength value="3"/></restriction></simpleType><simpleType name="RT_CodeTyp"><annotation><documentation>
+ Rechtstatsachen-Code
+ </documentation></annotation><restriction base="string"><maxLength value="4"/></restriction></simpleType><simpleType name="StrasseTyp"><annotation><documentation>
+ Strassenname
+ </documentation></annotation><restriction base="string"><maxLength value="100"/></restriction></simpleType><simpleType name="HNrTyp"><annotation><documentation>
+ Hausnummer
+ </documentation></annotation><restriction base="string"><maxLength value="100"/></restriction></simpleType><simpleType name="PlzTyp"><annotation><documentation>
+ Postleitzahl
+ </documentation></annotation><restriction base="string"><maxLength value="10"/></restriction></simpleType><simpleType name="OrtTyp"><annotation><documentation>
+ Ortsname
+ </documentation></annotation><restriction base="string"><maxLength value="50"/></restriction></simpleType><simpleType name="GemnrTyp"><annotation><documentation>
+ Gemeindekennziffer
+ </documentation></annotation><restriction base="integer"><minInclusive value="10000"/><maxInclusive value="99999"/></restriction></simpleType><simpleType name="LandTyp"><annotation><documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation></annotation><restriction base="string"><length value="3"/></restriction></simpleType><simpleType name="AdressTyp"><annotation><documentation>
+ AdressTyp
+ </documentation></annotation><restriction base="string"><enumeration value="SITZ"/><enumeration value="ZUSTELLADRESSE"/></restriction></simpleType><simpleType name="NachnameTyp"><annotation><documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation></annotation><restriction base="string"><maxLength value="100"/></restriction></simpleType><simpleType name="VornameTyp"><annotation><documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation></annotation><restriction base="string"><maxLength value="100"/></restriction></simpleType><simpleType name="TitelTyp"><annotation><documentation>
+ Titel der vertretungsbefugten Person
+ </documentation></annotation><restriction base="string"><maxLength value="50"/></restriction></simpleType><simpleType name="FunktionTyp"><annotation><documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation></annotation><restriction base="integer"><minInclusive value="0"/><maxInclusive value="9999"/></restriction></simpleType><simpleType name="FunktionTextTyp"><annotation><documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation></annotation><restriction base="string"><maxLength value="100"/></restriction></simpleType><simpleType name="FktRegelTextTyp"><annotation><documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation></annotation><restriction base="string"><maxLength value="2000"/></restriction></simpleType><simpleType name="VertretungsbefugnisTyp"><annotation><documentation>
+ Art der Vertretungsbefugnis
+ </documentation></annotation><restriction base="string"><maxLength value="40"/></restriction></simpleType><simpleType name="EvbStatusTyp"><annotation><documentation>
+ Einzelvertretungsbefugnis
+ </documentation></annotation><restriction base="string"><enumeration value="J"/><enumeration value="N"/><enumeration value="U"/></restriction></simpleType></schema>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#" xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"><xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"/><xsd:attribute name="vollzugBeginn" type="xsd:IDREF"/><xsd:attribute name="vollzugEnde" type="xsd:IDREF"/><xsd:attributeGroup name="VollzugAttributes"><xsd:attribute ref="std:vollzugBeginn" use="optional"/><xsd:attribute ref="std:vollzugEnde" use="optional"/></xsd:attributeGroup><xsd:element name="Beginn" type="std:QuellenType"/><xsd:element name="Ende" type="std:QuellenType"/><xsd:element name="Vollzug" type="std:Vollzug"/><xsd:element name="TypeText" type="xsd:string"/><xsd:element name="UntName" type="std:UntNameVollzug"/><xsd:element name="Rechtsform" type="std:RechtsformVollzug"/><xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug"/><xsd:element name="Taetigkeitszeitraum" type="std:TaetigkeitszeitraumVollzug"/><xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug"/><xsd:element name="Vertretung" type="std:VertretungVollzug"/><xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"/><xsd:element name="Funktion" type="std:FunktionVollzug"/><xsd:element name="Branche" type="std:Branche"/><xsd:element name="AendDat" type="xsd:dateTime"/><xsd:element name="bpkWTUR" type="xsd:string"/><xsd:element name="Typ" type="st:AdressTyp"/><xsd:element name="EvbStatus" type="st:EvbStatusTyp"/><xsd:complexType abstract="true" name="UntName"><xsd:sequence><xsd:element name="VollerName" type="st:UntNameTyp"/></xsd:sequence></xsd:complexType><xsd:complexType name="UntNameVollzug"><xsd:complexContent><xsd:extension base="std:UntName"><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType abstract="true" name="Rechtsform"><xsd:sequence><xsd:element minOccurs="0" name="ReForm" type="st:RechtsformTyp"/><xsd:element minOccurs="0" name="ReFormText" type="st:RechtsformTextTyp"/><xsd:element name="ReFormExtern" type="st:RechtsformTyp"/><xsd:element minOccurs="0" name="ReFormExternText" type="st:RechtsformTextTyp"/></xsd:sequence></xsd:complexType><xsd:complexType name="RechtsformVollzug"><xsd:complexContent><xsd:extension base="std:Rechtsform"><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType abstract="true" name="Bestandszeitraum"><xsd:sequence><xsd:element minOccurs="0" name="BestandVon" type="xsd:date"/><xsd:element minOccurs="0" name="BestandBis" type="xsd:date"/></xsd:sequence></xsd:complexType><xsd:complexType name="BestandszeitraumVollzug"><xsd:complexContent><xsd:extension base="std:Bestandszeitraum"><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType abstract="true" name="Taetigkeitszeitraum"><xsd:sequence><xsd:element minOccurs="0" name="TaetigVon" type="xsd:date"/><xsd:element minOccurs="0" name="TaetigBis" type="xsd:date"/></xsd:sequence></xsd:complexType><xsd:complexType name="TaetigkeitszeitraumVollzug"><xsd:complexContent><xsd:extension base="std:Taetigkeitszeitraum"><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType abstract="true" name="Bestandsnachweis"><xsd:simpleContent><xsd:extension base="xsd:string"/></xsd:simpleContent></xsd:complexType><xsd:complexType name="BestandsnachweisVollzug"><xsd:complexContent><xsd:extension base="std:Bestandsnachweis"><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType abstract="true" name="Vertretung"><xsd:simpleContent><xsd:extension base="xsd:string"/></xsd:simpleContent></xsd:complexType><xsd:complexType name="VertretungVollzug"><xsd:complexContent><xsd:extension base="std:Vertretung"><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType abstract="true" name="Rechtstatsachen"><xsd:sequence><xsd:element minOccurs="0" name="RT_Nummer" type="st:RT_NummerTyp"/><xsd:element minOccurs="0" name="RT_Code" type="st:RT_CodeTyp"/><xsd:element minOccurs="0" name="RT_Text" type="xsd:string"/></xsd:sequence></xsd:complexType><xsd:complexType name="RechtstatsachenVollzug"><xsd:complexContent><xsd:extension base="std:Rechtstatsachen"><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="Vollzug"><xsd:sequence><xsd:element name="Antrag" type="std:VollzugElem"/><xsd:element minOccurs="0" name="Vollzug" type="std:VollzugElem"/><xsd:element minOccurs="0" name="Zurueckstellung" type="std:VollzugElem"/></xsd:sequence><xsd:attribute name="id" type="xsd:ID" use="required"/><xsd:attribute name="nummer" type="xsd:integer" use="required"/><xsd:attribute name="status" type="st:VollzugStatusTyp" use="required"/></xsd:complexType><xsd:complexType name="VollzugElem"><xsd:simpleContent><xsd:extension base="xsd:date"><xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/><xsd:attribute name="quText" use="required"/></xsd:extension></xsd:simpleContent></xsd:complexType><xsd:complexType name="QuellenType"><xsd:simpleContent><xsd:extension base="xsd:date"><xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/><xsd:attribute name="quText" use="required"/></xsd:extension></xsd:simpleContent></xsd:complexType><xsd:complexType abstract="true" name="Funktion"><xsd:sequence><xsd:element name="FktName" type="st:FunktionTyp"/><xsd:element minOccurs="0" name="FktNameText" type="st:FunktionTextTyp"/></xsd:sequence></xsd:complexType><xsd:complexType name="FunktionVollzug"><xsd:complexContent><xsd:extension base="std:Funktion"><xsd:sequence><xsd:element minOccurs="0" name="FktRegel" type="std:FktRegelTypVollzug"/><xsd:element maxOccurs="unbounded" minOccurs="0" name="Rechtstatsachen" type="std:RechtstatsachenVollzug"/></xsd:sequence><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType abstract="true" name="FktRegelTyp"><xsd:sequence><xsd:element minOccurs="0" name="FktRegelVon" type="xsd:date"/><xsd:element minOccurs="0" name="FktRegelBis" type="xsd:date"/><xsd:element minOccurs="0" name="FktRegelText" type="st:FktRegelTextTyp"/></xsd:sequence></xsd:complexType><xsd:complexType name="FktRegelTypVollzug"><xsd:complexContent><xsd:extension base="std:FktRegelTyp"><xsd:attributeGroup ref="std:VollzugAttributes"/></xsd:extension></xsd:complexContent></xsd:complexType><xsd:complexType name="Branche"><xsd:sequence><xsd:element name="Oenace" type="std:OenaceType"/><xsd:element name="OenaceText" type="xsd:string"/><xsd:element name="Beginn" type="std:QuellenType"/><xsd:element minOccurs="0" name="Ende" type="std:QuellenType"/></xsd:sequence><xsd:attribute name="art" type="st:OenaceArtTyp" use="required"/></xsd:complexType><xsd:complexType name="OenaceType"><xsd:simpleContent><xsd:extension base="st:OenaceCodeTyp"><xsd:attribute name="jahr" type="st:OenaceJahrTyp" use="required"/></xsd:extension></xsd:simpleContent></xsd:complexType></xsd:schema>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:uri="http://statistik.at/namespace/ur/stammdaten/2#" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"><xs:annotation><xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation></xs:annotation><xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"/><xs:element name="AbstractPersonData" type="AbstractPersonType"><xs:annotation><xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation></xs:annotation></xs:element><xs:element name="PersonenDaten" substitutionGroup="AbstractPersonData" type="PersonenDatenTyp"><xs:annotation><xs:documentation>Signierte Personendatenstruktur</xs:documentation></xs:annotation></xs:element><xs:element name="Person" type="AbstractPersonType"><xs:annotation><xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation></xs:annotation></xs:element><xs:element name="NatuerlichePerson" substitutionGroup="Person" type="NatuerlichePersonTyp"><xs:annotation><xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation></xs:annotation></xs:element><xs:element name="NichtNatuerlichePerson" substitutionGroup="Person" type="NichtNatuerlichePersonTyp"><xs:annotation><xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation></xs:annotation></xs:element><xs:element name="PersonenName" type="PersonenNameTyp"><xs:annotation><xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation></xs:annotation></xs:element><xs:element name="Address" type="AbstractAddressType"><xs:annotation><xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation></xs:annotation></xs:element><xs:element name="PostAdresse" substitutionGroup="Address" type="PostAdresseTyp"><xs:annotation><xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation></xs:annotation></xs:element><xs:element name="TypisiertePostAdresse" substitutionGroup="Address" type="TypisiertePostAdresseTyp"><xs:annotation><xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation></xs:annotation></xs:element><xs:element name="Geburtsdatum" type="GeburtsdatumTyp"><xs:annotation><xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation></xs:annotation></xs:element><xs:complexType name="PersonenDatenTyp"><xs:annotation><xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractPersonType"><xs:sequence><xs:element ref="NichtNatuerlichePerson"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="TypisiertePostAdresse"/><xs:element minOccurs="0" name="Zusatzdaten"><xs:complexType><xs:sequence minOccurs="0"><xs:element minOccurs="0" ref="uri:AendDat"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Bestandszeitraum"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Bestandsnachweis"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Vertretung"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Rechtstatsachen"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Branche"/><xs:element maxOccurs="unbounded" minOccurs="0" name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Vollzug"/></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="PersonenDatenZusatzdatenTyp"><xs:annotation><xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractPersonType"><xs:sequence><xs:choice minOccurs="0"><xs:element ref="NichtNatuerlichePerson"/><xs:element ref="NatuerlichePerson"/></xs:choice><xs:element maxOccurs="unbounded" minOccurs="0" ref="TypisiertePostAdresse"/><xs:element minOccurs="0" name="Zusatzdaten" type="ZusatzdatenPersonenTyp"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="ZusatzdatenPersonenTyp"><xs:sequence><xs:element minOccurs="0" ref="uri:EvbStatus"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Funktion"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Rechtstatsachen"/></xs:sequence></xs:complexType><xs:complexType name="IdentificationType"><xs:annotation><xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation></xs:annotation><xs:sequence><xs:element name="Value"><xs:annotation><xs:documentation>actual value of the identifier.
+ </xs:documentation></xs:annotation><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="Id" type="xs:ID" use="optional"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="Type" type="xs:anyURI"><xs:annotation><xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" ref="uri:TypeText"/><xs:element minOccurs="0" ref="uri:Beginn"/><xs:element minOccurs="0" ref="uri:Ende"/></xs:sequence><xs:attribute name="Id" type="xs:ID" use="optional"/></xs:complexType><xs:complexType name="AbstractPersonType"><xs:annotation><xs:documentation>main structure of person data</xs:documentation></xs:annotation><xs:choice minOccurs="0"><xs:element maxOccurs="unbounded" minOccurs="0" name="Identification" type="IdentificationType"><xs:annotation><xs:documentation>unique identification entities</xs:documentation></xs:annotation></xs:element></xs:choice><xs:attribute name="Id" type="xs:ID" use="optional"/></xs:complexType><xs:complexType name="NatuerlichePersonTyp"><xs:annotation><xs:documentation>entspricht PhysicalPersonType</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractPersonType"><xs:sequence minOccurs="0"><xs:element minOccurs="0" ref="PersonenName"/><xs:element minOccurs="0" ref="Geburtsdatum"/></xs:sequence><xs:attributeGroup ref="uri:VollzugAttributes"/></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="NichtNatuerlichePersonTyp"><xs:annotation><xs:documentation>entspricht CorporateBodyType</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractPersonType"><xs:sequence minOccurs="0"><xs:element minOccurs="0" name="VollerName" type="xs:token"><xs:annotation><xs:documentation>name of corporate body (whole name)
+ </xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Rechtsform" type="xs:anyURI"><xs:annotation><xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation></xs:annotation></xs:element><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:UntName"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Rechtsform"/></xs:sequence><xs:attributeGroup ref="uri:VollzugAttributes"/></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="PersonenNameTyp"><xs:annotation><xs:documentation>entspricht NameType</xs:documentation></xs:annotation><xs:sequence><xs:element name="Vorname" type="xs:string"/><xs:element name="Familienname"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute default="undefiniert" name="primaer"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="wahr"/><xs:enumeration value="falsch"/><xs:enumeration value="undefiniert"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="prefix" type="xs:string"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element maxOccurs="unbounded" minOccurs="0" name="Affix"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="typ" use="optional"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="akademischerGrad"/><xs:enumeration value="Adelstitel"/><xs:enumeration value="FamiliennamenAffix"/><xs:enumeration value="Anrede"/><xs:enumeration value="Generation"/><xs:enumeration value="Qualifikation"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="position" use="optional"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="prefix"/><xs:enumeration value="suffix"/></xs:restriction></xs:simpleType></xs:attribute></xs:extension></xs:simpleContent></xs:complexType></xs:element></xs:sequence></xs:complexType><xs:complexType name="AbstractAddressType"><xs:annotation><xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation></xs:annotation><xs:attribute name="Id" type="xs:ID" use="optional"/></xs:complexType><xs:complexType name="TypisiertePostAdresseTyp"><xs:annotation><xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractAddressType"><xs:sequence minOccurs="0"><xs:element ref="PostAdresse"/><xs:element ref="uri:Typ"/></xs:sequence><xs:attributeGroup ref="uri:VollzugAttributes"/></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="PostAdresseTyp"><xs:annotation><xs:documentation>entspricht PostalAddressType</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractAddressType"><xs:sequence><xs:element minOccurs="0" name="Staatscode"><xs:annotation><xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[A-Z]{3}"/></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="Postleitzahl" type="xs:token"><xs:annotation><xs:documentation>entspricht PostalCode</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Gemeinde" type="xs:string"><xs:annotation><xs:documentation>entspricht Municipality</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Gemeindekennziffer"/><xs:element minOccurs="0" name="Ortschaft" type="xs:token"/><xs:element minOccurs="0" name="Zustelladresse"><xs:annotation><xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation></xs:annotation><xs:complexType><xs:sequence><xs:element minOccurs="0" name="Strassenname" type="xs:string"><xs:annotation><xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Orientierungsnummer" type="xs:string"><xs:annotation><xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="AdressRegisterEintrag"><xs:annotation><xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation></xs:annotation><xs:complexType><xs:sequence><xs:element name="Adresscode" type="string7"/><xs:element minOccurs="0" name="Subcode" type="string3"/><xs:element minOccurs="0" name="Objektnummer" type="string7"/></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:simpleType name="GeburtsdatumTyp"><xs:annotation><xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation></xs:annotation><xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/></xs:simpleType><xs:simpleType name="string3"><xs:restriction base="xs:string"><xs:maxLength value="3"/></xs:restriction></xs:simpleType><xs:simpleType name="string7"><xs:restriction base="xs:string"><xs:maxLength value="7"/></xs:restriction></xs:simpleType></xs:schema>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://statistik.at/namespace/ersb/persondata/1#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:uri="http://statistik.at/namespace/ersb/1#" xmlns:urs="http://statistik.at/namespace/ur/stammdaten/2#" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://statistik.at/namespace/ersb/persondata/1#"><xs:annotation><xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation></xs:annotation><xs:import namespace="http://statistik.at/namespace/ersb/1#"/><xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"/><xs:element name="AbstractPersonData" type="AbstractPersonType"><xs:annotation><xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch verfügbar, nicht direkt benützen sondern PersonenDaten benutzen</xs:documentation></xs:annotation></xs:element><xs:element name="PersonenDaten" substitutionGroup="AbstractPersonData" type="PersonenDatenTyp"><xs:annotation><xs:documentation>Signierte Personendatenstruktur</xs:documentation></xs:annotation></xs:element><xs:element name="Person" type="AbstractPersonType"><xs:annotation><xs:documentation>Abstraktes Personen Element, nur auf englisch verfügbar, nicht direkt benützen sondern NatuerlichePerson o. NichtNatuerlichePerson benutzen</xs:documentation></xs:annotation></xs:element><xs:element name="NatuerlichePerson" substitutionGroup="Person" type="NatuerlichePersonTyp"><xs:annotation><xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist eine Ableitung von Person (abstract)</xs:documentation></xs:annotation></xs:element><xs:element name="NichtNatuerlichePerson" substitutionGroup="Person" type="NichtNatuerlichePersonTyp"><xs:annotation><xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody, ist Ableitung von Person (abstract)</xs:documentation></xs:annotation></xs:element><xs:element name="PersonenName" type="PersonenNameTyp"><xs:annotation><xs:documentation>Container für diverse Namensbestandteile, entspricht Name in der englischen Version</xs:documentation></xs:annotation></xs:element><xs:element name="Address" type="AbstractAddressType"><xs:annotation><xs:documentation>Abstraktes Address Element, nur auf Englisch verfügbar, nicht direkt benützen sondern PostAdresse, InternetAdresse, etc benutzen</xs:documentation></xs:annotation></xs:element><xs:element name="PostAdresse" substitutionGroup="Address" type="PostAdresseTyp"><xs:annotation><xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress, ist Ableitung von Address (abstract)</xs:documentation></xs:annotation></xs:element><xs:element name="TypisiertePostAdresse" substitutionGroup="Address" type="TypisiertePostAdresseTyp"><xs:annotation><xs:documentation>Typisierte Post oder ZMRAdresse, entspricht TypedPostalAddress, ist Ableitung von Address (abstract) </xs:documentation></xs:annotation></xs:element><xs:element name="Geburtsdatum" type="GeburtsdatumTyp"><xs:annotation><xs:documentation>Geburtsdatum, entspricht DateOfBirth</xs:documentation></xs:annotation></xs:element><xs:complexType name="PersonenDatenTyp"><xs:annotation><xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractPersonType"><xs:sequence><xs:element ref="NichtNatuerlichePerson"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="TypisiertePostAdresse"/><xs:element minOccurs="0" name="Zusatzdaten"><xs:complexType><xs:sequence minOccurs="0"><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Bestandszeitraum"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Bestandsnachweis"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Vertretung"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Rechtstatsachen"/><xs:element maxOccurs="unbounded" minOccurs="0" name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"/></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="PersonenDatenZusatzdatenTyp"><xs:annotation><xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractPersonType"><xs:sequence><xs:choice minOccurs="0"><xs:element ref="NichtNatuerlichePerson"/><xs:element ref="NatuerlichePerson"/></xs:choice><xs:element maxOccurs="unbounded" minOccurs="0" ref="TypisiertePostAdresse"/><xs:element minOccurs="0" name="Zusatzdaten"><xs:complexType><xs:sequence minOccurs="0"><xs:element minOccurs="0" ref="urs:EvbStatus"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Funktion"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Rechtstatsachen"/></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="IdentificationType"><xs:annotation><xs:documentation>Container für beliebige Identifikationsmerkmale, besteht aus Type und Value Unterelementen, aus technischen Gründen nur auf Englisch verfügbar</xs:documentation></xs:annotation><xs:sequence><xs:element name="Value"><xs:annotation><xs:documentation>actual value of the identifier.</xs:documentation></xs:annotation><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="Id" type="xs:ID" use="optional"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element name="Type" type="xs:anyURI"><xs:annotation><xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" ref="uri:Beginn"/><xs:element minOccurs="0" ref="uri:Ende"/></xs:sequence><xs:attribute name="Id" type="xs:ID" use="optional"/><xs:attributeGroup ref="uri:ErsbAttributes"/></xs:complexType><xs:complexType name="AbstractPersonType"><xs:annotation><xs:documentation>main structure of person data</xs:documentation></xs:annotation><xs:choice minOccurs="0"><xs:element maxOccurs="unbounded" minOccurs="0" name="Identification" type="IdentificationType"><xs:annotation><xs:documentation>unique identification entities</xs:documentation></xs:annotation></xs:element></xs:choice><xs:attribute name="Id" type="xs:ID" use="optional"/></xs:complexType><xs:complexType name="NatuerlichePersonTyp"><xs:annotation><xs:documentation>entspricht PhysicalPersonType</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractPersonType"><xs:sequence minOccurs="0"><xs:element minOccurs="0" ref="PersonenName"/><xs:element minOccurs="0" ref="Geburtsdatum"/></xs:sequence><xs:attributeGroup ref="uri:ErsbAttributes"/></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="NichtNatuerlichePersonTyp"><xs:annotation><xs:documentation>entspricht CorporateBodyType</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractPersonType"><xs:sequence minOccurs="0"><xs:element minOccurs="0" name="VollerName" type="xs:token"><xs:annotation><xs:documentation>name of corporate body (whole name)</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Rechtsform" type="xs:anyURI"><xs:annotation><xs:documentation>type of company (eg AG, OHG, ...)</xs:documentation></xs:annotation></xs:element><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:UntName"/><xs:element maxOccurs="unbounded" minOccurs="0" ref="uri:Rechtsform"/></xs:sequence><xs:attributeGroup ref="uri:ErsbAttributes"/></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="PersonenNameTyp"><xs:annotation><xs:documentation>entspricht NameType</xs:documentation></xs:annotation><xs:sequence><xs:element name="Vorname" type="xs:string"/><xs:element name="Familienname"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute default="undefiniert" name="primaer"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="wahr"/><xs:enumeration value="falsch"/><xs:enumeration value="undefiniert"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="prefix" type="xs:string"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:element maxOccurs="unbounded" minOccurs="0" name="Affix"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="typ" use="optional"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="akademischerGrad"/><xs:enumeration value="Adelstitel"/><xs:enumeration value="FamiliennamenAffix"/><xs:enumeration value="Anrede"/><xs:enumeration value="Generation"/><xs:enumeration value="Qualifikation"/></xs:restriction></xs:simpleType></xs:attribute><xs:attribute name="position" use="optional"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="prefix"/><xs:enumeration value="suffix"/></xs:restriction></xs:simpleType></xs:attribute></xs:extension></xs:simpleContent></xs:complexType></xs:element></xs:sequence></xs:complexType><xs:complexType name="AbstractAddressType"><xs:annotation><xs:documentation>Struktur des Abstrakten Address Elements</xs:documentation></xs:annotation><xs:attribute name="Id" type="xs:ID" use="optional"/></xs:complexType><xs:complexType name="TypisiertePostAdresseTyp"><xs:annotation><xs:documentation>entspricht TypedPostalAddressType</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractAddressType"><xs:sequence minOccurs="0"><xs:element ref="PostAdresse"/><xs:element ref="urs:Typ"/></xs:sequence><xs:attributeGroup ref="uri:ErsbAttributes"/></xs:extension></xs:complexContent></xs:complexType><xs:complexType name="PostAdresseTyp"><xs:annotation><xs:documentation>entspricht PostalAddressType</xs:documentation></xs:annotation><xs:complexContent><xs:extension base="AbstractAddressType"><xs:sequence><xs:element minOccurs="0" name="Staatscode"><xs:annotation><xs:documentation>Staatencode, ISO Code oder internationaler Post code, entspricht CountryCode</xs:documentation></xs:annotation><xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[A-Z]{3}"/></xs:restriction></xs:simpleType></xs:element><xs:element minOccurs="0" name="Postleitzahl" type="xs:token"><xs:annotation><xs:documentation>entspricht PostalCode</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Gemeinde" type="xs:string"><xs:annotation><xs:documentation>entspricht Municipality</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Gemeindekennziffer"/><xs:element minOccurs="0" name="Ortschaft" type="xs:token"/><xs:element minOccurs="0" name="Zustelladresse"><xs:annotation><xs:documentation>Zustelladresse oder ZMRAdresse, entspricht DeliveryAddress</xs:documentation></xs:annotation><xs:complexType><xs:sequence><xs:element minOccurs="0" name="Strassenname" type="xs:string"><xs:annotation><xs:documentation>Bei Ortschaften ohne Straßenname steht hier Ortschaftsname, entspricht StreetName</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Orientierungsnummer" type="xs:string"><xs:annotation><xs:documentation>Hausnummer oder Konskriptionsnummer, z.B. 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Gebaeude" type="xs:token"><xs:annotation><xs:documentation>Gebäudeteil oder eigneens Gbäude, z.B. Stiege, Werkstatt, ..... Entspricht Unit</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Nutzungseinheit" type="xs:token"><xs:annotation><xs:documentation>Tuernummer oder andere naehere Beschreibung der Adresse (z.B. 4. Stock rechts). Entspricht DoorNumber</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="Nutzungseinheitlaufnummer" type="xs:string"><xs:annotation><xs:documentation>zmr use only</xs:documentation></xs:annotation></xs:element><xs:element minOccurs="0" name="AdressRegisterEintrag"><xs:annotation><xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation></xs:annotation><xs:complexType><xs:sequence><xs:element name="Adresscode" type="string7"/><xs:element minOccurs="0" name="Subcode" type="string3"/><xs:element minOccurs="0" name="Objektnummer" type="string7"/></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:extension></xs:complexContent></xs:complexType><xs:simpleType name="GeburtsdatumTyp"><xs:annotation><xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder Monta können ausgelassen werden, entspricht DayOfBirthType</xs:documentation></xs:annotation><xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/></xs:simpleType><xs:simpleType name="string3"><xs:restriction base="xs:string"><xs:maxLength value="3"/></xs:restriction></xs:simpleType><xs:simpleType name="string7"><xs:restriction base="xs:string"><xs:maxLength value="7"/></xs:restriction></xs:simpleType></xs:schema>
+ </wsdl:types>
+ <wsdl:message name="ErsbResponse">
+ <wsdl:part element="sch0:ErsbResponse" name="ErsbResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="ErsbRequest">
+ <wsdl:part element="sch0:ErsbRequest" name="ErsbRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="ErsbService">
+ <wsdl:operation name="Ersb">
+ <wsdl:input message="sch0:ErsbRequest" name="ErsbRequest">
+ </wsdl:input>
+ <wsdl:output message="sch0:ErsbResponse" name="ErsbResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ErsbServiceSoap11" type="sch0:ErsbService">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="Ersb">
+ <soap:operation soapAction=""/>
+ <wsdl:input name="ErsbRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="ErsbResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="ErsbServiceService">
+ <wsdl:port binding="sch0:ErsbServiceSoap11" name="ErsbServiceSoap11">
+ <soap:address location="http://localhost:9081/URV/services/ErsbService"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_SucheUnternehmenNachId_ERsB_Request.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_SucheUnternehmenNachId_ERsB_Request.xml
new file mode 100644
index 0000000..878f058
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_SucheUnternehmenNachId_ERsB_Request.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict_soap.xsd">
+ <soapenv:Header>
+ <secExt:Security xmlns:secExt="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+ <pvpToken version="1.8" xmlns="http://egov.gv.at/pvp1.xsd">
+ <authenticate>
+ <userPrincipal>
+ <userId>beispiel.user@portal.statistik.gv.at</userId>
+ </userPrincipal>
+ </authenticate>
+ <authorize>
+ <role value="UR-Nutzer"/>
+ </authorize>
+ </pvpToken>
+ </secExt:Security>
+ </soapenv:Header>
+ <soapenv:Body>
+ <ns2:SearchByExample
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ns2="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#">
+ <ns2:SearchRequestId>96c7ec50-275a-4e9d-86c6-84a710825a77</ns2:SearchRequestId>
+ <ns2:ResultCriteria>
+ <ns2:ExtraResultCriteria>
+ <ns3:ErsbAttribute>true</ns3:ErsbAttribute>
+ </ns2:ExtraResultCriteria>
+ </ns2:ResultCriteria>
+ <ns2:SearchCriteria>
+ <ns3:SucheUnternehmenNachIdRequest xmlns="http://statistik.at/namespace/ur/stammdaten/2#">
+ <version>V3.0</version>
+ <erj>9110001021537</erj>
+ <mitHistorie>false</mitHistorie>
+ </ns3:SucheUnternehmenNachIdRequest>
+ </ns2:SearchCriteria>
+ </ns2:SearchByExample>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_SucheUnternehmenNachId_ERsB_Response.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_SucheUnternehmenNachId_ERsB_Response.xml
new file mode 100644
index 0000000..ce13390
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_SucheUnternehmenNachId_ERsB_Response.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict_soap.xsd">
+ <soapenv:Body>
+ <ns2:SearchResponse
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ns2="http://reference.e-government.gv.at/namespace/xml-sw/1#">
+ <ns2:SearchRequestId>96c7ec50-275a-4e9d-86c6-84a710825a77</ns2:SearchRequestId>
+ <ns2:ResultInfo>
+ <ns2:FoundRecords>1</ns2:FoundRecords>
+ <ns2:ReturnedRecords>1</ns2:ReturnedRecords>
+ </ns2:ResultInfo>
+ <ns2:ResultRecords>
+ <ns2:ResultRecord id="3343621710">
+ <PersonenDaten>
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value>
+ <Type>ERJ</Type>
+ <ns3:TypeText>Ordnungsnummer aus dem ERsB</ns3:TypeText>
+ <ns3:Beginn quText="Ergänzungsregister für sonstige Betroffene" quelle="ESB">2012-08-20+02:00</ns3:Beginn>
+ </Identification>
+ <Identification>
+ <Value>R011S390Q</Value>
+ <Type>KUR</Type>
+ <ns3:TypeText>Kennziffer des Unternehmensregisters</ns3:TypeText>
+ <ns3:Beginn quText="Unternehmensregister" quelle="UR">2012-08-20+02:00</ns3:Beginn>
+ </Identification>
+ <Identification>
+ <Value>9110001021537</Value>
+ <Type>SEK</Type>
+ <ns3:TypeText>Sekundär ID</ns3:TypeText>
+ <ns3:Beginn quText="Unternehmensregister" quelle="UR">2012-10-03+02:00</ns3:Beginn>
+ </Identification>
+ <Identification>
+ <Value>0002074662</Value>
+ <Type>SID</Type>
+ <ns3:TypeText>Subjektidentifikationsnummer</ns3:TypeText>
+ <ns3:Beginn quText="Steuer" quelle="ST">2012-08-20+02:00</ns3:Beginn>
+ </Identification>
+ <VollerName>Maxima Musterfrau</VollerName>
+ <Rechtsform>1</Rechtsform>
+ <ns3:UntName ns3:vollzugBeginn="v2">
+ <ns3:VollerName>Maxima Musterfrau</ns3:VollerName>
+ </ns3:UntName>
+ <ns3:Rechtsform ns3:vollzugBeginn="v1">
+ <ns3:ReForm>1</ns3:ReForm>
+ <ns3:ReFormText>Einzelunternehmen</ns3:ReFormText>
+ <ns3:ReFormExtern>101</ns3:ReFormExtern>
+ <ns3:ReFormExternText>Einzelunternehmen</ns3:ReFormExternText>
+ </ns3:Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:Bestandszeitraum ns3:vollzugBeginn="v1">
+ <ns3:BestandVon>2010-06-12</ns3:BestandVon>
+ </ns3:Bestandszeitraum>
+ <ns3:Bestandsnachweis ns3:vollzugBeginn="v1">Vertrag vom 11.10.2007</ns3:Bestandsnachweis>
+ <ns3:Vertretung ns3:vollzugBeginn="v1">Jedes vertretungsbefugte Organ vertritt selbständig</ns3:Vertretung>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ <ns3:Branche art="H">
+ <ns3:Oenace jahr="2008">0210</ns3:Oenace>
+ <ns3:OenaceText>Forstwirtschaft</ns3:OenaceText>
+ <ns3:Beginn quText="Ergänzungsregister für Sonstige Betroffene" quelle="ESB">2012-08-20+02:00</ns3:Beginn>
+ </ns3:Branche>
+ <PersonenDaten>
+ <NatuerlichePerson ns3:vollzugBeginn="v2">
+ <Identification>
+ <Value>A</Value>
+ <Type>PNR</Type>
+ <ns3:TypeText>Personennummer</ns3:TypeText>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v2">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ns3:Funktion ns3:vollzugBeginn="v2">
+ <ns3:FktName>101</ns3:FktName>
+ <ns3:FktNameText>Inhaber</ns3:FktNameText>
+ <ns3:FktRegel ns3:vollzugBeginn="v2">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>Vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ns3:FktRegel>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v2">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Funktion</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </ns3:Funktion>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v2">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ <ns3:Vollzug id="v1" nummer="1" status="V">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">2012-06-01+01:00</ns3:Antrag>
+ <ns3:Vollzug quelle="XYZ" quText="Quellenname">2012-06-01+01:00</ns3:Vollzug>
+ </ns3:Vollzug>
+ <ns3:Vollzug id="v2" nummer="2" status="V">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">2012-06-15+01:00</ns3:Antrag>
+ <ns3:Vollzug quelle="XYZ" quText="Quellenname">2012-06-15+01:00</ns3:Vollzug>
+ </ns3:Vollzug>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </ns2:ResultRecord>
+ </ns2:ResultRecords>
+ </ns2:SearchResponse>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_adr.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_adr.xml
new file mode 100644
index 0000000..48f785d
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_adr.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="ALT">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_best_zr.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_best_zr.xml
new file mode 100644
index 0000000..8ea350c
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_best_zr.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Bestandszeitraum ersb:aktion="ALT">
+ <ns3:BestandVon>2011-01-01</ns3:BestandVon>
+ <ns3:BestandBis>2999-12-31</ns3:BestandBis>
+ </ersb:Bestandszeitraum>
+ <ersb:Bestandszeitraum ersb:aktion="NEU">
+ <ns3:BestandVon>2011-01-02</ns3:BestandVon>
+ <ns3:BestandBis>2999-12-31</ns3:BestandBis>
+ </ersb:Bestandszeitraum>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bnw.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bnw.xml
new file mode 100644
index 0000000..b16364b
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bnw.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Bestandsnachweis ersb:aktion="ALT">alter Bestandsnachweis</ersb:Bestandsnachweis>
+ <ersb:Bestandsnachweis ersb:aktion="NEU">neuer Bestandsnachweis</ersb:Bestandsnachweis>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bzrbeg.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bzrbeg.xml
new file mode 100644
index 0000000..04fcf82
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bzrbeg.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Bestandszeitraum ersb:aktion="ALT">
+ <ns3:BestandVon>2013-01-24</ns3:BestandVon>
+ <ns3:BestandBis>2999-12-31</ns3:BestandBis>
+ </ersb:Bestandszeitraum>
+ <ersb:Bestandszeitraum ersb:aktion="NEU">
+ <ns3:BestandVon>2012-01-01</ns3:BestandVon>
+ <ns3:BestandBis>2999-12-31</ns3:BestandBis>
+ </ersb:Bestandszeitraum>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest>
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bzrend.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bzrend.xml
new file mode 100644
index 0000000..0170530
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_bzrend.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Bestandszeitraum ersb:aktion="ALT">
+ <ns3:BestandVon>1998-01-24</ns3:BestandVon>
+ <ns3:BestandBis>2999-12-31</ns3:BestandBis>
+ </ersb:Bestandszeitraum>
+ <ersb:Bestandszeitraum ersb:aktion="NEU">
+ <ns3:BestandVon>1998-01-24</ns3:BestandVon>
+ <ns3:BestandBis>2013-10-31</ns3:BestandBis>
+ </ersb:Bestandszeitraum>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest>
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_evb.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_evb.xml
new file mode 100644
index 0000000..5276e21
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_evb.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ns3:EvbStatus>N</ns3:EvbStatus>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_fktregel.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_fktregel.xml
new file mode 100644
index 0000000..d782c1e
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_fktregel.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName> <!-- Identifikation der Fkt -->
+ <ersb:FktRegel ersb:aktion="ALT">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName> <!-- Identifikation der Fkt -->
+ <ersb:FktRegel ersb:aktion="NEU">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 07.12.2011 gemeinsam mit einem Prokurist</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_pers_rt.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_pers_rt.xml
new file mode 100644
index 0000000..dfbd9ac
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_pers_rt.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Rechtstatsachen ersb:aktion="NEU">
+ <ns3:RT_Nummer>004</ns3:RT_Nummer>
+ <ns3:RT_Code>0815</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Funktion>
+ <ns3:FktName>107</ns3:FktName> <!-- Identifikation der Fkt -->
+ <ersb:Rechtstatsachen ersb:aktion="NEU">
+ <ns3:RT_Nummer>003</ns3:RT_Nummer>
+ <ns3:RT_Code>0815</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Personfunktion</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </ersb:Funktion>
+ <ersb:Rechtstatsachen ersb:aktion="ALT">
+ <ns3:RT_Nummer>002</ns3:RT_Nummer>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ <ersb:Rechtstatsachen ersb:aktion="NEU">
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Neue Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_persadr.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_persadr.xml
new file mode 100644
index 0000000..e574609
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_persadr.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="ALT">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_persdata.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_persdata.xml
new file mode 100644
index 0000000..41ca683
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_persdata.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="ALT">
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Max</Vorname>
+ <Familienname>Mustermann</Familienname>
+ <Affix position="suffix">MSc</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ </PersonenDaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="NEU">
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Max</Vorname>
+ <Familienname>Mustermann</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_person.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_person.xml
new file mode 100644
index 0000000..9df7b29
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_person.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="NEU">
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ersb:Funktion ersb:aktion="NEU">
+ <ns3:FktName>101</ns3:FktName>
+ <ersb:FktRegel ersb:aktion="NEU">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 07.12.2011 gemeinsam mit einem Prokurist</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_pfunkt.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_pfunkt.xml
new file mode 100644
index 0000000..f54b499
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_pfunkt.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Funktion ersb:aktion="ALT">
+ <ns3:FktName>109</ns3:FktName>
+ </ersb:Funktion>
+ <ersb:Funktion ersb:aktion="NEU">
+ <ns3:FktName>121</ns3:FktName>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_rechtsform.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_rechtsform.xml
new file mode 100644
index 0000000..dabc1d7
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_rechtsform.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ <ersb:Rechtsform ersb:aktion="ALT">
+ <ns3:ReFormExtern>101</ns3:ReFormExtern>
+ </ersb:Rechtsform>
+ <ersb:Rechtsform ersb:aktion="NEU">
+ <ns3:ReFormExtern>102</ns3:ReFormExtern>
+ <ns3:ReFormExternText>Text für ausl. RF</ns3:ReFormExternText>
+ </ersb:Rechtsform>
+ </NichtNatuerlichePerson>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_untname.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_untname.xml
new file mode 100644
index 0000000..208c5d8
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_untname.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ <ersb:UntName ersb:aktion="ALT">
+ <ns3:VollerName>Max Mustermann</ns3:VollerName>
+ </ersb:UntName>
+ <ersb:UntName ersb:aktion="NEU">
+ <ns3:VollerName>Max Mustermann &amp; Erben</ns3:VollerName>
+ </ersb:UntName>
+ </NichtNatuerlichePerson>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest>
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_vertretung.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_vertretung.xml
new file mode 100644
index 0000000..6a34ed4
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_aend_vertretung.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Vertretung ersb:aktion="ALT">alter VText</ersb:Vertretung>
+ <ersb:Vertretung ersb:aktion="NEU">neuer Vtext</ersb:Vertretung>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_neuanlage.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_neuanlage.xml
new file mode 100644
index 0000000..2681624
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_neuanlage.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <ersb:UntName>
+ <ns3:VollerName>Maximilian Mustermann</ns3:VollerName>
+ </ersb:UntName>
+ <ersb:Rechtsform>
+ <ns3:ReFormExtern>101</ns3:ReFormExtern>
+ </ersb:Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ersb:Bestandszeitraum>
+ <ns3:BestandVon>2010-06-12</ns3:BestandVon>
+ </ersb:Bestandszeitraum>
+ <ersb:Bestandsnachweis>Text für Bestandsnachweis</ersb:Bestandsnachweis>
+ <ersb:Vertretung>Vertretungsregelung für das Unternehmen</ersb:Vertretung>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification> <!-- optional: Fremd-bPK WT-UR -->
+ <Value>spwAeUM/n8okpsROzLSxNUn/U6Sr+/evE9rs0xI7WsRO79d
+ Sf4OBRS/q3LTt2GKrptB5ZfY/T137l8MuglMw3GbxLY7J4WlUnUbCCCnW4FP7G
+ b8HjFItBri9hIjtV3a6H+rMBfmpNXyzAhTuvAtxUmB7ZHyUUF/kVIxpjA4SRWs=</Value>
+ <Type>BPK</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName>
+ <ersb:FktRegel>
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ersb:FktRegel>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Funktion</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </ersb:Funktion>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.3/examples/example_neuanlage_response.xml b/src/main/resources/wsdl/ERsB/1.3/examples/example_neuanlage_response.xml
new file mode 100644
index 0000000..bed187e
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/examples/example_neuanlage_response.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbResponse xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:returncode>1</ersb:returncode>
+ <ersb:statustext>OK</ersb:statustext>
+ <ersb:PersonenDaten xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- vom ERsB generiert -->
+ <Type>ERJ</Type>
+ <ns3:TypeText>Ordnungsnummer aus dem ERsB</ns3:TypeText>
+ <ns3:Beginn quelle="ERJ"
+ quText="Ergänzungsregister für sonstige Betroffene">2012-06-01+01:00</ns3:Beginn>
+ </Identification>
+ <Identification>
+ <Value>R011S390Q</Value> <!-- vom ERsB generiert -->
+ <Type>KUR</Type>
+ <ns3:TypeText>Kennziffer des Unternehmensregisters</ns3:TypeText>
+ <ns3:Beginn quelle="URV"
+ quText="Unternehmensregister für Verwaltungszwecke">2012-06-01+01:00</ns3:Beginn>
+ </Identification>
+ <VollerName>Max Mustermann</VollerName>
+ <Rechtsform>Einzelunternehmen</Rechtsform>
+ <ns3:UntName ns3:vollzugBeginn="v1" >
+ <ns3:VollerName>Max Mustermann</ns3:VollerName>
+ </ns3:UntName>
+ <ns3:Rechtsform ns3:vollzugBeginn="v1">
+ <ns3:ReForm>1</ns3:ReForm>
+ <ns3:ReFormText>Einzelunternehmen</ns3:ReFormText>
+ <ns3:ReFormExtern>101</ns3:ReFormExtern>
+ <ns3:ReFormExternText>Einzelunternehmen</ns3:ReFormExternText>
+ </ns3:Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:Bestandszeitraum ns3:vollzugBeginn="v1">
+ <ns3:BestandVon>2010-06-12</ns3:BestandVon>
+ </ns3:Bestandszeitraum>
+ <ns3:Bestandsnachweis ns3:vollzugBeginn="v1">
+ Text für Bestandsnachweis</ns3:Bestandsnachweis>
+ <ns3:Vertretung ns3:vollzugBeginn="v1">
+ Vertretungsregelung für das Unternehmen</ns3:Vertretung>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson ns3:vollzugBeginn="v1">
+ <Identification>
+ <Value>A</Value> <!-- vom ERsB generiert -->
+ <Type>PNR</Type>
+ <ns3:TypeText>Personennummer</ns3:TypeText>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ns3:Funktion ns3:vollzugBeginn="v1">
+ <ns3:FktName>101</ns3:FktName>
+ <ns3:FktNameText>Inhaber</ns3:FktNameText>
+ <ns3:FktRegel ns3:vollzugBeginn="v1">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ns3:FktRegel>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Funktion</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </ns3:Funktion>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ <ns3:Vollzug id="v1" nummer="001" status="A">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">
+ 2012-06-01+01:00</ns3:Antrag>
+ </ns3:Vollzug>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbResponse>
diff --git a/src/main/resources/wsdl/ERsB/1.3/schema/PersonData_Ersb.xsd b/src/main/resources/wsdl/ERsB/1.3/schema/PersonData_Ersb.xsd
new file mode 100644
index 0000000..4fbae28
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/schema/PersonData_Ersb.xsd
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BM֖LS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Adaptierung URV URSuche v3.0 für Ersb Schnittstelle
+ ===================================================
+ 2012-11-19 sml AdressRegisterEintrag und Nutzungseinheitlaufnummer in den ERsB Requests (URV-454)
+ 2012-10-08 sml Stiege und Türnummer in ERsB Request
+ 2012-09-20 sml NichtNatuerlichePerson um ErsbAttributes erweitert
+ 2012-09-11 sml IdentificationType um Beginn und Ende erweitert
+ 2012-09-03 sml IdentificationType um ErsbAttributes erweitert
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ersb/1#"
+ xmlns:urs="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <!-- Import der ERSB-suche -->
+
+ <xs:import namespace="http://statistik.at/namespace/ersb/1#"
+ schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Import UR Suche -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch verfügbar, nicht direkt benützen sondern PersonenDaten benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp" substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch verfügbar, nicht direkt benützen sondern NatuerlichePerson o. NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody, ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ###-->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile, entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch verfügbar, nicht direkt benützen sondern PostAdresse, InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress, ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht TypedPostalAddress, ist Ableitung von Address (abstract) </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type ####-->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ###-->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson"/>
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den Zusatzdaten-->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson"/>
+ <xs:element ref="NatuerlichePerson"/>
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:EvbStatus" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+<xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale, besteht aus Type und Value Unterelementen, aus technischen Gründen nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- Erweiterung Ersb -->
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <!-- Erweiterung Ersb -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0"/>
+ <xs:element ref="Geburtsdatum" minOccurs="0"/>
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Rechtsform" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0" maxOccurs="unbounded" />
+
+ </xs:sequence>
+ <!-- Erweiterung Ersb -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr"/>
+ <xs:enumeration value="falsch"/>
+ <xs:enumeration value="undefiniert"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad"/>
+ <xs:enumeration value="Adelstitel"/>
+ <xs:enumeration value="FamiliennamenAffix"/>
+ <xs:enumeration value="Anrede"/>
+ <xs:enumeration value="Generation"/>
+ <xs:enumeration value="Qualifikation"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements</xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse"/>
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0"/>
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0"/>
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B. 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gebaeude" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Gebäudeteil oder eigneens Gbäude, z.B. Stiege, Werkstatt, ..... Entspricht Unit</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Nutzungseinheit" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Tuernummer oder andere naehere Beschreibung der Adresse (z.B. 4. Stock rechts). Entspricht DoorNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Nutzungseinheitlaufnummer" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>zmr use only</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder Monta können ausgelassen werden, entspricht DayOfBirthType</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.3/schema/PersonData_URSuche.xsd b/src/main/resources/wsdl/ERsB/1.3/schema/PersonData_URSuche.xsd
new file mode 100644
index 0000000..6c8209a
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/schema/PersonData_URSuche.xsd
@@ -0,0 +1,511 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BM֖LS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Anpassungen für URV URSuche v3.0
+ ================================
+ 2012-09-24 sml Auslagerung Zusatzdaten in ZusatzdatenPersonenTyp
+ 2012-09-20 sml NichtNatuerlichePerson um VollzugAttributes erweitert
+ 2012-09-11 sml Kardinalität EVBStatus auf 0..1 geändert
+ Kardinalität TypeText von 0..n auf 0..1 geändert
+ 2012-08-20 hoa AdressCode/Subcode/Objektnummer hinzugefügt
+ 2012-08-08 sml Branche hinzugefügt
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-08-06 sml eigener Namespace für UR-Persondata
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <!-- Import der UR-basic -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp"
+ substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ### -->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type #### -->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ### -->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson" />
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:AendDat" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Branche" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vollzug" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den
+ Zusatzdaten -->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson" />
+ <xs:element ref="NatuerlichePerson" />
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" type="ZusatzdatenPersonenTyp" minOccurs="0"/>
+
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="ZusatzdatenPersonenTyp">
+
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:EvbStatus" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+
+ </xs:complexType>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:TypeText" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0" />
+ <xs:element ref="Geburtsdatum" minOccurs="0" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <xs:element name="Rechtsform" type="xs:anyURI"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr" />
+ <xs:enumeration value="falsch" />
+ <xs:enumeration value="undefiniert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad" />
+ <xs:enumeration value="Adelstitel" />
+ <xs:enumeration value="FamiliennamenAffix" />
+ <xs:enumeration value="Anrede" />
+ <xs:enumeration value="Generation" />
+ <xs:enumeration value="Qualifikation" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix" />
+ <xs:enumeration value="suffix" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse" />
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0" />
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0" />
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
+ </xs:simpleType>
+
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.3/schema/ersb-types.xsd b/src/main/resources/wsdl/ERsB/1.3/schema/ersb-types.xsd
new file mode 100644
index 0000000..882d16a
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/schema/ersb-types.xsd
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 2012-10-17 sml V0.0.3 ErsbRequest um Attribut Id erweitert, ErsbResponse: Kardinalität zu Personendaten von 0:1 auf 0:n geändert.
+ 2012-10-08 sml V0.0.2 aktion ohne defaulting
+ 2012-06-21 sml V0.0.1 Ersterstellung
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_URSuche.xsd" />
+
+
+ <xsd:import namespace="http://statistik.at/namespace/ersb/persondata/1#"
+ schemaLocation="PersonData_Ersb.xsd" />
+
+
+ <xsd:include schemaLocation="ur-basicTypesErsb.xsd" />
+
+ <xsd:element name="ErsbRequest" type="ersb:ErsbRequest" />
+ <xsd:element name="ErsbResponse" type="ersb:ErsbResponse" />
+
+ <xsd:complexType name="ErsbRequest">
+ <xsd:sequence>
+ <xsd:element name="PersonenDaten" type="pdersb:PersonenDatenTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:integer" use="optional" />
+ </xsd:complexType>
+
+ <!-- Responseelemente -->
+ <xsd:complexType name="ErsbResponse">
+ <xsd:sequence>
+ <xsd:element name="returncode" type="xsd:int" />
+ <xsd:element name="statustext" type="xsd:string" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="PersonenDaten" type="pd:PersonenDatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:integer" use="optional" />
+ </xsd:complexType>
+
+
+ <xsd:attribute name="aktion">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ALT"></xsd:enumeration>
+ <xsd:enumeration value="NEU"></xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+
+ <xsd:attributeGroup name="ErsbAttributes">
+ <xsd:attribute ref="ersb:aktion" use="optional"/>
+ </xsd:attributeGroup>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.3/schema/specific/CustomFault.xsd b/src/main/resources/wsdl/ERsB/1.3/schema/specific/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/schema/specific/CustomFault.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element name="Detail" type="xs:anyType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.3/schema/ur-basicTypes.xsd b/src/main/resources/wsdl/ERsB/1.3/schema/ur-basicTypes.xsd
new file mode 100644
index 0000000..13081bb
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/schema/ur-basicTypes.xsd
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 2013-03-14 sml V0.1.3 FktRegelTyp: alle Elemente auf minOccurs=0 geändert
+ 2013-03-05 sml V0.1.2 Erweiterung Taetigkeitszeitraum analog zu Bestandszeitraum
+ 2013-01-23 sml V0.1.1 Bestandszeitraum BestandVon auf minOccurs=0 geändert
+ 2012-11-20 sml V0.1.0 Erweiterung Rechtsform: ReFormExtern auf numerischen RechtsformTyp geändert, ReFormExternText für Text hinzugefügt
+ 2012-10-15 sml V0.0.9 Typo Vetretung => Vertretung
+ 2012-10-12 sml V0.0.8 Kardinalität Funktion <==> Rechtstatsache von 0:1 auf 0:n geändert
+ 2012-09-19 sml V0.0.7 FktRegelTyp: FktRegelBis minOccurs von 1 auf 0 geändert
+ 2012-07-31 sml V0.0.6 Entfernung aller any-Attribute; Umbau auf Vererbung mit VollzugsAttributen
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ Erweiterung der Merkmalsgruppen um any-Attribute
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergängzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+
+
+
+
+ <!-- Responseelemente -->
+
+ <xsd:attribute name="vollzugBeginn" type="xsd:IDREF" />
+ <xsd:attribute name="vollzugEnde" type="xsd:IDREF" />
+
+ <xsd:attributeGroup name="VollzugAttributes">
+ <xsd:attribute ref="std:vollzugBeginn" use="optional" />
+ <xsd:attribute ref="std:vollzugEnde" use="optional"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="Beginn" type="std:QuellenType"/>
+ <xsd:element name="Ende" type="std:QuellenType"/>
+ <xsd:element name="Vollzug" type="std:Vollzug" />
+
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntNameVollzug" />
+ <xsd:element name="Rechtsform" type="std:RechtsformVollzug" />
+ <xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug" />
+ <xsd:element name="Taetigkeitszeitraum" type="std:TaetigkeitszeitraumVollzug" />
+ <xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug" />
+ <xsd:element name="Vertretung" type="std:VertretungVollzug" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug" />
+ <xsd:element name="Funktion" type="std:FunktionVollzug" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ <xsd:complexType name="UntName" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="UntNameVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormExternText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RechtsformVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="BestandVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="BestandBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Taetigkeitszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="TaetigVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="TaetigBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="TaetigkeitszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Taetigkeitszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Bestandsnachweis" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandsnachweisVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vertretung" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="VertretungVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Rechtstatsachen" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="RT_Nummer" type="st:RT_NummerTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Code" type="st:RT_CodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Text" type="xsd:string"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtstatsachenVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vollzug">
+ <xsd:sequence>
+ <xsd:element name="Antrag" type="std:VollzugElem" minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vollzug" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Zurueckstellung" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ <xsd:attribute name="nummer" type="xsd:integer" use="required" />
+ <xsd:attribute name="status" type="st:VollzugStatusTyp" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="VollzugElem">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/>
+ <xsd:attribute name="quText" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Funktion" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktNameText" type="st:FunktionTextTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <!--
+ <xsd:element name="FktRegel" type="std:FktRegelTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:Rechtstatsachen"
+ minOccurs="0" maxOccurs="1" />
+ -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="std:FktRegelTypVollzug"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="FktRegelTyp" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktRegelVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelText" type="st:FktRegelTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.3/schema/ur-basicTypesErsb.xsd b/src/main/resources/wsdl/ERsB/1.3/schema/ur-basicTypesErsb.xsd
new file mode 100644
index 0000000..93b9bbf
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/schema/ur-basicTypesErsb.xsd
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 2012-10-15 sml V0.0.4 Typo Vertretung => Vertretung
+ 2012-10-12 sml V0.0.3 Kardinalität Funktion <==> Rechtstatsache von 0:1 auf 0:n geändert
+ 2012-10-12 sml V0.0.2 FunktionErsb: Ausbesserung auf ersb:RechtstatsachenErsb
+ 2012-08-06 sml V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+<!--
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+ -->
+ <xsd:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+ <xsd:include schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Responseelemente -->
+ <!--
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ -->
+ <xsd:element name="UntName" type="ersb:UntNameErsb" />
+ <xsd:element name="Rechtsform" type="ersb:RechtsformErsb" />
+ <xsd:element name="Bestandszeitraum" type="ersb:BestandszeitraumErsb" />
+ <xsd:element name="Bestandsnachweis" type="ersb:BestandsnachweisErsb" />
+ <xsd:element name="Vertretung" type="ersb:VertretungErsb" />
+ <xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb" />
+ <xsd:element name="Funktion" type="ersb:FunktionErsb" />
+
+ <!-- Beginn- und Endedatum für IdentificationType -->
+ <xsd:element name="Beginn" type="xsd:date" />
+ <xsd:element name="Ende" type="xsd:date" />
+
+
+ <!-- complex data types -->
+ <xsd:complexType name="UntNameErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtsformErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="BestandsnachweisErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="VertretungErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="RechtstatsachenErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="ersb:FktRegelTypErsb"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.3/schema/ur-simpleTypes.xsd b/src/main/resources/wsdl/ERsB/1.3/schema/ur-simpleTypes.xsd
new file mode 100644
index 0000000..7533ead
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.3/schema/ur-simpleTypes.xsd
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 2012-11-19 V0.0.2 sml minInclusive von RechtsformTyp und FunktionTyp auf 0 geändert.
+ 2012-08-07 V0.0.1 sml AktionTyp entfernt
+-->
+
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="A" />
+ <enumeration value="V" />
+ <enumeration value="Z" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErgebnisVollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="V" />
+ <enumeration value="AZV" />
+ </restriction>
+ </simpleType>
+
+<!--
+ <simpleType name="AktionTyp">
+ <annotation>
+ <documentation>
+ Unterscheidung zwischen zu beendenden und neu anzulegenden Merkmalsgruppen
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="NEU" />
+ <enumeration value="ALT" />
+ </restriction>
+ </simpleType>
+ -->
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FbnTyp">
+ <annotation>
+ <documentation>
+ Firmenbuchnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{6}[a-z]"/>
+ <length value="7"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ZvrTyp">
+ <annotation>
+ <documentation>
+ Vereinsregisternummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{9}"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErjTyp">
+ <annotation>
+ <documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ֖NACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ֖NACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ֖NACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_NummerTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Nummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_CodeTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Code
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="4" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="AdressTyp">
+ <annotation>
+ <documentation>
+ AdressTyp
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="SITZ"/>
+ <enumeration value="ZUSTELLADRESSE"/>
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FktRegelTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="2000" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="EvbStatusTyp">
+ <annotation>
+ <documentation>
+ Einzelvertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="J" />
+ <enumeration value="N" />
+ <enumeration value="U" />
+ </restriction>
+ </simpleType>
+</schema> \ No newline at end of file
diff --git a/src/test/java/at/gv/util/demo/Clienttests.java b/src/test/java/at/gv/util/demo/Clienttests.java
new file mode 100644
index 0000000..e984263
--- /dev/null
+++ b/src/test/java/at/gv/util/demo/Clienttests.java
@@ -0,0 +1,392 @@
+package at.gv.util.demo;
+
+import iaik.security.ecc.interfaces.ECDSAParams;
+import iaik.security.ecc.interfaces.ECDSAPublicKey;
+import iaik.security.ecc.math.ecgroup.AffineCoordinate;
+import iaik.security.ecc.math.ecgroup.ECPoint;
+import iaik.security.ecc.provider.ECCProvider;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.math.BigInteger;
+import java.security.InvalidKeyException;
+import java.security.PublicKey;
+import java.security.interfaces.DSAParams;
+import java.security.interfaces.DSAPublicKey;
+import java.security.interfaces.ECPublicKey;
+import java.security.interfaces.RSAPublicKey;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.namespace.QName;
+import javax.xml.transform.TransformerException;
+
+import org.apache.cxf.common.util.Base64Utility;
+import org.w3c.dom.Element;
+
+import at.gv.util.BpkUtil;
+import at.gv.util.DOMUtils;
+import at.gv.util.client.szr.SZRClient;
+import at.gv.util.client.ur_V5.URClient;
+import at.gv.util.client.ur_V5.URClient.URSearchResult;
+import at.gv.util.client.ur_V5.URClientException;
+import at.gv.util.config.EgovUtilPropertiesConfiguration;
+import at.gv.util.data.BPK;
+import at.gv.util.ex.EgovUtilException;
+import at.gv.util.wsdl.szr.SZRException;
+import at.gv.util.xsd.szr.GetIdentityLink;
+import at.gv.util.xsd.szr.IdentityLinkType;
+import at.gv.util.xsd.szr.PersonInfoType;
+import at.gv.util.xsd.szr.TravelDocumentType;
+import at.gv.util.xsd.szr.ecdsa.DomainParamsType;
+import at.gv.util.xsd.szr.ecdsa.ECDSAKeyValueType;
+import at.gv.util.xsd.szr.ecdsa.ECPointType;
+import at.gv.util.xsd.szr.ecdsa.NamedCurveType;
+import at.gv.util.xsd.szr.ecdsa.PrimeFieldElemType;
+import at.gv.util.xsd.szr.persondata.IdentificationType;
+import at.gv.util.xsd.szr.persondata.PersonNameType;
+import at.gv.util.xsd.szr.persondata.PhysicalPersonType;
+import at.gv.util.xsd.szr.xmldsig.DSAKeyValueType;
+import at.gv.util.xsd.szr.xmldsig.KeyValueType;
+import at.gv.util.xsd.szr.xmldsig.RSAKeyValueType;
+
+public class Clienttests {
+
+ public static String XFN_NAME = "Firmenbuchnummer";
+ public static String XFN_VALUE = "urn:publicid:gv.at:baseid+XFN";
+ public static String XFN_URT = "FBN";
+
+ public static String XZVR_NAME = "ZVR-Zahl";
+ public static String XZVR_VALUE = "urn:publicid:gv.at:baseid+XZVR";
+ public static String XZVR_URT = "ZVR";
+
+ public static String XERSB_NAME = "ERsB Ordnungsnummer";
+ public static String XERSB_VALUE = "urn:publicid:gv.at:baseid+XERSB";
+ public static String XERSB_URT = "ERJ";
+
+ public static List<String> UR_TYPES = Arrays.asList(XFN_URT, XZVR_URT, XERSB_URT);
+
+ public static HashSet<String> ERSB_KEYS = new HashSet<String>();
+
+ public static final String SSPIN_PREFIX = "urn:publicid:gv.at:cdid+";
+
+ private final static byte[] DEFAULT_PUBL_KEY = new byte[] {48, -127, -97, 48, 13, 6, 9, 42, -122, 72, -122, -9, 13, 1, 1, 1, 5, 0, 3, -127, -115, 0, 48, -127, -119, 2, -127, -127, 0, -106, 114, -113, -1, -84, 116, 35, 3, 70, -81, 81, -110, -10, -59, 114, 4, -109, 86, 127, -50, 125, 47, 4, 80, 79, 53, 117, -36, 15, -16, -61, 110, 39, 89, 29, -43, 37, -127, 80, -109, -38, 65, 125, -119, 44, -111, -21, 47, -98, 38, -112, -24, 107, -110, 17, -10, 51, -4, -36, -72, -28, -18, -14, 117, -67, 76, -31, 32, 92, 104, -21, 68, 31, -12, 30, -104, -104, 42, -107, 126, 84, 50, 85, -117, 44, -100, -4, 102, -100, 52, -68, 77, -32, 9, -16, -30, -104, -90, 107, -88, 7, 97, -94, 72, -61, -40, 80, -112, -65, -25, -72, -19, -95, -54, 31, 15, 24, -105, 123, -81, 23, -123, 92, -103, -101, 47, 47, -105, 2, 3, 1, 0, 1};
+ public static final String DOCUMENT_TYPE = "ELEKTR_DOKUMENT";
+ public static final String ERnB_ISSUEDATE = "2014-01-01";
+ public static final String ERnB_ISSUINGAUTHORITY = "SZR-Gateway";
+
+ @SuppressWarnings("unused")
+ public static void main(String[] args) throws IOException {
+
+ String propertiesFileLocation = System.getProperty("mis.configuration");
+
+ if (propertiesFileLocation == null) {
+ System.out.println("No system properties found. Cannot load default configuration.");
+ throw new IOException("Cannot load default configuration. Please specify first mis.configuration location in system properties.");
+
+ }
+
+ File propertiesFile = new File(propertiesFileLocation);
+ FileInputStream fis = new FileInputStream(propertiesFile);
+ String configDir = propertiesFile.getParentFile().getAbsolutePath();
+ Properties props = new Properties();
+ props.load(fis);
+
+ EgovUtilPropertiesConfiguration egovUtilConfiguration = new EgovUtilPropertiesConfiguration(props, configDir);
+
+ ERSB_KEYS.add("136");
+ ERSB_KEYS.add("137");
+ ERSB_KEYS.add("138");
+ ERSB_KEYS.add("139");
+ ERSB_KEYS.add("140");
+
+ try {
+ SZRClient szrClient = new SZRClient(egovUtilConfiguration);
+ URClient urClient = new URClient(egovUtilConfiguration, UR_TYPES, ERSB_KEYS, false, false);
+
+
+ PersonInfoType personInfo = new PersonInfoType();
+ PhysicalPersonType person = new PhysicalPersonType();
+ personInfo.setPerson(person);
+ PersonNameType personName = new PersonNameType();
+ person.setName(personName );
+
+ IdentificationType id = new IdentificationType();
+
+// id.setType(SSPIN_PREFIX + "ZP");
+// id.setValue("U/wThc0XOTZp9Tvsxrh8DhGTXsU=");
+// person.setIdentification(id);
+
+ personName.setFamilyName("Karning");
+ personName.setGivenName("Bernhard");
+ person.setDateOfBirth("1976-01-15");
+
+
+
+ String baseID = szrClient.getStammzahl(personInfo );
+
+ BPK zpBpk = BpkUtil.createBPK(baseID, "ZP");
+
+ String encryptedbPK = szrClient.transformBPK(personInfo, zpBpk.getBpk(), SSPIN_PREFIX + "ZP", SSPIN_PREFIX + "WT-UR", "BBA-STA");
+
+
+// GetIdentityLink idlReq = createGetIdentityLink();
+//
+// String baseIDResp = szrClient.getStammzahl(personInfo);
+//
+// IdentityLinkType idlResp = szrClient.getIdentityLink(
+// idlReq.getPersonInfo(),
+// idlReq.getKeyValue(),
+// false);
+// Element idl = (Element)idlResp.getAssertion();
+// System.out.println(DOMUtils.serializeNode(idl));
+
+
+ List<URSearchResult> urResult = urClient.searchByBpk(encryptedbPK);
+
+ System.out.println("Finish");
+
+
+
+ } catch (EgovUtilException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ } catch (SZRException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ } catch (URClientException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ private static GetIdentityLink createGetIdentityLink(){
+
+ // set parameter
+ GetIdentityLink getIdentityLink = new GetIdentityLink();
+
+ // generate PersonData
+ PersonNameType personName = new PersonNameType();
+ personName.setFamilyName("Janez Vzorec");
+ personName.setGivenName("Janez Vzorec");
+
+ PhysicalPersonType physicalPerson = new PhysicalPersonType();
+ SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
+
+ String birthday = "1998-12-06";
+ if (birthday != null)
+ physicalPerson.setDateOfBirth(birthday);
+
+ physicalPerson.setName(personName);
+
+ PersonInfoType personInfo = new PersonInfoType();
+ personInfo.setPerson(physicalPerson);
+
+
+ // add Traveldocument
+
+ TravelDocumentType trvlDoc = new TravelDocumentType();
+
+ // parse STORK-eID to his components
+ //ERnB allows only eIDs with a maximum length of 54 signs
+ trvlDoc.setDocumentNumber("33333333");
+ trvlDoc.setIssuingCountry("SI");
+ trvlDoc.setDocumentType(DOCUMENT_TYPE);
+
+ //set default values from SZR because certificate for mandator natural person is not
+ //available in case of authentication with electronic mandates.
+ trvlDoc.setIssueDate(ERnB_ISSUEDATE);
+ trvlDoc.setIssuingAuthority(ERnB_ISSUINGAUTHORITY);
+
+ JAXBElement<TravelDocumentType> jaxbtrvlDoc = personInfo.getTravelDocument();
+
+ if (jaxbtrvlDoc == null)
+ jaxbtrvlDoc = new JAXBElement<TravelDocumentType>(new QName("urn:SZRServices", "TravelDocument"), TravelDocumentType.class, trvlDoc);
+ else
+ jaxbtrvlDoc.setValue(trvlDoc);
+
+ //personInfo.setTravelDocument(jaxbtrvlDoc);
+
+ // Personendaten setzen
+ getIdentityLink.setPersonInfo(personInfo);
+
+ // add Keys
+
+ PublicKey pb;
+ List<KeyValueType> keyvalueList = getIdentityLink.getKeyValue();
+ if (keyvalueList == null)
+ keyvalueList = new ArrayList<KeyValueType>();
+
+
+ try {
+ pb = new iaik.security.rsa.RSAPublicKey(DEFAULT_PUBL_KEY);
+ List<KeyValueType> keys = getKeyValueTypes(pb);
+ keyvalueList.addAll(keys);
+
+ } catch (InvalidKeyException e) {
+ e.printStackTrace();
+
+ }
+
+ // set Insert ERnP flag
+ getIdentityLink.setInsertERnP(false);
+
+// Constants.DATA_LOGGER.debug("Person wird im SZR und ERnP gesucht bzw. gegebenenfalls im ERnP eingetragen: "
+// + natPerson.getFamilyName() + " " + natPerson.getGivenName() + " " + natPerson.getBirthday()
+// + " eID=" + natPerson.geteID() , tid);
+
+ return getIdentityLink;
+
+ }
+
+ /**
+ * Returns the according key value types from the given public key
+ * @param pb
+ * @return
+ * @throws SZRGWException
+ */
+ private static List<KeyValueType> getKeyValueTypes(PublicKey pb) {
+ List<KeyValueType> keys = new ArrayList<KeyValueType>();
+
+ ECCProvider.addAsProvider();
+
+ //System.out.println(pb);
+
+ if (pb instanceof RSAPublicKey) {
+ //System.out.println("Is a RSAPublicKey");
+ //Extract key data
+ RSAPublicKey rsapb = (RSAPublicKey)pb;
+
+ BigInteger modulus = rsapb.getModulus();
+ BigInteger exponent = rsapb.getPublicExponent();
+
+ //System.out.println("Modulus: " + modulus);
+ //System.out.println("PublicExponent: " + exponent);
+
+ // set key values
+ RSAKeyValueType rsa = new RSAKeyValueType();
+ ;
+ rsa.setExponent(Base64Utility.encode(exponent.toByteArray()));
+ rsa.setModulus(Base64Utility.encode(modulus.toByteArray()));
+
+
+ KeyValueType key = new KeyValueType();
+ key.setRSAKeyValue(rsa);
+ keys.add(key);
+
+ }
+
+ if (pb instanceof DSAPublicKey) {
+ //System.out.println("Is a DSAPublicKey");
+ // extract key data
+ DSAPublicKey dsapb = (DSAPublicKey) pb;
+ BigInteger y = dsapb.getY();
+ DSAParams param = dsapb.getParams();
+ BigInteger g = param.getG();
+ BigInteger p = param.getP();
+ BigInteger q = param.getQ();
+
+// System.out.println("Y: " + y);
+// System.out.println("G: " + g);
+// System.out.println("P: " + p);
+// System.out.println("Q: " + q);
+//
+ //set key values
+ DSAKeyValueType dsa = new DSAKeyValueType();
+ if (y != null)
+ dsa.setY(y.toString());
+ if (g != null)
+ dsa.setG(g.toString());
+ if (p != null)
+ dsa.setP(p.toString());
+ if (q != null)
+ dsa.setQ(q.toString());
+
+ KeyValueType key = new KeyValueType();
+ key.setDSAKeyValue(dsa);
+ keys.add(key);
+
+ }
+
+ if (pb instanceof ECDSAPublicKey) {
+
+ //Extract key data
+ ECDSAPublicKey ecdsapb= (ECDSAPublicKey)pb;
+ ECDSAParams params = ecdsapb.getParameter();
+ //EllipticCurve curve = params.getG().getCurve();
+ String oid = params.getOID();
+ //String name = ObjectID.getRegisteredName(oid);
+ ECPoint w = ecdsapb.getW();
+ AffineCoordinate coordinate = (AffineCoordinate) w.getCoordinates().toAffine();
+ String x = coordinate.getX().toBigInt().toString();
+ String y = coordinate.getY().toBigInt().toString();
+
+ ECDSAKeyValueType ecdsa = new ECDSAKeyValueType();
+ DomainParamsType paramstype = new DomainParamsType();
+ NamedCurveType namedCurve = new NamedCurveType();
+ namedCurve.setURN("urn:oid:" + oid);
+ paramstype.setNamedCurve(namedCurve);
+ ecdsa.setDomainParameters(paramstype);
+
+ ECPointType ecpointtype = new ECPointType();
+ PrimeFieldElemType xElem = new PrimeFieldElemType();
+ xElem.setValue(x);
+ PrimeFieldElemType yElem = new PrimeFieldElemType();
+ yElem.setValue(y);
+ ecpointtype.setX(xElem);
+ ecpointtype.setY(yElem);
+ ecdsa.setPublicKey(ecpointtype);
+
+ KeyValueType key = new KeyValueType();
+ key.setECDSAKeyValue(ecdsa);
+ keys.add(key);
+
+ //throw new SZRGWException("Certificate enthält einen ECDSAPublicKey. Dieser wird momentan noch nicht unterstützt.");
+ }
+
+ if (pb instanceof ECPublicKey) {
+ //System.out.println("Is a ECPublicKey");
+
+
+// throw new SZRGWException("Certificate enthält einen ECPublicKey. Dieser wird momentan noch nicht unterstützt.");
+
+
+
+// ECPublicKey ecpb = (ECPublicKey) pb;
+//
+// System.out.println(ecpb.toString());
+//
+// ECParameterSpec params = ecpb.getParams();
+// EllipticCurve curve = params.getCurve();
+//
+// ECDSAKeyValueType ecdsa = new ECDSAKeyValueType();
+// DomainParamsType domainparams = new DomainParamsType();
+// NamedCurveType curvetype = new NamedCurveType();
+// curvetype.setURN("P-192");
+// domainparams.setNamedCurve(curvetype);
+// ecdsa.setDomainParameters(domainparams);
+// ECPointType publicKey = new ECPointType();
+// PrimeFieldElemType x = new PrimeFieldElemType();
+// x.setValue("12345x");
+// publicKey.setX(x);
+// PrimeFieldElemType y = new PrimeFieldElemType();
+// y.setValue("12345y");
+// publicKey.setY(y);
+// ecdsa.setPublicKey(publicKey);
+// keys[0].setECDSAKeyValue(ecdsa);
+
+
+ }
+
+ return keys;
+ }
+
+}