summaryrefslogtreecommitdiff
path: root/src/main/resources/wsdl/ur
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/wsdl/ur')
-rw-r--r--src/main/resources/wsdl/ur/PersonData_20_dt.xsd378
-rw-r--r--src/main/resources/wsdl/ur/URSucheService.wsdl124
-rw-r--r--src/main/resources/wsdl/ur/specific/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ur/unternehmenssuche.xsd326
-rw-r--r--src/main/resources/wsdl/ur/ur-simpleTypes.xsd304
-rw-r--r--src/main/resources/wsdl/ur/xml-sw.xsd289
6 files changed, 1439 insertions, 0 deletions
diff --git a/src/main/resources/wsdl/ur/PersonData_20_dt.xsd b/src/main/resources/wsdl/ur/PersonData_20_dt.xsd
new file mode 100644
index 0000000..71c830d
--- /dev/null
+++ b/src/main/resources/wsdl/ur/PersonData_20_dt.xsd
@@ -0,0 +1,378 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- 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.
+-->
+<?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:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <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 ###-->
+
+ <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="Person"/>
+ <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="true">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:any namespace="##any" processContents="lax">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </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:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </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:anyAttribute namespace="##other"/>
+ </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:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </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>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </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="1">
+ <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:anyAttribute namespace="##other"/>
+ </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:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </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:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="type" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Postfachadresse"/>
+ <xs:enumeration value="Anschrift"/>
+ <xs:enumeration value="MilitaerischeAdresse"/>
+ <xs:enumeration value="undefiniert"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </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>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur/URSucheService.wsdl b/src/main/resources/wsdl/ur/URSucheService.wsdl
new file mode 100644
index 0000000..c65db86
--- /dev/null
+++ b/src/main/resources/wsdl/ur/URSucheService.wsdl
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+Adaptierung der Datei "XmlSwService.wsdl"
+
+*) Ändern WS Name
+*) Ändern des targetNameSpaces
+
+
+
+*****************************************************
+File XmlSwService.wsdl
+
+Version 1.0 / 23.03.2004
+
+Author Franz-Josef Herpers / fjh consulting
+
+Copyright (c) 2004, 2005 Bundeskanzleramt Österreich
+
+*****************************************************
+
+-->
+<wsdl:definitions name="URSuche"
+ targetNamespace="urn:at:statistik:udb:ws"
+ xmlns:tns="urn:at:statistik:udb:ws"
+ xmlns:sw="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns:ud="http://statistik.at/namespace/ur/stammdaten/1#"
+ xmlns:soapbinding="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <wsdl:documentation> Dieses WSDL-Dokument beschreibt den
+ XML-Search-Service. </wsdl:documentation>
+ <wsdl:types>
+ <xsd:schema>
+ <xsd:import
+ namespace="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ schemaLocation="xml-sw.xsd"/>
+
+ <xsd:import
+ namespace="http://statistik.at/namespace/ur/stammdaten/1#"
+ schemaLocation="unternehmenssuche.xsd"/>
+ <xsd:import
+ namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_20_dt.xsd"/>
+
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="SearchByExample">
+ <wsdl:documentation>
+ Nachricht, die für eine Suchanfrage
+ vom Typ Search by Example vom Client abgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchByExample"/>
+ </wsdl:message>
+ <wsdl:message name="SearchById">
+ <wsdl:documentation> Nachricht, die für eine Suchanfrage
+ vom Typ Search by Id vom Client abgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchById"/>
+ </wsdl:message>
+ <wsdl:message name="SearchResponse">
+ <wsdl:documentation> Nachricht, die vom Server als
+ Antwort auf eine der beiden Suchanfragen
+ zurückgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="URSuche">
+ <wsdl:operation name="searchByExample">
+ <wsdl:documentation> Operation für den Abfragetyp
+ Search by Example
+ </wsdl:documentation>
+ <wsdl:input message="tns:SearchByExample"/>
+ <wsdl:output message="tns:SearchResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="searchById">
+ <wsdl:documentation> Operation für den Abfragetyp
+ Search by Id
+ </wsdl:documentation>
+ <wsdl:input message="tns:SearchById"/>
+ <wsdl:output message="tns:SearchResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="URSucheServiceSoapBinding"
+ type="tns:URSuche">
+ <wsdl:documentation> Definition des Binding für den
+ Search Service
+ </wsdl:documentation>
+ <soapbinding:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="searchByExample">
+ <soapbinding:operation
+ soapAction=""
+ style="document"/>
+ <wsdl:input>
+ <soapbinding:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soapbinding:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="searchById">
+ <soapbinding:operation
+ soapAction=""
+ style="document"/>
+ <wsdl:input>
+ <soapbinding:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soapbinding:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="URSucheService">
+ <wsdl:port binding="tns:URSucheServiceSoapBinding"
+ name="URSucheService">
+ <soapbinding:address
+ location="http://localhost:9081/udb/URSucheService"
+ />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/ur/specific/CustomFault.xsd b/src/main/resources/wsdl/ur/specific/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ur/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/ur/unternehmenssuche.xsd b/src/main/resources/wsdl/ur/unternehmenssuche.xsd
new file mode 100644
index 0000000..d36d1b3
--- /dev/null
+++ b/src/main/resources/wsdl/ur/unternehmenssuche.xsd
@@ -0,0 +1,326 @@
+<!--
+ 2011-09-16 sml V2.0.3 Erweiterung um DecodeBpkRequest
+ 2011-09-15 sml V2.0.2 Erweiterung um bpkWTUREncoded in SucheUnternehmenNachBpkRequest
+ 2011-07-01 sml V2.0.1 Erweiterung Response um Aenddat bei SucheUnternehmenNachAendDat
+ 2011-05-13 sml V2.0 Erweiterung um SucheUnternehmenNachBpkRequest, SucheUnternehmenNachAendDatRequest
+ 2010-10-12 sml V1.1.1 Einbau div. Textfelder; Vereinheitlichung <Beginn> und <Ende>, Ortsname hinzugefügt
+ 2010-07-22 sml V1.1.0 Umbau auf konforme xml-sw Struktur:
+ * Namespace http://statistik.at/namespace/ur/stammdaten/1 hinzugefügt
+ * HoleUStammdatenRequest hinzugefügt
+ * SucheUnternehmenRequest hinzugefügt
+ 2010-05-31 sml V1.0.4 Elemente rechtsform/reFormExtern, funktion/einzelvertretung, funktion/vertretungsbefugnisText, funktion/vertretungsbefugnisBeginn hinzugefügt;
+ Element unternehmen/udbId reaktiviert;
+ Kardinalitäten untName, rechtsform, untAdresse auf minOccurs=0; extKey auf minOccurs=1 geändert
+ 2010-02-16 sml V1.0.3 Zustelladresse entfernt
+ 2009-11-19 sml V1.0.2 Elemente unternehmen/udbId, untName/nachname, untName/vorname, untName/titel, untName/gebDatum entfernt
+ 2009-09-15 sml V1.0.1 Änderung Kardinalität Person <-> PersonenAdresse
+ 2009-08-12 sml V1.0.0 Ersterstellung
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/1#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/1#" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/1#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/1#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+ <!-- Requestobjekte -->
+
+ <xsd:element name="SucheUnternehmenNachIdsRequest" type="std:SucheUnternehmenNachIdsRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Stammdatenabfrage für Unternehmen durch Angabe einer oder mehrerer UR Kennziffern
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachIdsRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="kur" type="st:KurTyp" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachBpkRequest" type="std:SucheUnternehmenNachBpkRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Vertretungsbefugnissen von Personen in Unternehmen mithilfe
+ des unverschlüsselten WT-UR bPK
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachBpkRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:choice>
+ <xsd:element name="bpkWTUR" type="st:BpkTyp" minOccurs="1"
+ maxOccurs="1" />
+ <xsd:element name="bpkWTUREncoded" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:choice>
+
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachBpkEncodedRequest"
+ type="std:SucheUnternehmenNachBpkEncodedRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Vertretungsbefugnissen von Personen in Unternehmen mithilfe
+ des verschlüsselten WT-UR bPK
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="DecodeBpkRequest" type="std:DecodeBpkRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Dekodieren eines verschlüsselten WT-UR bPKs
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="DecodeBpkRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="bpkWTUREncoded" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="SucheUnternehmenNachBpkEncodedRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="bpkEncodedWTUR" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="bpkEncodedBereich" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="bereich" type="xsd:string" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachAendDatRequest"
+ type="std:SucheUnternehmenNachAendDatRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach geänderten Unternehmen
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachAendDatRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="aendDat" type="xsd:date" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenRequest" type="std:SucheUnternehmenRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Unternehmen durch Angabe von Suchkriterien
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+
+ <xsd:complexType name="SucheUnternehmenRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <!-- Suchkriteriengruppe Unternehmensdaten -->
+
+ <xsd:element name="unternehmensdaten" type="std:SucheUnternehmensdaten"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="branche" type="std:SucheBranche"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="personendaten" type="std:SuchePersonendaten"
+ minOccurs="0" maxOccurs="1" />
+
+ <xsd:element name="zeitraumVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="zeitraumBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SucheUnternehmensdaten">
+ <xsd:sequence>
+ <xsd:element name="phonetisch" type="xsd:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="klammer" type="xsd:boolean" minOccurs="0"
+ maxOccurs="1" />
+
+ <xsd:element name="untName" type="st:UntNameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="rechtsform" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <xsd:element name="id" type="st:IdTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="idArt" type="st:IdArtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="strasse" type="st:StrasseTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="SucheBranche">
+ <xsd:sequence>
+ <xsd:element name="oenaceJahr" type="st:OenaceJahrTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="oenaceCode" type="st:OenaceCodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="oenaceArt" type="st:OenaceArtTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SuchePersonendaten">
+ <xsd:sequence>
+ <xsd:element name="nachname" type="st:NachnameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="vorname" type="st:VornameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="gebDatum" type="xsd:date" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="strasse" type="st:StrasseTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <!-- Responseelemente -->
+
+ <xsd:element name="Beginn" type="std:QuellenType" />
+ <xsd:element name="Ende" type="std:QuellenType" />
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntName" />
+ <xsd:element name="Rechtsform" type="std:Rechtsform" />
+ <xsd:element name="Funktion" type="std:Funktion" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:date" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+
+
+
+ <xsd:complexType name="UntName">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ 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:complexType>
+
+
+ <xsd:complexType name="Rechtsform">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTextTyp"
+ 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: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">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vertretungsbefugnis" type="st:VertretungsbefugnisTyp"
+ minOccurs="1" maxOccurs="1" />
+
+ <xsd:element name="VertretungsbefugnisText" minOccurs="0"
+ maxOccurs="1">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="st:VertretungsbefugnisTextTyp">
+ <xsd:attribute name="beginn" type="xsd:date" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <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: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/ur/ur-simpleTypes.xsd b/src/main/resources/wsdl/ur/ur-simpleTypes.xsd
new file mode 100644
index 0000000..48834c7
--- /dev/null
+++ b/src/main/resources/wsdl/ur/ur-simpleTypes.xsd
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/1#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/1#"
+ 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>
+
+ <!-- ******************************************************************************* -->
+ <!-- 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="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>
+ Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </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="2003" />
+ <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>
+
+ <!-- ******************************************************************************* -->
+ <!-- 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>
+
+ <!-- ******************************************************************************* -->
+ <!-- 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>
+ Funktion der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VertretungsbefugnisTextTyp">
+ <annotation>
+ <documentation>
+ Beschreibung der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="512" />
+ </restriction>
+ </simpleType>
+
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ur/xml-sw.xsd b/src/main/resources/wsdl/ur/xml-sw.xsd
new file mode 100644
index 0000000..32ae295
--- /dev/null
+++ b/src/main/resources/wsdl/ur/xml-sw.xsd
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+****************************************************
+
+File xml-sw.xsd
+
+Version 1.0 / 23.03.2004
+
+Author Franz-Josef Herpers / fjh consulting
+
+Copyright (c) 2004, 2005 Bundeskanzleramt Österreich
+
+****************************************************
+
+-->
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <xs:include schemaLocation="specific/CustomFault.xsd"/>
+
+ <!-- Element Declarations (complex) -->
+ <xs:element name="SearchByExample" type="SearchByExampleType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Example"</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchById" type="SearchByIdType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Id" </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID zur Identifikation des Request bei asynchroner Kommunikation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestInfo" type="SearchRequestInfoType">
+ <xs:annotation>
+ <xs:documentation>Container für alle Metainformationen einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKeys" type="SortKeysType">
+ <xs:annotation>
+ <xs:documentation>Ermöglicht die Angabe von Schlüsseln, nach denen die Ergebnismenge sortiert sein soll.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchResponse" type="SearchResponseType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für das Ergebnis einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultInfo" type="ResultInfoType">
+ <xs:annotation>
+ <xs:documentation>Metainfos zur Ergebnismenge</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordId" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>ID eines Datensatzes. Sie muss übereinstimmen mit der ID eines Datensatzes (Wert des id-Attributs eines ResultRecord-Elements), den der Server in einem vorhergehenden Request zurückgeliefert hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultRecords">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die zurückgegebene Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ResultRecord" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchCriteria" type="SearchCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die Suchkriterien. Diese sind applikationsspezifisch. Zulässig sind daher beliebige Elemente aus anderen Namensräumen. Optional kann eine ResultSetId übermittelt werden, falls der Server das Vorhalten von vorherigen Abfrageergebnissen unterstützt und in der initialen Response eine ResultSetId mitgesendet hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultCriteria" type="ResultCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Fasst verschiedene Kriterien zur Behandlung und Auslieferung der gefundenen Ergebnissätze zusammen. Eigene können hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKey" type="SortKeyType">
+ <xs:annotation>
+ <xs:documentation>Repräsentiert einen Sortierschlüssel. Die Reihenfolge der einzelnen Schlüssel bestimmt die Sortiergewichtung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExtraResultCriteria">
+ <xs:annotation>
+ <xs:documentation>Dient als Erweiterungspunkt. Container für weitere selbst definierte Ergebniskriterien. Server, die hier aufgeführte Kriterien nicht unterstützen, können diese schweigend ignorieren.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExtraResultInfo">
+ <xs:annotation>
+ <xs:documentation>Dient als Erqeiterungspunkt. Container für weitere selbst definierte Ergebnisinformationen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResultRecord">
+ <xs:annotation>
+ <xs:documentation> Container-Element für einen Ergebnissatz</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:nonNegativeInteger" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaymentInfo" type="PaymentInfoType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für Zahlungs- und Verrechnungsinformationen bei kostenpflichtigen Suchanfragen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordFieldList">
+ <xs:annotation>
+ <xs:documentation>Hier kann auf implementierungsspezifische Weise angegeben werden, welche Elemente in der Antwort enthalten sein sollen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Element Declarations (simple) -->
+ <xs:element name="Detail" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Dient der Angabe zusätzlicher Detailinformationen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeOut" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Zeit, die der Server die Ergebnismenge vorhalten soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaxRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Maximale Anzahl gewünschter Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StartRecord" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Position des ersten gewünschten Ergebnissatzes in der Ergebnismenge. In Kombination mit MaxRecords erlaubt dies dem Client, das Ergebnis "portionsweise" abzurufen.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Path" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Ein XPath-Ausdruck, der angibt, nach welchem Element der Ergebnissätze die Ergebnismenge sortiert sein soll. </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Ascending" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt die Sortierrichtung an. false bedeutet absteigend, true aufsteigend.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CaseSensitive" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt an, ob Groß- und Kleinschreibung mit berücksichtigt werden soll bei der Sortierung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultSetId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID, die eine gecachte Ergebnismenge auf dem Server referenziert. Server, die ein solches Szenario unterstützen, können diese ID im Ergebnis ausliefern.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FoundRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl der gefundenen Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ReturnedRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation> Anzahl der tatsächlich an den Client zurückgelieferten Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Costs" type="xs:float">
+ <xs:annotation>
+ <xs:documentation>Die Kosten der Anfrage in Euro</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InvoiceId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eine optionale Verrechnungs-ID wie z.B. die Geschäftszahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AccountedUnits" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl zu verrechnender Einheiten. Diese muss nicht gleich der Anzahl der ausgelieferten Datensätze sein.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeStamp" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>Der Timestamp des Servers</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FaultHint" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Wrapper-Element zur Aufnahme von Detail-Text der Message Codes im SOAP-detail-Element</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- Complex Types -->
+ <xs:complexType name="SearchByExampleType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="ResultCriteria" minOccurs="0"/>
+ <xs:element ref="SearchCriteria"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchByIdType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="RecordId"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultInfoType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <xs:element ref="FoundRecords" minOccurs="0"/>
+ <xs:element ref="ReturnedRecords"/>
+ <xs:element ref="PaymentInfo" minOccurs="0"/>
+ <xs:element ref="ExtraResultInfo" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchResponseType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="Message" minOccurs="0"/>
+ <xs:element ref="ResultInfo"/>
+ <xs:element ref="ResultRecords" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchRequestInfoType">
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeyType">
+ <xs:sequence>
+ <xs:element ref="Path"/>
+ <xs:element ref="Ascending" minOccurs="0"/>
+ <xs:element ref="CaseSensitive" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultCriteriaType">
+ <xs:sequence>
+ <xs:element ref="MaxRecords" minOccurs="0"/>
+ <xs:element ref="StartRecord" minOccurs="0"/>
+ <xs:element ref="SortKeys" minOccurs="0"/>
+ <xs:element ref="TimeOut" minOccurs="0"/>
+ <xs:element ref="RecordFieldList" minOccurs="0"/>
+ <xs:element ref="ExtraResultCriteria" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchCriteriaType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeysType">
+ <xs:sequence>
+ <xs:element ref="SortKey" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentInfoType">
+ <xs:sequence>
+ <xs:element ref="InvoiceId" minOccurs="0"/>
+ <xs:element ref="Costs"/>
+ <xs:element ref="AccountedUnits" minOccurs="0"/>
+ <xs:element ref="TimeStamp"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Hier können Elemente für zusätzliche Verrechnungsinformationen hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>