aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-04-03 13:25:55 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-04-03 13:25:55 +0200
commit3f3aa9bfbaa59ee1b14a49e1659cd9c3cbe9beee (patch)
treecb25a8a7d9f31852b5e5a3fea593db5c5126cc66
parent451f42b3f1b1e3b6cd05025f7cfc1c9b6e4b9679 (diff)
downloadmoa-zs-3f3aa9bfbaa59ee1b14a49e1659cd9c3cbe9beee.tar.gz
moa-zs-3f3aa9bfbaa59ee1b14a49e1659cd9c3cbe9beee.tar.bz2
moa-zs-3f3aa9bfbaa59ee1b14a49e1659cd9c3cbe9beee.zip
Add zusemsg Scheme Files
-rw-r--r--src/main/resources/zusemsg/W3C-XMLDSig.xsd265
-rw-r--r--src/main/resources/zusemsg/zuse_mypersondata_en_p2.xsd367
-rw-r--r--src/main/resources/zusemsg/zuse_p2.xsd1025
3 files changed, 1657 insertions, 0 deletions
diff --git a/src/main/resources/zusemsg/W3C-XMLDSig.xsd b/src/main/resources/zusemsg/W3C-XMLDSig.xsd
new file mode 100644
index 0000000..ad3fdfe
--- /dev/null
+++ b/src/main/resources/zusemsg/W3C-XMLDSig.xsd
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"
+ -->
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.1 $ on $Date: 2002/11/11 16:24:27 $ by $Author: Linauer $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+<schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" version="0.1">
+ <!-- Basic Types Defined for Signatures -->
+ <!-- modified to ensure that whiteSpace is preserved
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+ -->
+ <simpleType name="CryptoBinary">
+ <restriction base="string">
+ <whiteSpace value="preserve"/>
+ <pattern value="[A-Za-z0-9\+/=\n\r\t ]*"/>
+ </restriction>
+ </simpleType>
+ <!-- Start Signature -->
+ <element name="Signature" type="ds:SignatureType"/>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="ds:CryptoBinary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <!-- Start SignedInfo -->
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- Start Reference -->
+ <element name="Reference" type="ds:ReferenceType"/>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <element name="XPath" type="string"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- End Reference -->
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <simpleType name="DigestValueType">
+ <restriction base="ds:CryptoBinary"/>
+ </simpleType>
+ <!-- End SignedInfo -->
+ <!-- Start KeyInfo -->
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <!-- Start X509Data -->
+ <element name="X509Data" type="ds:X509DataType"/>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="ds:CryptoBinary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="ds:CryptoBinary"/>
+ <element name="X509CRL" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <!-- End X509Data -->
+ <!-- Begin PGPData -->
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="ds:CryptoBinary"/>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <!-- End PGPData -->
+ <!-- Begin SPKIData -->
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <!-- End SPKIData -->
+ <!-- End KeyInfo -->
+ <!-- Start Object (Manifest, SignatureProperty) -->
+ <element name="Object" type="ds:ObjectType"/>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/>
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+ <!-- add a grep facet -->
+ </complexType>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <!-- End Object (Manifest, SignatureProperty) -->
+ <!-- Start Algorithm Parameters -->
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <!-- Start KeyValue Element-types -->
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <!-- End KeyValue Element-types -->
+ <!-- End Signature -->
+</schema>
diff --git a/src/main/resources/zusemsg/zuse_mypersondata_en_p2.xsd b/src/main/resources/zusemsg/zuse_mypersondata_en_p2.xsd
new file mode 100644
index 0000000..9a27360
--- /dev/null
+++ b/src/main/resources/zusemsg/zuse_mypersondata_en_p2.xsd
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Mit XMLSpy v2016 (http://www.altova.com) von Arne Tauber (TU Graz) bearbeitet -->
+<!--
+PersonData Blueprint solution for use with ZUSE Spezifikation, containes slimmed down version of PersonData 2.0 spec with special consideration to ZUSE Needs, compatible with PersonData 2.0
+-->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+<xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:p="http://reference.e-government.gv.at/namespace/persondata/phase2/20181206#" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/phase2/20181206#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.2.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>
+ <!-- ### structure of a person ### -->
+ <xs:element name="PersonData" type="p: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="p:AbstractPersonType" abstract="true"/>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="Authority" type="p:AuthorityType" substitutionGroup="p:Person">
+ <xs:annotation>
+ <xs:documentation>Behörde, nur diese darf in RSa-Qualität versenden</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Target" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>Beinhaltet die Bereichskennung und das VKZ der Zielorganisation für die das vbPK-ZU umzuschlüsseln ist. Das Target ist in der Form "urn:publicid:gv.at:ecdid+«VKZ»+«Bereich»" zu liefern. (vgl. SZR 3.0 Anwendungsdokumentation)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PhysicalPerson" type="p:PhysicalPersonType" substitutionGroup="p: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="p:CorporateBodyType" substitutionGroup="p:Person">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Name" type="p:PersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <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">
+ <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:element name="DateOfBirth" type="p:DateOfBirthType">
+ <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="p:AbstractAddressType" abstract="true"/>
+ <xs:element name="PostalAddress" type="p:PostalAddressType" substitutionGroup="p:Address">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InternetAddress" type="p:InternetAddressType" substitutionGroup="p:Address">
+ <xs:annotation>
+ <xs:documentation>element of internet address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TelephoneAddress" type="p:TelephoneAddressType" substitutionGroup="p:Address">
+ <xs:annotation>
+ <xs:documentation>element of TelephoneAddressType, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### Identification elements ###-->
+ <xs:element name="Identification" type="p:IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <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 value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ <!--### 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="p:Identification"/>
+ <xs:element ref="p:Person"/>
+ <xs:element ref="p:Address" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="AbstractPersonType" abstract="true">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="p:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="p:Name"/>
+ <xs:element ref="p:DateOfBirth"/>
+ </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:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Inlcudes all Information that is not exactly a name: academic or aristocratic titles, ... the new position attribute can contain a suffx or prefix value</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="academicGrade"/>
+ <xs:enumeration value="aristocraticPrefix"/>
+ <xs:enumeration value="aristocraticTitle"/>
+ <xs:enumeration value="familyNamePrefix"/>
+ <xs:enumeration value="familyNameSuffix"/>
+ <xs:enumeration value="formOfAddress"/>
+ <xs:enumeration value="generation"/>
+ <xs:enumeration value="qualification"/>
+ </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="AuthorityType">
+ <xs:annotation>
+ <xs:documentation>public authority</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="p:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="p:FullName"/>
+ <xs:element ref="p:Organization" minOccurs="0"/>
+ <xs:element ref="p:Target" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="p:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="p:FullName"/>
+ <xs:element ref="p:Organization" minOccurs="0"/>
+ </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:complexType>
+ <xs:complexType name="PostalAddressType">
+ <xs:complexContent>
+ <xs:extension base="p:AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="CountryCode" type="xs:string" 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="MunicipalityNumber" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Gemeindekennzahl</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:element name="DoorNumber" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="type" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="postOfficeBoxAddress"/>
+ <xs:enumeration value="streetAddress"/>
+ <xs:enumeration value="militaryAddress"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>internet based communication</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="p:AbstractAddressType">
+ <xs:sequence>
+ <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="p:AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Number" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="MessengerService" type="xs:token" use="optional" default="SMS">
+ <xs:annotation>
+ <xs:documentation>SMS, WhatsApp, etc.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </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:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string4">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string20">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string30">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="30"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string50">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="50"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string100">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="integer5">
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="10000"/>
+ <xs:maxInclusive value="99999"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/src/main/resources/zusemsg/zuse_p2.xsd b/src/main/resources/zusemsg/zuse_p2.xsd
new file mode 100644
index 0000000..24e426e
--- /dev/null
+++ b/src/main/resources/zusemsg/zuse_p2.xsd
@@ -0,0 +1,1025 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Mit XMLSpy v2016 (http://www.altova.com) von Arne Tauber (TU Graz) bearbeitet -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:p="http://reference.e-government.gv.at/namespace/persondata/phase2/20181206#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:msg="http://reference.e-government.gv.at/namespace/zustellung/msg/phase2/20181206#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" targetNamespace="http://reference.e-government.gv.at/namespace/zustellung/msg/phase2/20181206#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.2.0">
+ <!--### Imports ###-->
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/phase2/20181206#" schemaLocation="zuse_mypersondata_en_p2.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <!--### Abfrage der Webserviceversion-->
+ <xs:element name="GetVersionRequest" type="msg:SimpleRequestType"/>
+ <xs:element name="GetVersionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Version">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="2.2.0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--### Nachrichten und Nachrichtenstrukturen ###-->
+ <!--### Zustellstückanlieferung ###-->
+ <xs:element name="DeliveryRequest" type="msg:DeliveryRequestType">
+ <xs:annotation>
+ <xs:documentation>Zustellstückanleiferung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryRequestType">
+ <xs:sequence>
+ <xs:element ref="msg:Sender"/>
+ <xs:element ref="msg:Receiver">
+ <xs:annotation>
+ <xs:documentation>Adressierung des Empfängers</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:MetaData"/>
+ <xs:element name="Attachments" type="msg:AttachmentsType">
+ <xs:annotation>
+ <xs:documentation>Anhänge</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Version" type="msg:VersionNumberType"/>
+ </xs:complexType>
+ <xs:element name="DeliveryResponse" type="msg:DeliveryRequestStatusType"/>
+ <xs:element name="DeliveryRequestStatus">
+ <xs:annotation>
+ <xs:documentation>Webservice Response of ZSDeliveryRequest, also to used asynchronously </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="msg:DeliveryRequestStatusType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="DeliveryRequestStatusType">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="Success">
+ <xs:annotation>
+ <xs:documentation>Zustellstück wurde erfolgreich übernommen</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="msg:DeliveryAnswerType">
+ <xs:sequence>
+ <xs:element ref="msg:DeliveryTimestamp"/>
+ <xs:element ref="msg:RelayedViaERV" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PartialSuccess" type="msg:DeliveryAnswerType">
+ <xs:annotation>
+ <xs:documentation>Zustellstück wurde erfolgreich übernommen, attachment wird später geladen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Error">
+ <xs:annotation>
+ <xs:documentation>Zustellstück konnte nicht erfolgreich angenommen werden</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="msg:DeliveryAnswerType">
+ <xs:sequence>
+ <xs:element ref="msg:ErrorInfo"/>
+ <xs:element ref="msg:PreAdviceNoteSent" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:element ref="dsig:Signature"/>
+ </xs:sequence>
+ <xs:attribute name="Version" type="msg:VersionNumberType"/>
+ </xs:complexType>
+ <xs:element name="DeliveryRequestStatusACK">
+ <xs:annotation>
+ <xs:documentation>Wenn DeliveryRequestStatus in asynchroner Koomunikation als Request benutz wird, ist DeliveryRequstStatusACK die Antwort</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="msg:DeliveryRequestStatusACKType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="DeliveryRequestStatusACKType">
+ <xs:sequence>
+ <xs:element ref="msg:AppDeliveryID"/>
+ <xs:element ref="msg:ZSDeliveryID"/>
+ </xs:sequence>
+ <xs:attribute name="Version" type="msg:VersionNumberType"/>
+ </xs:complexType>
+ <xs:annotation>
+ <xs:documentation>### Bestätigung über Zustellungs (Miß-) Erfolg ###</xs:documentation>
+ </xs:annotation>
+ <xs:element name="DeliveryNotification" type="msg:DeliveryNotificationType">
+ <xs:annotation>
+ <xs:documentation>Benachrichtigung über die erfolgte oder nicht erfolgte Zustellung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryNotificationType">
+ <xs:sequence>
+ <xs:element ref="msg:ZSDeliveryID">
+ <xs:annotation>
+ <xs:documentation>ID des Zustellstücke innerhalb des Zustellsystems</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:AppDeliveryID"/>
+ <xs:element ref="msg:GZ" minOccurs="0"/>
+ <xs:element name="SenderDetails">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="p:Identification"/>
+ <xs:element ref="p:Person"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ReceiverDetails">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="p:Identification"/>
+ <xs:element ref="p:Person"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="msg:Timestamp">
+ <xs:annotation>
+ <xs:documentation>Timestamp der Nachrichtenoperation, welcher vom Anzeigemodul erzeugt wurde. Im Falle der Annahme einer Zustellung entspricht der Timestamp dem Annahmezeitpunkt</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:User" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Benutzer, der die Nachricht angenommen hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:Answer" maxOccurs="unbounded"/>
+ <xs:element ref="dsig:Signature"/>
+ <xs:element name="AdditionalFormat" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:base64Binary">
+ <xs:attribute name="Type" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Version" type="msg:VersionNumberType"/>
+ </xs:complexType>
+ <xs:element name="DeliveryNotificationACK">
+ <xs:annotation>
+ <xs:documentation>Webservice Response of ZSDeliveryNotification</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="msg:DeliveryNotificationACKType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="DeliveryNotificationACKType">
+ <xs:sequence>
+ <xs:element ref="msg:AppDeliveryID"/>
+ <xs:element ref="msg:ZSDeliveryID"/>
+ </xs:sequence>
+ <xs:attribute name="Version" type="msg:VersionNumberType"/>
+ </xs:complexType>
+ <!--### sonstige globale Elemente ###-->
+ <xs:simpleType name="VersionNumberType">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="AppDeliveryID" type="msg:token256">
+ <xs:annotation>
+ <xs:documentation>ID des Zustellstücke beim Absender</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="GZ" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Geschäftszahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ZSDeliveryID" type="msg:token256">
+ <xs:annotation>
+ <xs:documentation>ID des Zustellstücke. Die ZSDeliveryID in Kombination mit der ParticipantID des Zustellsystems, welches die Nachricht übernmittelt hat muss eindeutig sein.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ServiceProviderID" type="msg:token256">
+ <xs:annotation>
+ <xs:documentation>ID des Dienstleisters, der für den Versender die Kommunikation mit dem Zustelldienst bzw. generell dem Zustellsystem durchführt. In diesem Fall ist der Dienstleister der Rechnungsempfänger</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DocumentClass" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>Enthält den Namespace des XML-Dokuments, um auf Empfängerseite eine automatische Verarbeitung durch ein Workflowsystem realisieren zu können.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Identification" type="p:IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Identifikation basierend auf Type/Value</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sender">
+ <xs:annotation>
+ <xs:documentation>Informationen zum Sender</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:SenderPerson"/>
+ <xs:element ref="msg:Logo" minOccurs="0"/>
+ <xs:element ref="msg:AdditionalCriteria" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Spezielles Postfach des Versenders z.B. eine Filiale einer jur. Person an welches dieser eine etwaige Antwort retourniert haben möchte</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:ConfirmationAddress" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Webservice oder E-Mail-Adresse, an welches die Zustellbestätigung, der Zustellnachweis oder Fehlermeldung weitergeleitet wird (Callback)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SenderDetails">
+ <xs:annotation>
+ <xs:documentation>Informationen nur für Senderidentifikation</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:SenderIdentificationPerson"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Receiver">
+ <xs:annotation>
+ <xs:documentation>Informationen zum Empfänger</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="msg:Identification"/>
+ <xs:element ref="p:Person"/>
+ </xs:choice>
+ <xs:element ref="p:Address" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="msg:AdditionalCriteria" minOccurs="0"/>
+ <xs:element ref="msg:PreAdviceNote" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ReceiverDetails">
+ <xs:annotation>
+ <xs:documentation>Informationen nur für Empfaengeridentifikation</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:ReceiverIdentificationPerson"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MetaData">
+ <xs:annotation>
+ <xs:documentation>Metadaten der Zustellung</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:AppDeliveryID">
+ <xs:annotation>
+ <xs:documentation>ID des Zustellstücks beim Absender</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:Origin">
+ <xs:annotation>
+ <xs:documentation>Anwendungsbereich/Urspung der Nachricht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:Subject" minOccurs="0"/>
+ <xs:element ref="msg:GZ" minOccurs="0"/>
+ <xs:choice>
+ <xs:element ref="msg:DeliveryQuality"/>
+ <xs:element ref="msg:PrivateMessageQuality"/>
+ </xs:choice>
+ <xs:element ref="msg:NotificationLanguages" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Sprachen - vom Versender mitgegeben - in denen die Verständigung gesendet werden soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:IgnorePostRedirectionOrder" minOccurs="0"/>
+ <xs:element ref="msg:Reference" minOccurs="0"/>
+ <xs:element ref="msg:Tags" minOccurs="0"/>
+ <xs:element ref="msg:Portals" minOccurs="0"/>
+ <xs:element ref="msg:MetadataList" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ConfirmationAddress">
+ <xs:annotation>
+ <xs:documentation>Webservice oder E-Mail-Adresse, an welches die Zustellbestätigung oder Fehlermeldung weitergeleitet wird (Callback)</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="msg:WebserviceURL"/>
+ <xs:element ref="msg:Email"/>
+ </xs:choice>
+ <xs:attribute name="Type" default="xml">
+ <xs:annotation>
+ <xs:documentation>Typ des Zustellnachweises, z.B. xml+pdf oder nur xml (default)</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="xml"/>
+ <xs:enumeration value="xml+pdf"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="WebserviceURL">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="p:InternetAddressType">
+ <xs:attribute name="AlternativeEmail" type="xs:anyURI"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Email" type="p:InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>Für Notfälle, wenn der Absender weder über ein Webservice noch über ein elektronisches Postfach verfügt.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### Hilfstypen ###-->
+ <xs:complexType name="DeliveryAnswerType">
+ <xs:annotation>
+ <xs:documentation>Abstrakter Antwort Typ</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="msg:ZSDeliveryID">
+ <xs:annotation>
+ <xs:documentation>ID des Zustellstücke innerhalb des Zustellsystems</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:AppDeliveryID"/>
+ <xs:element ref="msg:GZ" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="DeliveryTimestamp" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>Zustellzeitpunkt</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RelayedViaERV" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt an ob das Zustellstück über den ERV zugestellt wurde</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ProfileID" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>ID mit der der Versender beim Zustellsystem registriert ist. (Das Zustellsystem ist für den Inhalt der Personendaten des Versenders verantwortlich, um sicherzustellen, dass diese nicht missbräuchlich verwendet werden (Vortäuschung einer anderen Identität))</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="NameExtension" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Zusätzliche Nameserweiterung, die im Anzeigemodul zu den Personendaten des Absenders angezeigt werden. (Die Personendaten selbst werden vom Zustellsystem auf Basis der Profildaten eingesteuert)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MailBox" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Spezielles Postfach des Empfängers, z.B. eine Filiale einer jur. Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryConfirmationType">
+ <xs:complexContent>
+ <xs:extension base="msg:DeliveryAnswerType">
+ <xs:sequence>
+ <xs:element ref="msg:Sender"/>
+ <xs:element ref="msg:Receiver"/>
+ <xs:element name="DeliveryTimestamp" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>Übergabezeitpunkt an den Zustelldienst</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="dsig:Signature"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="MimeType" type="msg:token256">
+ <xs:annotation>
+ <xs:documentation>Mime-Typ</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CheckSum" type="msg:CheckSumType">
+ <xs:annotation>
+ <xs:documentation>Prüfsumme</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="CheckSumType">
+ <xs:annotation>
+ <xs:documentation>Prüfsumme</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="AlgorithmID" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>Hash Algorithmus, z.B. SHA-256, SHA-512</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Value" type="xs:base64Binary">
+ <xs:annotation>
+ <xs:documentation>Hashwert</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="Attachments" type="msg:AttachmentsType">
+ <xs:annotation>
+ <xs:documentation>List of all attachments</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Attachment" type="msg:AttachmentType"/>
+ <xs:complexType name="AttachmentsType">
+ <xs:sequence>
+ <xs:element ref="msg:Attachment" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AttachmentType">
+ <xs:sequence>
+ <xs:element name="FileName" type="msg:token256">
+ <xs:annotation>
+ <xs:documentation>Dateiname</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:MimeType"/>
+ <xs:element ref="msg:DocumentClass" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Dokumentenklasse als String bzw. Namespace im Fall von XML-Dokumenten im Anhang, um auf Empfängerseite eine automatische Verarbeitung durch ein Workflowsystem realisieren zu können.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Size" type="xs:positiveInteger">
+ <xs:annotation>
+ <xs:documentation>Größe in Bytes</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:CheckSum"/>
+ <xs:choice>
+ <xs:element name="Content" type="xs:base64Binary">
+ <xs:annotation>
+ <xs:documentation>Für Attachments deren Inhalt direkt in die Nachricht eingebettet werden. (Das Größenlimit für die gesamte Nachricht inklusive aller eingebetteten Attachments beträgt 10 MB)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="URL" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>Docuementlocation in case of Callback attachements</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ErrorInfo" type="msg:ErrorInfoType"/>
+ <xs:complexType name="ErrorInfoType">
+ <xs:sequence>
+ <xs:element name="Code" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>Fehlercode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Text" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Fehlerbeschreibung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="NotificationsPerformed" type="msg:NotificationsPerformedType"/>
+ <xs:complexType name="NotificationsPerformedType">
+ <xs:sequence>
+ <xs:element name="RecipientNotification" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Timestamp" type="xs:dateTime"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="PreAdviceNote" type="msg:PreAdviceNoteType">
+ <xs:annotation>
+ <xs:documentation>Aviso (optional)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="PreAdviceNoteType">
+ <xs:sequence>
+ <xs:element name="NumberOfDays" type="xs:positiveInteger">
+ <xs:annotation>
+ <xs:documentation>Frist von der Behörde bis wann die Registrierung erfolgt sein muss, um dass Behördenschriftstück noch elektronisch zu bekommen. Anderenfalls wird das Schriftstück von der Behörde auf dem normalen Postweg versandt. Diese Info wird im Aviso-E-Mail mitgegeben.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:NotificationAddressList" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="NotificationAddressList" type="msg:NotificationAddressListType">
+ <xs:annotation>
+ <xs:documentation>Liste der verifizierten Verständigungsadressen des Teilnehmers</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="NotificationAddressListType">
+ <xs:sequence>
+ <xs:element ref="msg:ElectronicAddress" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="DeliveryQuality">
+ <xs:annotation>
+ <xs:documentation>Zustellqualität gemäß ZustellG:
+• RSa
+• RSa+
+• nonRSa
+• nonRSa+</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="msg:token256">
+ <xs:enumeration value="RSa"/>
+ <xs:enumeration value="RSa+"/>
+ <xs:enumeration value="nonRSa"/>
+ <xs:enumeration value="nonRSa+"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="PrivateMessageQuality">
+ <xs:annotation>
+ <xs:documentation>Qualität der privatrechtlichen Zusendung ist von der Zustellqualität lt. ZustellG zu unterscheiden:
+• Information
+• RegisteredMail
+• RegisteredMail+
+• ConfirmReceipt
+• ConfirmReceipt+</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Information"/>
+ <xs:enumeration value="RegisteredMail"/>
+ <xs:enumeration value="RegisteredMail+"/>
+ <xs:enumeration value="ConfirmReceipt"/>
+ <xs:enumeration value="ConfirmReceipt+"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="NotificationLanguages">
+ <xs:annotation>
+ <xs:documentation>Sprachen in denen die Verständigung gesendet werden soll</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:Language" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Sprache in der die Verständigung gesendet werden soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Language" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>Sprache in welcher der Zustellnachweis gesendet werden soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Logo" type="msg:LogoType">
+ <xs:annotation>
+ <xs:documentation>Definiert ein Logo</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="LogoType">
+ <xs:annotation>
+ <xs:documentation>Definiert ein Nachrichtenlogo</xs:documentation>
+ </xs:annotation>
+ <xs:choice>
+ <xs:element name="LogoID" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>Für Logos, die vorab beim Zustelldienst für den Versender im Profil hinterlegt wurden</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:sequence>
+ <xs:element name="ContentValue" type="xs:base64Binary"/>
+ <xs:element name="ContentType" type="msg:token256"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ <xs:element name="MetadataList">
+ <xs:annotation>
+ <xs:documentation>List of metadata entries</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:MetadataEntry" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MetadataEntry" type="msg:MetadataEntryType">
+ <xs:annotation>
+ <xs:documentation>Single metadata entry</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="MetadataEntryType">
+ <xs:sequence>
+ <xs:element name="OID">
+ <xs:annotation>
+ <xs:documentation>Unique object identifier</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Value" type="xs:anySimpleType">
+ <xs:annotation>
+ <xs:documentation>Metadata value. basic type is defined in specification document</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="DisplayInDetailView" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Display metadata in detailed view. If metadata are displayed by default or prohibited to display (e.g. internal data), this value cannot be overriden</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:element name="Subject" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Zur Anzeige in der Mailbox, vgl. Subject von herkömml. E-mails</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Reference">
+ <xs:annotation>
+ <xs:documentation>Referenz auf ein anderes Zustellstück (ZSDeliveryID), auf die sich diese Zustellung bezieht</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:ZSDeliveryID"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Roles">
+ <xs:annotation>
+ <xs:documentation>Rollen, welche neben globalen Vertretungsbefugten Zustellstücke entgegennehmen dürfen</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Role" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Value" type="msg:token256"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Tags">
+ <xs:annotation>
+ <xs:documentation>Schlagworte zu einer Nachricht nach welchen ein Benutzer suchen kann. (Dieser müssen vom Versender einer Nachricht gesetzt werden)</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:Tag" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Tag" type="msg:token256"/>
+ <xs:element name="Properties" type="msg:PropertiesType">
+ <xs:annotation>
+ <xs:documentation>Liste der verfahrensspezifischen Metadaten. Diese dienen rein der Visualisierung in der Detailansicht der Nachricht. D.h. sowohl der Name als auch der Wert der Eigenschaft sind in menschenlesbarer Form zu liefern. Daraus folgt, die Daten sind nicht für die maschinelle Verarbeitung geeignet. (Verfahrensspezifischen Metadaten für die maschinelle Verarbeitung sind immer als eigenständiges Attachment im XML-Format zu liefern)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="PropertiesType">
+ <xs:sequence>
+ <xs:element ref="msg:Property" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="Property">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:group ref="msg:ValueGroup"/>
+ </xs:sequence>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="ValueGroup">
+ <xs:choice>
+ <xs:element name="String" type="xs:string"/>
+ <xs:element name="Date" type="xs:date"/>
+ <xs:element name="DateTime" type="xs:dateTime"/>
+ <xs:element name="Decimal" type="xs:decimal"/>
+ <xs:element name="Integer" type="xs:long"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="Value" type="msg:ValueType"/>
+ <xs:complexType name="ValueType">
+ <xs:sequence>
+ <xs:group ref="msg:ValueGroup"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SystemComponentType">
+ <xs:annotation>
+ <xs:documentation>Systemkomponente der E-Zustellung: Portal oder Zustellsystem. (Ein Zustellsystem ist entweder ein Zustelldienst, ein Kommunikationssystem der Behörde oder ein Zielsystem)</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="msg:ParticipantID">
+ <xs:annotation>
+ <xs:documentation>ParticipantID = Landeskennung ":" ID
+ID = "VKZ:" VKZ | Org-Id
+VKZ ::= 1#32UACHAR; (Verwaltungskennzeichen gem. [VKZ])
+Org-Id ::= 1#32UACHAR; (Org-Id gem. [VKZ])
+Landeskennung ::= {2} ALPHA; (gem. ISO 3166 - Alpha2)
+(nicht normativ / nach ldap.gv.at) Beispiele: "AT:B:102", "AT:VKZ:GGA-12345", "AT:L9:9876"</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="Origin" type="msg:SystemComponentType">
+ <xs:annotation>
+ <xs:documentation>Herkunftssystem: Zustellsystem oder Kommunikationssystem der Behörde, von welchem die Nachricht oder Empfängerrdaten stammen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ParticipantID" type="msg:token256">
+ <xs:annotation>
+ <xs:documentation>ParticipantID = Landeskennung ":" ID
+ID = "VKZ:" VKZ | Org-Id
+VKZ ::= 1#32UACHAR;(Verwaltungskennzeichen gem. [VKZ])
+Org-Id ::= 1#32UACHAR;(Org-Id gem. [VKZ])
+Landeskennung ::= {2} ALPHA; (gem. ISO 3166 - Alpha2)
+(nicht normativ / nach ldap.gv.at) Beispiele: "AT:B:102", "AT:VKZ:GGA-12345", "AT:L9:9876"</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Portals">
+ <xs:annotation>
+ <xs:documentation>Liste von Portalen für welche die Nachricht speziell bestimmt ist - vorrangig für Kommunikationssysteme von Behörden mit niederschwelliger Authentifizierung (Wird für die GUI Funktion 'gefiltert u. gereiht' benötigt)</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="msg:Portal" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Portal" type="msg:SystemComponentType">
+ <xs:annotation>
+ <xs:documentation>Portalkennung </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CareOf">
+ <xs:annotation>
+ <xs:documentation>Um einer natürlichen Person innerhalb einer Orangisation "zu Handen" (c/o) zustellen zu können, reicht die vbPK-ZU oder die E-Mail-Adresse aus, um die Person über das Eintreffen der Nachricht notifiziert zu können. </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="p:Identification" minOccurs="0"/>
+ <xs:element ref="msg:ElectronicAddress" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Elektronische Adresse der "Zu Handen"-Person innerhalb der Organisation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Name" type="msg:token256">
+ <xs:annotation>
+ <xs:documentation>Name der Person zu deren Handen adressiert wird. Hierbei handelt es sich um einen Freitext für die Anzeige, der als eindeutiger Identifikator für Verständigungen oder eine automatisierte Weiterleitung ungeeignet ist.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AdditionalCriteria" type="msg:AdditionalCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Weitere über den eigentlichen Adressaten hinausgehende Kriterien zur Adressierung (bspw. c/o)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="AdditionalCriteriaType">
+ <xs:sequence>
+ <xs:element ref="msg:MailBox" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Eindeutige Kennung (Filiale, Standort, Abteilung, etc..) innerhalb der jur. Person </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="msg:Roles" minOccurs="0"/>
+ <xs:element ref="msg:CareOf" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="AuthLevel" type="msg:token256">
+ <xs:annotation>
+ <xs:documentation>Höchstes Authentifizierungsniveau mit dem sich der Teilnehmer beim Portal/Kommunikationssystem angemeldet hatte. Folgende Werte sind zulässig - absteigend sortiert nach der Höhe des Authentifizierungsniveaus: "EID" > "FON" > "LOW"
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### Absender ###-->
+ <xs:element name="SenderPerson" type="msg:AbstractSenderPersonType">
+ <xs:annotation>
+ <xs:documentation>Die Person des Versenders wird über das Clientzertifikat authentifiziert mit dem sich das IT-Service des Versenders mit seinem Zustellsystem verbindet. (Bei Behörden erfolgt die Authentifizierung über PVP-Header)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SenderIdentificationPerson" type="msg:AbstractIdentificationPersonType"/>
+ <xs:element name="ReceiverIdentificationPerson" type="msg:AbstractIdentificationPersonType"/>
+ <xs:element name="SenderAuthority" type="msg:SenderAuthorityType" substitutionGroup="msg:SenderPerson">
+ <xs:annotation>
+ <xs:documentation>Versender ist eine Behörde</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SenderPhysicalPerson" type="msg:SenderPhysicalPersonType" substitutionGroup="msg:SenderPerson">
+ <xs:annotation>
+ <xs:documentation>Versender ist eine natürliche Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SenderCorporateBody" type="msg:SenderCorporateBodyType" substitutionGroup="msg:SenderPerson">
+ <xs:annotation>
+ <xs:documentation>Versender ist ein Unternehmen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SenderAuthorityDetails" type="msg:IdentificationAuthorityType" substitutionGroup="msg:SenderIdentificationPerson"/>
+ <xs:element name="SenderCorporateBodyDetails" type="msg:IdentificationCorporateBodyType" substitutionGroup="msg:SenderIdentificationPerson"/>
+ <xs:element name="SenderPhysicalPersonDetails" type="msg:IdentificationPhysicalPersonType" substitutionGroup="msg:SenderIdentificationPerson"/>
+ <xs:element name="ReceiverAuthorityDetails" type="msg:IdentificationAuthorityType" substitutionGroup="msg:ReceiverIdentificationPerson"/>
+ <xs:element name="ReceiverCorporateBodyDetails" type="msg:IdentificationCorporateBodyType" substitutionGroup="msg:ReceiverIdentificationPerson"/>
+ <xs:element name="ReceiverPhysicalPersonDetails" type="msg:IdentificationPhysicalPersonType" substitutionGroup="msg:ReceiverIdentificationPerson"/>
+ <xs:complexType name="AbstractSenderPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of sender</xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="SenderAuthorityType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="msg:AbstractSenderPersonType">
+ <xs:sequence>
+ <xs:element ref="msg:Identification">
+ <xs:annotation>
+ <xs:documentation>Identifikation basierend auf Type/Value</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="p:Authority"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="SenderPhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="msg:AbstractSenderPersonType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="SenderCorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="msg:AbstractSenderPersonType">
+ <xs:sequence>
+ <xs:element ref="p:Organization" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="AbstractIdentificationPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of sender</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="p:Identification"/>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="IdentificationAuthorityType">
+ <xs:complexContent>
+ <xs:extension base="msg:AbstractIdentificationPersonType">
+ <xs:sequence>
+ <xs:element ref="p:Authority"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="IdentificationCorporateBodyType">
+ <xs:complexContent>
+ <xs:extension base="msg:AbstractIdentificationPersonType">
+ <xs:sequence>
+ <xs:element ref="p:CorporateBody"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="IdentificationPhysicalPersonType">
+ <xs:complexContent>
+ <xs:extension base="msg:AbstractIdentificationPersonType">
+ <xs:sequence>
+ <xs:element ref="p:PhysicalPerson"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="PreAdviceNoteSent" type="msg:PreAdviceNoteSentType">
+ <xs:annotation>
+ <xs:documentation>Existenz des Elements zeigt an, dass ein Aviso erfolgreich an alle Verständigungsadressen des Teilnahmkandidaten versendet wurde</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="PreAdviceNoteSentType">
+ <xs:annotation>
+ <xs:documentation>(Technisch Notwendig, um implizites XML-Any zu verhindern)</xs:documentation>
+ </xs:annotation>
+ </xs:complexType>
+ <xs:element name="ElectronicAddress" type="p:AbstractAddressType" abstract="true"/>
+ <xs:element name="InternetAddress" type="p:InternetAddressType" substitutionGroup="msg:ElectronicAddress">
+ <xs:annotation>
+ <xs:documentation>element of internet address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="IgnorePostRedirectionOrder" type="msg:IndicatorType">
+ <xs:annotation>
+ <xs:documentation>Wenn dieser Marker existiert, MUSS diese Zustellung auch bei aktiver Postsperre an den tatsächlichen Empfänger zugestellt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="IndicatorType">
+ <xs:annotation>
+ <xs:documentation>Dieser ComplexType ist ein Hilfskonstrukt damit ein Flag/Kennzeichen/Marker/Idikator Element nicht als XML-Any misbraucht werden kann.</xs:documentation>
+ </xs:annotation>
+ </xs:complexType>
+ <xs:element name="User">
+ <xs:annotation>
+ <xs:documentation>Benutzer, der die Nachricht angenommen oder gelöscht hat. Wenn die Nachrichtenoperation vom Anzeigemodul ausgelöst wurde, bleibt das User Element leer</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Role" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>Rolle des Benutzers:
+• Receiver: Empfänger persönlich
+• Representative: Vertretungsbevollmächtigter
+• InsolvencyAdministrator: Insolvenzverwalters
+• System: Anzeigemodul
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="p:Identification"/>
+ <xs:element ref="p:PhysicalPerson" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Timestamp" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>Timestamp, der vom Anzeigemodul erzeugt wurde. Im Falle der Annahme einer Zustellung entspricht der Timestamp dem Zustellzeitpunkt</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Answer" type="msg:AbstractOperationType">
+ <xs:annotation>
+ <xs:documentation> Rückmeldungen zu einer Nachricht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="AbstractOperationType" abstract="true"/>
+ <xs:element name="Accepted" type="msg:AcceptedType" substitutionGroup="msg:Answer">
+ <xs:annotation>
+ <xs:documentation>Zeigt an, dass die Nachricht durch den Einstieg ins Anzeigemodul angenommen wurde. </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="AcceptedType">
+ <xs:complexContent>
+ <xs:extension base="msg:AbstractOperationType">
+ <xs:sequence>
+ <xs:element ref="msg:NotificationsPerformed"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="DeliveryError" type="msg:DeliveryErrorType" substitutionGroup="msg:Answer">
+ <xs:annotation>
+ <xs:documentation>Zustellung war nicht erfolgreich
+• Nachricht wurde nicht innerhalb der Zustellfrist angenommen
+• Zustellhindernis </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryErrorType">
+ <xs:complexContent>
+ <xs:extension base="msg:AbstractOperationType">
+ <xs:sequence>
+ <xs:element ref="msg:ErrorInfo"/>
+ <xs:element ref="msg:NotificationsPerformed" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Im Falle des verstreichens der Zustellfrist MUSS das Element befüllt sein.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="SimpleRequestType">
+ <xs:annotation>
+ <xs:documentation>Einfacher "Request" ohne Datenelemente</xs:documentation>
+ </xs:annotation>
+ </xs:complexType>
+ <xs:simpleType name="token256">
+ <xs:annotation>
+ <xs:documentation>Token auf 256 Zeichen beschränkt.</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="256"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>