aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources/mzs2.0.0
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/mzs2.0.0')
-rw-r--r--src/main/resources/mzs2.0.0/app2mzs.wsdl51
-rw-r--r--src/main/resources/mzs2.0.0/app2mzs.xsd342
-rw-r--r--src/main/resources/mzs2.0.0/mzs_mypersondata_en.xsd267
3 files changed, 660 insertions, 0 deletions
diff --git a/src/main/resources/mzs2.0.0/app2mzs.wsdl b/src/main/resources/mzs2.0.0/app2mzs.wsdl
new file mode 100644
index 0000000..a0da496
--- /dev/null
+++ b/src/main/resources/mzs2.0.0/app2mzs.wsdl
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions
+ name="app2mzs"
+ targetNamespace="http://reference.e-government.gv.at/namespace/app2mzs.wsdl"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:mzs="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/app2mzs.wsdl">
+ <import location="app2mzs.xsd"
+ namespace="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" />
+
+ <message name="DeliveryRequest">
+ <part name="DeliveryRequest" element="mzs:DeliveryRequest"/>
+ </message>
+ <message name="DeliveryResponse">
+ <part name="DeliveryResponse" element="mzs:DeliveryResponse"/>
+ </message>
+ <portType name="app2mzsPortType">
+ <operation name="app2mzs">
+ <input message="tns:DeliveryRequest"/>
+ <output message="tns:DeliveryResponse"/>
+ </operation>
+ </portType>
+ <binding name="app2mzsBinding" type="tns:app2mzsPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="app2mzs">
+ <soap:operation soapAction="app2mzsDeliveryRequest" style="document"/>
+ <input>
+ <!-- <soap:header use="literal"/> -->
+ <soap:body
+ encodingStyle=""
+ message="tns:DeliveryRequest"
+ part="DeliveryRequest"
+ use="literal"> </soap:body>
+ </input>
+ <output>
+ <!-- <soap:header use="literal"/> -->
+ <soap:body
+ encodingStyle=""
+ message="tns:DeliveryRequest"
+ part="DeliveryRequest"
+ use="literal"> </soap:body>
+ </output>
+ </operation>
+ </binding>
+ <service name="app2mzs">
+ <port binding="tns:app2mzsBinding" name="app2mzsPort">
+ <soap:address location="http://localhost:8080/moazs/services/DeliveryRequest"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/mzs2.0.0/app2mzs.xsd b/src/main/resources/mzs2.0.0/app2mzs.xsd
new file mode 100644
index 0000000..3a90515
--- /dev/null
+++ b/src/main/resources/mzs2.0.0/app2mzs.xsd
@@ -0,0 +1,342 @@
+<?xml version="1.0"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:p="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" targetNamespace="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="mzs_mypersondata_en.xsd"/>
+ <!--### Webservice Nachrichten: Request-Response ###-->
+ <!--### Zustellstückanlieferung, synchronous communication ###-->
+ <xs:element name="DeliveryRequest" type="DeliveryRequestType"/>
+ <xs:complexType name="DeliveryRequestType">
+ <xs:sequence>
+ <xs:element name="Server" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Falls angegeben, wird keine Zustellkopfabfrage durchgeführt.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ZUSEUrlID" type="xs:anyURI"/>
+ <xs:element name="X509" type="xs:base64Binary" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Sender">
+ <xs:annotation>
+ <xs:documentation>Alle weiteren Daten sind im Konfigurationsprofil gespeichert</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="ProfileID" type="xs:string"/>
+ <xs:sequence>
+ <xs:element ref="p:Person"/>
+ <xs:element ref="p:Address" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:choice>
+ <xs:element name="WebserviceURL">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="AlternativeEmail" type="xs:anyURI"/>
+ <xs:attribute name="Type" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="EMailAddress">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Type" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:choice>
+ <xs:sequence>
+ <xs:element name="SignatureKeyID" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>fuer Signatur mit MOA-SS</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="Receiver"/>
+ <xs:element name="MetaData">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Subject" type="xs:string" minOccurs="0"/>
+ <xs:element ref="AppDeliveryID"/>
+ <xs:element name="GZ" type="xs:string" minOccurs="0"/>
+ <xs:element name="DeliveryQuality">
+ <xs:annotation>
+ <xs:documentation>RSa oder non-RSa</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="RSa"/>
+ <xs:enumeration value="RSa+"/>
+ <xs:enumeration value="nonRSa"/>
+ <xs:enumeration value="nonRSa+"/>
+ <xs:enumeration value="R"/>
+ <xs:enumeration value="R+"/>
+ <xs:enumeration value="RS"/>
+ <xs:enumeration value="RS+"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="DeliveryConfirmation" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="RequiresEncryption" type="xs:boolean"/>
+ <xs:element name="DocumentClass" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:maxLength value="255"/>
+ <xs:minLength value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="References" minOccurs="0">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="AppDeliveryID"/>
+ <xs:element name="GZ" type="xs:string"/>
+ <xs:element ref="MZSDeliveryID"/>
+ <xs:element name="ZSDeliveryID" type="xs:string"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="DualDelivery" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="DualDeliveryServer" type="xs:string" minOccurs="0"/>
+ <xs:element name="PrintParameter" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="profile" type="xs:anyURI" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MailBody" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Optional mail body</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MimeType" type="xs:token"/>
+ <xs:element name="Content" type="xs:base64Binary"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="XMLDocument" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="XMLContent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:choice>
+ <xs:element name="XMLProfileID"/>
+ <xs:sequence>
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="MIMEType" type="xs:token"/>
+ <xs:element name="ResultingMIMEType" type="xs:token"/>
+ <xs:element name="SignatureXPath">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Index" type="xs:integer" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SignatureStylesheet">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="XMLContent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PreviewStylesheet" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="XMLContent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Payload" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:choice>
+ <xs:element name="BinaryDocument">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Base64Content" type="xs:base64Binary"/>
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="MIMEType" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="DocumentReference">
+ <xs:annotation>
+ <xs:documentation>URL fuer Callback Attachment</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="URL" type="xs:anyURI"/>
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="MIMEType" type="xs:token"/>
+ <xs:element name="MD5Checksum" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="sync" type="xs:boolean"/>
+ </xs:complexType>
+ <xs:element name="DeliveryResponse" type="DeliveryResponseType"/>
+ <xs:complexType name="DeliveryResponseType">
+ <xs:choice>
+ <xs:element ref="PartialSuccess"/>
+ <xs:element ref="Success"/>
+ <xs:element name="DeliveryConfirmation" type="xs:base64Binary">
+ <xs:annotation>
+ <xs:documentation>DeliveryConfirmation Base64 encoded</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="Error"/>
+ </xs:choice>
+ </xs:complexType>
+ <!--### ProgressNotifiaction, Failure notices, asynchronous communication ###-->
+ <xs:element name="DeliveryNotification" type="DeliveryNotificationType">
+ <xs:annotation>
+ <xs:documentation>asynchronous communication moazs2app</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryNotificationType">
+ <xs:choice>
+ <xs:element ref="Success"/>
+ <xs:element ref="Error"/>
+ <xs:element name="DeliveryConfirmation" type="xs:base64Binary"/>
+ <xs:element ref="DeliveryStatement"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:element name="DeliveryNotificationACK" type="DeliveryNotificationACKType">
+ <xs:annotation>
+ <xs:documentation>Webservice Response of ZSDeliveryNotification</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryNotificationACKType">
+ <xs:sequence>
+ <xs:element ref="AppDeliveryID"/>
+ <xs:element ref="MZSDeliveryID"/>
+ </xs:sequence>
+ </xs:complexType>
+ <!--### Globale Elemente ###-->
+ <xs:element name="AppDeliveryID" nillable="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="255"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="MZSDeliveryID" type="xs:string"/>
+ <xs:element name="Receiver" type="p:PersonDataType"/>
+ <!--### Response/Notification Untertypen ###-->
+ <xs:element name="Success" type="SuccessType">
+ <xs:annotation>
+ <xs:documentation>Zustellstück was successfully delivered to MOA-ZS</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="SuccessType">
+ <xs:complexContent>
+ <xs:extension base="MessageType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="PartialSuccess" type="PartialSuccessType">
+ <xs:annotation>
+ <xs:documentation>Delivery Information was successfully delivered to MOA-ZS, Attachements will be loaded</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="PartialSuccessType">
+ <xs:complexContent>
+ <xs:extension base="MessageType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Error" type="ErrorType">
+ <xs:annotation>
+ <xs:documentation>Delivery to MOA-ZS failed, or there was an error in processing</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ErrorType">
+ <xs:complexContent>
+ <xs:extension base="MessageType">
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Text" type="xs:string"/>
+ <xs:element name="DocumentReference" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>download of callback attachment failed</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="DeliveryStatement" type="DeliveryStatementType">
+ <xs:annotation>
+ <xs:documentation>Zustellstück was successfully forwarded to the Zustellserver</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryStatementType">
+ <xs:complexContent>
+ <xs:extension base="MessageType">
+ <xs:sequence>
+ <xs:element name="DeliveryServer" type="xs:anyURI"/>
+ <xs:element name="ZSDeliveryID" type="xs:token"/>
+ <xs:element name="Timestamp" type="xs:dateTime"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <!--### Abstrakter Antworten Typ ###-->
+ <xs:complexType name="MessageType">
+ <xs:annotation>
+ <xs:documentation>abstract message type</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="AppDeliveryID"/>
+ <xs:element ref="MZSDeliveryID"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/mzs2.0.0/mzs_mypersondata_en.xsd b/src/main/resources/mzs2.0.0/mzs_mypersondata_en.xsd
new file mode 100644
index 0000000..bc48eb9
--- /dev/null
+++ b/src/main/resources/mzs2.0.0/mzs_mypersondata_en.xsd
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+PersonData Blueprint solution for use with MZS Spezifikation, containes slimmed down version of PersonData 2.0 spec with special consideration to MZS Needs, compatible with PersonData 2.0
+-->
+<xs:schema xmlns="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+ <!-- <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.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>dummy abstract Peson Data element needed for bi-lingual schema (substitution groups)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PersonData" type="PersonDataType">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType"/>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="PhysicalPerson" type="PhysicalPersonType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporateBody" type="CorporateBodyType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Name" type="PersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfBirth" type="xs:date">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType"/>
+ <xs:element name="PostalAddress" type="PostalAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InternetAddress" type="InternetAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>element of internet address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TelephoneAddress" type="TelephoneAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>element of TelephoneAddressType, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### elements of simple type ####-->
+ <xs:element name="FormattedNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Complete Number ready formated, spaces are meaningless, e.g. +43 1 524 123 456</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### Complex types ###-->
+ <xs:complexType name="PersonDataType">
+ <xs:annotation>
+ <xs:documentation>signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements).</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="Person"/>
+ <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</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 valueas a urn e.g. urn:publicid:gv.at:cdid+ZS</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </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>bPK, ZbPK, vZbPK goes here</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="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="Name"/>
+ <xs:element ref="DateOfBirth" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PersonNameType">
+ <xs:sequence>
+ <xs:element name="GivenName" type="xs:string"/>
+ <xs:element name="FamilyName">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primary" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="FullName" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name), compare VollerName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Organization" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>part of an organisation, see also X.500 ou (eg departement, section, branch, ...) , compare Organisation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>main structure of address data</xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="PostalAddressType">
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="CountryCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Code for the country, use ISO or internatinal Postalstandard, compare Staatscode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="PostalCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>ZIP, compare Postleitzahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Municipality" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Gemeinde</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DeliveryAddress">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StreetName" type="xs:string"/>
+ <xs:element name="BuildingNumber" type="xs:string"/>
+ <xs:element name="Unit" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Stiege oder näheren Bezeichnung wie z.b. Werkstatt</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DoorNumber" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="TelcomNumberType">
+ <xs:sequence>
+ <xs:element ref="FormattedNumber"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>internet based communication</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Address" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>URI: email-Address, Web, FTP, LDAP, ..., comapre Adress</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>phone numbers</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Number" type="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+</xs:schema>