diff options
| author | harald.bratko <harald.bratko@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2005-07-22 16:06:48 +0000 | 
|---|---|---|
| committer | harald.bratko <harald.bratko@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2005-07-22 16:06:48 +0000 | 
| commit | ad7665736f08ebdc53e321b4b8e432f17b84a78e (patch) | |
| tree | 0e29779a057d35ea1148d3c97e0948e891b3b2e5 | |
| parent | c8223bd5aaf9466fb6c72fe8a5a13b1b105b7c17 (diff) | |
| download | moa-id-spss-ad7665736f08ebdc53e321b4b8e432f17b84a78e.tar.gz moa-id-spss-ad7665736f08ebdc53e321b4b8e432f17b84a78e.tar.bz2 moa-id-spss-ad7665736f08ebdc53e321b4b8e432f17b84a78e.zip | |
added for MOA WID mode (wbPK)
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@399 d688527b-c9ab-4aba-bd8d-4036d912da1d
| -rw-r--r-- | common/res/resources/schemas/Core-1.2.xsd | 881 | ||||
| -rw-r--r-- | common/res/resources/schemas/MOA-ID-Configuration-1.3.xsd | 400 | ||||
| -rw-r--r-- | common/res/resources/schemas/PersonData_20_en.xsd | 1250 | 
3 files changed, 2531 insertions, 0 deletions
| diff --git a/common/res/resources/schemas/Core-1.2.xsd b/common/res/resources/schemas/Core-1.2.xsd new file mode 100644 index 000000000..769079e66 --- /dev/null +++ b/common/res/resources/schemas/Core-1.2.xsd @@ -0,0 +1,881 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- Securitylayer, Schnittstellenspezifikation --> + +<!-- XML-Schema fuer Schnittstellenspezifikation Version 1.2.2 --> + +<!-- 01. 03. 2005, Bundeskanzleramt, Stabsstelle IKT-Strategie, Technik und Standards --> + +<xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2.1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"> +  <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/> +  <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> +  <!--###################################################################### --> +  <!--# Create CMS Signature                                               # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Create CMS Signature Request                                       = --> +  <!--====================================================================== --> +  <xsd:element name="CreateCMSSignatureRequest" type="CreateCMSSignatureRequestType"/> +  <xsd:complexType name="CreateCMSSignatureRequestType"> +    <xsd:sequence> +      <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType"/> +      <xsd:element name="DataObject" type="CMSDataObjectRequiredMetaType"/> +    </xsd:sequence> +    <xsd:attribute name="Structure" use="required"> +      <xsd:simpleType> +        <xsd:restriction base="xsd:string"> +          <xsd:enumeration value="detached"/> +          <xsd:enumeration value="enveloping"/> +        </xsd:restriction> +      </xsd:simpleType> +    </xsd:attribute> +  </xsd:complexType> +  <xsd:complexType name="CMSDataObjectRequiredMetaType"> +    <xsd:complexContent> +      <xsd:restriction base="CMSDataObjectOptionalMetaType"> +        <xsd:sequence> +          <xsd:element name="MetaInfo" type="MetaInfoType"/> +          <xsd:element name="Content" type="Base64OptRefContentType"/> +        </xsd:sequence> +      </xsd:restriction> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="CMSDataObjectOptionalMetaType"> +    <xsd:sequence> +      <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> +      <xsd:element name="Content" type="Base64OptRefContentType"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Create CMS Siganture Response                                      = --> +  <!--====================================================================== --> +  <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType"/> +  <xsd:complexType name="CreateCMSSignatureResponseType"> +    <xsd:sequence> +      <xsd:element name="CMSSignature" type="xsd:base64Binary"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Create XML Signature                                               # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Create XML Signature Request                                       = --> +  <!--====================================================================== --> +  <xsd:element name="CreateXMLSignatureRequest" type="CreateXMLSignatureRequestType"/> +  <xsd:complexType name="CreateXMLSignatureRequestType"> +    <xsd:sequence> +      <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType"/> +      <xsd:element name="DataObjectInfo" type="DataObjectInfoType" maxOccurs="unbounded"/> +      <xsd:element name="SignatureInfo" type="SignatureInfoCreationType" minOccurs="0"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="SignatureInfoCreationType"> +    <xsd:sequence> +      <xsd:element name="SignatureEnvironment" type="Base64XMLOptRefContentType"/> +      <xsd:element name="SignatureLocation"> +        <xsd:complexType> +          <xsd:simpleContent> +            <xsd:extension base="xsd:token"> +              <xsd:attribute name="Index" type="xsd:nonNegativeInteger" use="required"/> +            </xsd:extension> +          </xsd:simpleContent> +        </xsd:complexType> +      </xsd:element> +      <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="MetaInfoType"> +    <xsd:sequence> +      <xsd:element name="MimeType" type="MimeTypeType"/> +      <xsd:element name="Description" type="xsd:string" minOccurs="0"/> +      <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="DataObjectInfoType"> +    <xsd:sequence> +      <xsd:element name="DataObject" type="Base64XMLLocRefOptRefContentType"/> +      <xsd:element name="TransformsInfo" type="TransformsInfoType" maxOccurs="unbounded"/> +      <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +    <xsd:attribute name="Structure" use="required"> +      <xsd:simpleType> +        <xsd:restriction base="xsd:string"> +          <xsd:enumeration value="detached"/> +          <xsd:enumeration value="enveloping"/> +        </xsd:restriction> +      </xsd:simpleType> +    </xsd:attribute> +  </xsd:complexType> +  <xsd:complexType name="TransformsInfoType"> +    <xsd:sequence> +      <xsd:element ref="dsig:Transforms" minOccurs="0"/> +      <xsd:element name="FinalDataMetaInfo" type="MetaInfoType"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Create XML Signature Response                                      = --> +  <!--====================================================================== --> +  <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/> +  <xsd:complexType name="CreateXMLSignatureResponseType"> +    <xsd:sequence> +      <xsd:any namespace="##any" processContents="lax"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Verify CMS Signature                                               # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Verify CMS Signature Request                                       = --> +  <!--====================================================================== --> +  <xsd:element name="VerifyCMSSignatureRequest" type="VerifyCMSSignatureRequestType"/> +  <xsd:complexType name="VerifyCMSSignatureRequestType"> +    <xsd:sequence> +      <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> +      <xsd:element name="CMSSignature" type="xsd:base64Binary"/> +      <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/> +    </xsd:sequence> +    <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/> +  </xsd:complexType> +  <xsd:simpleType name="SignatoriesType"> +    <xsd:union memberTypes="AllSignatoriesType"> +      <xsd:simpleType> +        <xsd:list itemType="xsd:positiveInteger"/> +      </xsd:simpleType> +    </xsd:union> +  </xsd:simpleType> +  <xsd:simpleType name="AllSignatoriesType"> +    <xsd:restriction base="xsd:string"> +      <xsd:enumeration value="all"/> +    </xsd:restriction> +  </xsd:simpleType> +  <!--====================================================================== --> +  <!--= Verify CMS Signature Response                                      = --> +  <!--====================================================================== --> +  <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/> +  <xsd:complexType name="VerifyCMSSignatureResponseType"> +    <xsd:sequence maxOccurs="unbounded"> +      <xsd:element name="SignerInfo" type="dsig:KeyInfoType"/> +      <xsd:element name="SignatureCheck" type="CheckResultType"/> +      <xsd:element name="CertificateCheck" type="CheckResultType"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:element name="QualifiedCertificate"/> +  <!--###################################################################### --> +  <!--# Verify XML Signature                                               # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Verify XML Signature Request                                       = --> +  <!--====================================================================== --> +  <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/> +  <xsd:complexType name="VerifyXMLSignatureRequestType"> +    <xsd:sequence> +      <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> +      <xsd:element name="SignatureInfo" type="SignatureInfoVerificationType"/> +      <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="SignatureInfoVerificationType"> +    <xsd:sequence> +      <xsd:element name="SignatureEnvironment" type="Base64XMLOptRefContentType"/> +      <xsd:element name="SignatureLocation" type="xsd:token"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Verify XML Signature Response                                      = --> +  <!--====================================================================== --> +  <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/> +  <xsd:complexType name="VerifyXMLSignatureResponseType"> +    <xsd:sequence> +      <xsd:element name="SignerInfo" type="dsig:KeyInfoType"/> +      <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/> +      <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType"/> +      <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> +      <xsd:element name="CertificateCheck" type="CheckResultType"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="ReferencesCheckResultType"> +    <xsd:sequence> +      <xsd:element name="Code" type="xsd:nonNegativeInteger"/> +      <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true"> +    <xsd:sequence> +      <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/> +      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="ManifestRefsCheckResultType"> +    <xsd:sequence> +      <xsd:element name="Code" type="xsd:nonNegativeInteger"/> +      <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true"> +    <xsd:sequence> +      <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/> +      <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/> +      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="CheckResultType"> +    <xsd:sequence> +      <xsd:element name="Code" type="xsd:nonNegativeInteger"/> +      <xsd:element name="Info" type="AnyMixedChildrenType" minOccurs="0"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Encrypt a CMS message                                              # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Encrypt a CMS message: Request                                     = --> +  <!--====================================================================== --> +  <xsd:element name="EncryptCMSRequest" type="EncryptCMSRequestType"/> +  <xsd:complexType name="EncryptCMSRequestType"> +    <xsd:sequence> +      <xsd:element name="RecipientPublicKey" type="CMSRecipientPublicKeyType" maxOccurs="unbounded"/> +      <xsd:element name="ToBeEncrypted" type="CMSToBeEncryptedType"/> +    </xsd:sequence> +    <xsd:attribute name="ReturnBinaryResult" type="xsd:boolean" use="optional" default="false"/> +  </xsd:complexType> +  <xsd:complexType name="CMSToBeEncryptedType"> +    <xsd:sequence> +      <xsd:element name="MetaInfo" type="MetaInfoType"/> +      <xsd:element name="Content" type="Base64OptRefContentType"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="CMSRecipientPublicKeyType"> +    <xsd:choice> +      <xsd:element name="X509Certificate" type="xsd:base64Binary"/> +    </xsd:choice> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Encrypt a CMS message: Response                                    = --> +  <!--====================================================================== --> +  <xsd:element name="EncryptCMSResponse" type="EncryptCMSResponseType"/> +  <xsd:complexType name="EncryptCMSResponseType"> +    <xsd:sequence> +      <xsd:element name="CMSMessage" type="xsd:base64Binary"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Decrypt a CMS message                                              # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Decrypt a CMS message: Request                                     = --> +  <!--====================================================================== --> +  <xsd:element name="DecryptCMSRequest" type="DecryptCMSRequestType"/> +  <xsd:complexType name="DecryptCMSRequestType"> +    <xsd:sequence> +      <xsd:element name="CMSMessage" type="xsd:base64Binary"/> +      <xsd:element name="EncryptedContent" type="CMSEncryptedContentType" minOccurs="0"/> +    </xsd:sequence> +    <xsd:attribute name="ReturnResult" type="ReturnResultType" use="optional" default="xml"/> +  </xsd:complexType> +  <xsd:complexType name="CMSEncryptedContentType"> +    <xsd:sequence> +      <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> +      <xsd:element name="Content" type="Base64OptRefContentType" minOccurs="0"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:simpleType name="ReturnResultType"> +    <xsd:restriction base="xsd:string"> +      <xsd:enumeration value="binary"/> +      <xsd:enumeration value="xml"/> +      <xsd:enumeration value="none"/> +    </xsd:restriction> +  </xsd:simpleType> +  <!--====================================================================== --> +  <!--= Decrypt a CMS message: Response                                    = --> +  <!--====================================================================== --> +  <xsd:element name="DecryptCMSResponse" type="DecryptCMSResponseType"/> +  <xsd:complexType name="DecryptCMSResponseType"> +    <xsd:sequence> +      <xsd:element name="DecryptedData" type="xsd:base64Binary"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Encrypt an XML document                                            # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Encrypt an XML document: Request                                   = --> +  <!--====================================================================== --> +  <xsd:element name="EncryptXMLRequest"> +    <xsd:complexType> +      <xsd:complexContent> +        <xsd:extension base="EncryptXMLRequestType"/> +      </xsd:complexContent> +    </xsd:complexType> +  </xsd:element> +  <xsd:complexType name="EncryptXMLRequestType"> +    <xsd:sequence> +      <xsd:element name="RecipientPublicKey" type="XMLRecipientPublicKeyType" maxOccurs="unbounded"/> +      <xsd:element name="ToBeEncrypted" type="ToBeEncryptedType" maxOccurs="unbounded"/> +      <xsd:element name="EncryptionInfo" type="EncryptionInfoType" minOccurs="0"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="ToBeEncryptedType"> +    <xsd:choice> +      <xsd:element name="Element"> +        <xsd:complexType> +          <xsd:attribute name="Selector" type="xsd:token" use="required"/> +          <xsd:attribute name="EncDataReference" type="xsd:anyURI" use="optional"/> +        </xsd:complexType> +      </xsd:element> +      <xsd:element name="ElementContent"> +        <xsd:complexType> +          <xsd:attribute name="Selector" type="xsd:token" use="required"/> +          <xsd:attribute name="EncDataReference" type="xsd:anyURI" use="optional"/> +        </xsd:complexType> +      </xsd:element> +      <xsd:element name="New" type="XMLToBeEncryptedNewType"/> +    </xsd:choice> +  </xsd:complexType> +  <xsd:complexType name="XMLToBeEncryptedNewType"> +    <xsd:sequence> +      <xsd:element name="MetaInfo" type="MetaInfoType"/> +      <xsd:element name="Content" type="XMLToBeEncryptedNewContentType"/> +    </xsd:sequence> +    <xsd:attribute name="ParentSelector" type="xsd:token" use="required"/> +    <xsd:attribute name="NodeCount" type="xsd:nonNegativeInteger" use="required"/> +  </xsd:complexType> +  <xsd:complexType name="XMLToBeEncryptedNewContentType"> +    <xsd:complexContent> +      <xsd:extension base="Base64XMLLocRefContentType"> +        <xsd:attribute name="EncDataReference" type="xsd:anyURI" use="optional"/> +      </xsd:extension> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="XMLRecipientPublicKeyType"> +    <xsd:choice> +      <xsd:element ref="dsig:KeyValue"/> +      <xsd:element name="X509Certificate" type="xsd:base64Binary"/> +    </xsd:choice> +  </xsd:complexType> +  <xsd:complexType name="EncryptionInfoType"> +    <xsd:sequence> +      <xsd:element name="EncryptionEnvironment" type="Base64XMLOptRefContentType"/> +      <xsd:element name="EncryptedKeyLocation" minOccurs="0"> +        <xsd:complexType> +          <xsd:attribute name="ParentSelector" type="xsd:token" use="required"/> +          <xsd:attribute name="NodeCount" type="xsd:nonNegativeInteger" use="required"/> +        </xsd:complexType> +      </xsd:element> +      <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Encrypt an XML document: Response                                  = --> +  <!--====================================================================== --> +  <xsd:element name="EncryptXMLResponse" type="EncryptXMLResponseType"/> +  <xsd:complexType name="EncryptXMLResponseType"> +    <xsd:sequence> +      <xsd:element name="EncryptionEnvironment"> +        <xsd:complexType> +          <xsd:sequence> +            <xsd:any namespace="##any" processContents="lax"/> +          </xsd:sequence> +        </xsd:complexType> +      </xsd:element> +      <xsd:element name="EncryptedData" type="EncryptedDataType" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="EncryptedDataType"> +    <xsd:simpleContent> +      <xsd:extension base="xsd:base64Binary"> +        <xsd:attribute name="EncDataReference" type="xsd:anyURI" use="required"/> +      </xsd:extension> +    </xsd:simpleContent> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Decrypt an XML document                                            # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Decrypt an XML document: Request                                   = --> +  <!--====================================================================== --> +  <xsd:element name="DecryptXMLRequest" type="DecryptXMLRequestType"/> +  <xsd:complexType name="DecryptXMLRequestType"> +    <xsd:sequence> +      <xsd:element name="EncryptedContent" type="Base64XMLOptRefContentType"/> +      <xsd:element name="EncrElemsSelector" type="xsd:string"/> +      <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +    <xsd:attribute name="ReturnResult" type="ReturnResultType" use="optional" default="xml"/> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Decrypt an XML document: Response                                  = --> +  <!--====================================================================== --> +  <xsd:element name="DecryptXMLResponse" type="DecryptXMLResponseType"/> +  <xsd:complexType name="DecryptXMLResponseType"> +    <xsd:sequence minOccurs="0"> +      <xsd:element name="CandidateDocument" type="XMLContentType"/> +      <xsd:element name="DecryptedBinaryData" minOccurs="0" maxOccurs="unbounded"> +        <xsd:complexType> +          <xsd:simpleContent> +            <xsd:extension base="xsd:base64Binary"> +              <xsd:attribute name="EncrElemSelector" type="xsd:string" use="required"/> +              <xsd:attribute name="MimeType" type="xsd:string" use="optional"/> +              <xsd:attribute name="Encoding" type="xsd:anyURI" use="optional"/> +            </xsd:extension> +          </xsd:simpleContent> +        </xsd:complexType> +      </xsd:element> +    </xsd:sequence> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Hashing                                                            # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Hash Computation Request                                           = --> +  <!--====================================================================== --> +  <xsd:element name="CreateHashRequest" type="CreateHashRequestType"/> +  <xsd:complexType name="CreateHashRequestType"> +    <xsd:sequence> +      <xsd:element name="HashInfo" type="CreateHashInfoRequestType" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="CreateHashInfoRequestType"> +    <xsd:sequence> +      <xsd:element name="HashData" type="HashDataType"/> +      <xsd:element name="HashAlgorithm" type="xsd:anyURI"/> +      <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0"/> +    </xsd:sequence> +    <xsd:attribute name="RespondHashData" type="xsd:boolean" use="required"/> +  </xsd:complexType> +  <xsd:complexType name="HashDataType"> +    <xsd:sequence> +      <xsd:element name="MetaInfo" type="MetaInfoType"/> +      <xsd:element name="Content" type="Base64XMLOptRefContentType"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Hash Computation Response                                          = --> +  <!--====================================================================== --> +  <xsd:element name="CreateHashResponse" type="CreateHashResponseType"/> +  <xsd:complexType name="CreateHashResponseType"> +    <xsd:sequence> +      <xsd:element name="HashInfo" type="CreateHashInfoResponseType" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="CreateHashInfoResponseType"> +    <xsd:sequence> +      <xsd:element name="HashData" type="HashDataType" minOccurs="0"/> +      <xsd:element name="HashAlgorithm" type="xsd:anyURI"/> +      <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0"/> +      <xsd:element name="HashValue" type="xsd:base64Binary"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Hash Verification Request                                          = --> +  <!--====================================================================== --> +  <xsd:element name="VerifyHashRequest" type="VerifyHashRequestType"/> +  <xsd:complexType name="VerifyHashRequestType"> +    <xsd:sequence> +      <xsd:element name="HashInfo" type="VerifyHashInfoRequestType" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="VerifyHashInfoRequestType"> +    <xsd:sequence> +      <xsd:element name="HashData" type="HashDataType"/> +      <xsd:element name="HashAlgorithm" type="xsd:anyURI"/> +      <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0"/> +      <xsd:element name="HashValue" type="xsd:base64Binary"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Hash Verification Response                                         = --> +  <!--====================================================================== --> +  <xsd:element name="VerifyHashResponse" type="VerifyHashResponseType"/> +  <xsd:complexType name="VerifyHashResponseType"> +    <xsd:sequence> +      <xsd:element name="VerificationResult" type="VerificationResultType" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="VerificationResultType"> +    <xsd:sequence> +      <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0"/> +      <xsd:element name="Result" type="xsd:boolean"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Infobox Commands                                                   # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Check Available Infoboxes Request                                  = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxAvailableRequest" type="InfoboxAvailableRequestType"/> +  <xsd:complexType name="InfoboxAvailableRequestType"/> +  <!--====================================================================== --> +  <!--= Check Available Infoboxes Response                                 = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxAvailableResponse" type="InfoboxAvailableResponseType"/> +  <xsd:complexType name="InfoboxAvailableResponseType"> +    <xsd:sequence minOccurs="0" maxOccurs="unbounded"> +      <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Create Infobox Request                                             = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxCreateRequest" type="InfoboxCreateRequestType"/> +  <xsd:complexType name="InfoboxCreateRequestType"> +    <xsd:sequence> +      <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/> +      <xsd:element name="InfoboxType" type="InfoboxTypeType"/> +      <xsd:element name="Creator" type="xsd:string"/> +      <xsd:element name="Purpose" type="xsd:string"/> +      <xsd:element name="ReadAccessAuthorization" type="AccessAuthorizationType" minOccurs="0"/> +      <xsd:element name="UpdateAccessAuthorization" type="AccessAuthorizationType" minOccurs="0"/> +      <xsd:element name="ReadUserConfirmation" type="UserConfirmationType" minOccurs="0"/> +      <xsd:element name="UpdateUserConfirmation" type="UserConfirmationType" minOccurs="0"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:simpleType name="InfoboxTypeType"> +    <xsd:restriction base="xsd:string"> +      <xsd:enumeration value="BinaryFile"/> +      <xsd:enumeration value="AssocArray"/> +    </xsd:restriction> +  </xsd:simpleType> +  <xsd:complexType name="AccessAuthorizationType"> +    <xsd:sequence> +      <xsd:element name="RequesterID" type="RequesterIDType" maxOccurs="unbounded"/> +    </xsd:sequence> +    <xsd:attribute name="UserMayChange" type="xsd:boolean" use="required"/> +  </xsd:complexType> +  <xsd:simpleType name="RequesterIDSimpleType"> +    <xsd:restriction base="xsd:string"/> +  </xsd:simpleType> +  <xsd:complexType name="RequesterIDType"> +    <xsd:simpleContent> +      <xsd:extension base="RequesterIDSimpleType"> +        <xsd:attribute name="AuthenticationClass" type="AuthenticationClassType" use="required"/> +      </xsd:extension> +    </xsd:simpleContent> +  </xsd:complexType> +  <xsd:complexType name="UserConfirmationType"> +    <xsd:simpleContent> +      <xsd:extension base="UserConfirmationSimpleType"> +        <xsd:attribute name="UserMayChange" type="xsd:boolean" use="required"/> +      </xsd:extension> +    </xsd:simpleContent> +  </xsd:complexType> +  <xsd:simpleType name="UserConfirmationSimpleType"> +    <xsd:restriction base="xsd:string"> +      <xsd:enumeration value="none"/> +      <xsd:enumeration value="info"/> +      <xsd:enumeration value="confirm"/> +      <xsd:enumeration value="confirmWithSecret"/> +    </xsd:restriction> +  </xsd:simpleType> +  <xsd:simpleType name="AuthenticationClassType"> +    <xsd:restriction base="xsd:string"> +      <xsd:enumeration value="anonym"/> +      <xsd:enumeration value="pseudoanonym"/> +      <xsd:enumeration value="certified"/> +      <xsd:enumeration value="certifiedGovAgency"/> +    </xsd:restriction> +  </xsd:simpleType> +  <!--====================================================================== --> +  <!--= Create Infobox Response                                            = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxCreateResponse" type="InfoboxCreateResponseType"/> +  <xsd:complexType name="InfoboxCreateResponseType"/> +  <!--====================================================================== --> +  <!--= Delete Infobox Request                                             = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxDeleteRequest" type="InfoboxDeleteRequestType"/> +  <xsd:complexType name="InfoboxDeleteRequestType"> +    <xsd:sequence> +      <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Delete Infobox Response                                            = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxDeleteResponse" type="InfoboxDeleteResponseType"/> +  <xsd:complexType name="InfoboxDeleteResponseType"/> +  <!--====================================================================== --> +  <!--= Read Infobox Request                                               = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxReadRequest" type="InfoboxReadRequestType"/> +  <xsd:complexType name="InfoboxReadRequestType"> +    <xsd:sequence> +      <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/> +      <xsd:choice> +        <xsd:element name="BinaryFileParameters" type="InfoboxReadParamsBinaryFileType"/> +        <xsd:element name="AssocArrayParameters" type="InfoboxReadParamsAssocArrayType"/> +      </xsd:choice> +      <xsd:element name="BoxSpecificParameters" type="AnyChildrenType" minOccurs="0"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="InfoboxReadParamsBinaryFileType"> +    <xsd:attribute name="ContentIsXMLEntity" type="xsd:boolean" use="optional" default="false"/> +  </xsd:complexType> +  <xsd:complexType name="InfoboxReadParamsAssocArrayType"> +    <xsd:choice> +      <xsd:element name="ReadKeys"> +        <xsd:complexType> +          <xsd:attribute name="SearchString" type="WildCardSearchStringType" use="required"/> +          <xsd:attribute name="UserMakesUnique" type="xsd:boolean" use="optional" default="false"/> +        </xsd:complexType> +      </xsd:element> +      <xsd:element name="ReadPairs"> +        <xsd:complexType> +          <xsd:attribute name="SearchString" type="WildCardSearchStringType" use="required"/> +          <xsd:attribute name="UserMakesUnique" type="xsd:boolean" use="optional" default="false"/> +          <xsd:attribute name="ValuesAreXMLEntities" type="xsd:boolean" use="optional" default="false"/> +        </xsd:complexType> +      </xsd:element> +      <xsd:element name="ReadValue"> +        <xsd:complexType> +          <xsd:attribute name="Key" type="BoxIdentifierType" use="required"/> +          <xsd:attribute name="ValueIsXMLEntity" type="xsd:boolean" use="optional" default="false"/> +        </xsd:complexType> +      </xsd:element> +    </xsd:choice> +  </xsd:complexType> +  <xsd:element name="IdentityLinkDomainIdentifier" type="xsd:anyURI"/> +  <!--====================================================================== --> +  <!--= Read Infobox Response                                              = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxReadResponse" type="InfoboxReadResponseType"/> +  <xsd:complexType name="InfoboxReadResponseType"> +    <xsd:choice> +      <xsd:element name="BinaryFileData" type="Base64XMLContentType"/> +      <xsd:element name="AssocArrayData" type="InfoboxReadDataAssocArrayType"/> +    </xsd:choice> +  </xsd:complexType> +  <xsd:complexType name="InfoboxReadDataAssocArrayType"> +    <xsd:choice> +      <xsd:sequence minOccurs="0" maxOccurs="unbounded"> +        <xsd:element name="Key" type="BoxIdentifierType"/> +      </xsd:sequence> +      <xsd:sequence minOccurs="0" maxOccurs="unbounded"> +        <xsd:element name="Pair" type="InfoboxAssocArrayPairType"/> +      </xsd:sequence> +    </xsd:choice> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Update Infobox Request                                             = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxUpdateRequest" type="InfoboxUpdateRequestType"/> +  <xsd:complexType name="InfoboxUpdateRequestType"> +    <xsd:sequence> +      <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/> +      <xsd:choice> +        <xsd:element name="BinaryFileParameters" type="Base64XMLContentType"/> +        <xsd:element name="AssocArrayParameters" type="InfoboxUpdateParamsAssocArrayType"/> +      </xsd:choice> +      <xsd:element name="BoxSpecificParameters" type="AnyChildrenType" minOccurs="0"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="InfoboxUpdateParamsAssocArrayType"> +    <xsd:choice> +      <xsd:element name="UpdateKey"> +        <xsd:complexType> +          <xsd:attribute name="Key" type="xsd:token" use="required"/> +          <xsd:attribute name="NewKey" type="xsd:token" use="required"/> +        </xsd:complexType> +      </xsd:element> +      <xsd:element name="UpdateValue" type="InfoboxAssocArrayPairType"/> +      <xsd:element name="DeletePair"> +        <xsd:complexType> +          <xsd:attribute name="Key" type="xsd:token" use="required"/> +        </xsd:complexType> +      </xsd:element> +    </xsd:choice> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Update Infobox Response                                            = --> +  <!--====================================================================== --> +  <xsd:element name="InfoboxUpdateResponse" type="InfoboxUpdateResponseType"/> +  <xsd:complexType name="InfoboxUpdateResponseType"/> +  <!--###################################################################### --> +  <!--# Null-Operation                                                     # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Null-Operation ReQuest                                             = --> +  <!--====================================================================== --> +  <xsd:element name="NullOperationRequest" type="NullOperationRequestType"/> +  <xsd:complexType name="NullOperationRequestType"/> +  <!--====================================================================== --> +  <!--= Null-Operation Response                                            = --> +  <!--====================================================================== --> +  <xsd:element name="NullOperationResponse" type="NullOperationResponseType"/> +  <xsd:complexType name="NullOperationResponseType"/> +  <!--###################################################################### --> +  <!--# Get Properties                                                     # --> +  <!--###################################################################### --> +  <xsd:element name="GetPropertiesRequest"> +    <xsd:complexType> +      <xsd:complexContent> +        <xsd:extension base="GetPropertiesRequestType"/> +      </xsd:complexContent> +    </xsd:complexType> +  </xsd:element> +  <xsd:complexType name="GetPropertiesRequestType"/> +  <!--====================================================================== --> +  <!--= Get Properties Response                                            = --> +  <!--====================================================================== --> +  <xsd:element name="GetPropertiesResponse" type="GetPropertiesResponseType"/> +  <xsd:complexType name="GetPropertiesResponseType"> +    <xsd:sequence> +      <xsd:element name="ViewerMediaType" type="MimeTypeType" maxOccurs="unbounded"/> +      <xsd:element name="XMLSignatureTransform" type="xsd:anyURI" maxOccurs="unbounded"/> +      <xsd:element name="KeyboxIdentifier" type="QualifiedBoxIdentifierType" minOccurs="0" maxOccurs="unbounded"/> +      <xsd:element name="Binding" type="BindingType" maxOccurs="unbounded"/> +      <xsd:element name="ProtocolVersion" type="xsd:token" maxOccurs="unbounded"/> +      <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="BindingType"> +    <xsd:complexContent> +      <xsd:extension base="AnyChildrenType"> +        <xsd:attribute name="Identifier" type="xsd:token" use="required"/> +      </xsd:extension> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="QualifiedBoxIdentifierType"> +    <xsd:simpleContent> +      <xsd:extension base="BoxIdentifierType"> +        <xsd:attribute name="Signature" type="xsd:boolean" use="required"/> +        <xsd:attribute name="Encryption" type="xsd:boolean" use="required"/> +      </xsd:extension> +    </xsd:simpleContent> +  </xsd:complexType> +  <!--###################################################################### --> +  <!--# Get Token Status                                                   # --> +  <!--###################################################################### --> +  <!--====================================================================== --> +  <!--= Get Token Status Request                                           = --> +  <!--====================================================================== --> +  <xsd:element name="GetStatusRequest" type="GetStatusRequestType"/> +  <xsd:complexType name="GetStatusRequestType"> +    <xsd:sequence minOccurs="0"> +      <xsd:element name="TokenStatus" type="TokenStatusType"/> +      <xsd:element name="MaxDelay" type="xsd:nonNegativeInteger"/> +    </xsd:sequence> +  </xsd:complexType> +  <!--====================================================================== --> +  <!--= Get Token Status Response                                          = --> +  <!--====================================================================== --> +  <xsd:element name="GetStatusResponse" type="GetStatusResponseType"/> +  <xsd:complexType name="GetStatusResponseType"> +    <xsd:sequence> +      <xsd:element name="TokenStatus" type="TokenStatusType"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:simpleType name="TokenStatusType"> +    <xsd:restriction base="xsd:string"> +      <xsd:enumeration value="ready"/> +      <xsd:enumeration value="removed"/> +    </xsd:restriction> +  </xsd:simpleType> +  <!--###################################################################### --> +  <!--# Error Response                                                     # --> +  <!--###################################################################### --> +  <xsd:element name="ErrorResponse" type="ErrorResponseType"/> +  <xsd:complexType name="ErrorResponseType"> +    <xsd:sequence> +      <xsd:element name="ErrorCode" type="ErrorCodeType"/> +      <xsd:element name="Info" type="xsd:string"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:simpleType name="ErrorCodeType"> +    <xsd:restriction base="xsd:integer"> +      <xsd:minInclusive value="1000"/> +      <xsd:maxInclusive value="99999"/> +    </xsd:restriction> +  </xsd:simpleType> +  <!--###################################################################### --> +  <!--# Auxiliary Types                                                    # --> +  <!--###################################################################### --> +  <xsd:simpleType name="BoxIdentifierType"> +    <xsd:restriction base="xsd:token"/> +  </xsd:simpleType> +  <xsd:simpleType name="MimeTypeType"> +    <xsd:restriction base="xsd:token"/> +  </xsd:simpleType> +  <xsd:simpleType name="WildCardSearchStringType"> +    <xsd:restriction base="xsd:string"> +      <xsd:pattern value="[^\*/]*(\*[^\*/]*)?(/[^\*/]*(\*[^\*/]*)?)*"/> +      <xsd:pattern value="\*\*"/> +    </xsd:restriction> +  </xsd:simpleType> +  <xsd:complexType name="InfoboxAssocArrayPairType"> +    <xsd:complexContent> +      <xsd:extension base="Base64XMLContentType"> +        <xsd:attribute name="Key" type="xsd:string" use="required"/> +      </xsd:extension> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="AnyChildrenType" mixed="false"> +    <xsd:sequence minOccurs="0" maxOccurs="unbounded"> +      <xsd:any namespace="##any" processContents="lax"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="AnyMixedChildrenType" mixed="true"> +    <xsd:sequence minOccurs="0" maxOccurs="unbounded"> +      <xsd:any namespace="##any" processContents="lax"/> +    </xsd:sequence> +  </xsd:complexType> +  <xsd:complexType name="XMLContentType" mixed="true"> +    <xsd:complexContent mixed="true"> +      <xsd:extension base="AnyMixedChildrenType"> +        <xsd:attribute ref="xml:space" use="optional"/> +      </xsd:extension> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="Base64XMLLocRefOptRefContentType"> +    <xsd:complexContent> +      <xsd:extension base="Base64XMLLocRefContentType"> +        <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/> +      </xsd:extension> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="Base64XMLLocRefReqRefContentType"> +    <xsd:complexContent> +      <xsd:extension base="Base64XMLLocRefContentType"> +        <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/> +      </xsd:extension> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="Base64XMLOptRefContentType"> +    <xsd:complexContent> +      <xsd:extension base="Base64XMLContentType"> +        <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/> +      </xsd:extension> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="Base64OptRefContentType"> +    <xsd:complexContent> +      <xsd:extension base="Base64ContentType"> +        <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/> +      </xsd:extension> +    </xsd:complexContent> +  </xsd:complexType> +  <xsd:complexType name="Base64ContentType"> +    <xsd:choice minOccurs="0"> +      <xsd:element name="Base64Content" type="xsd:base64Binary"/> +    </xsd:choice> +  </xsd:complexType> +  <xsd:complexType name="Base64XMLContentType"> +    <xsd:choice minOccurs="0"> +      <xsd:element name="Base64Content" type="xsd:base64Binary"/> +      <xsd:element name="XMLContent" type="XMLContentType"/> +    </xsd:choice> +  </xsd:complexType> +  <xsd:complexType name="Base64XMLLocRefContentType"> +    <xsd:choice minOccurs="0"> +      <xsd:element name="Base64Content" type="xsd:base64Binary"/> +      <xsd:element name="XMLContent" type="XMLContentType"/> +      <xsd:element name="LocRefContent" type="xsd:anyURI"/> +    </xsd:choice> +  </xsd:complexType> +  <xsd:complexType name="DataObjectAssociationType"> +    <xsd:sequence> +      <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> +      <xsd:element name="Content" type="Base64XMLLocRefReqRefContentType"/> +    </xsd:sequence> +  </xsd:complexType> +</xsd:schema>
\ No newline at end of file diff --git a/common/res/resources/schemas/MOA-ID-Configuration-1.3.xsd b/common/res/resources/schemas/MOA-ID-Configuration-1.3.xsd new file mode 100644 index 000000000..36be1016e --- /dev/null +++ b/common/res/resources/schemas/MOA-ID-Configuration-1.3.xsd @@ -0,0 +1,400 @@ +<?xml version="1.0" encoding="UTF-8"?>
 +<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Rudolf Schamberger (Stabsstelle IKT-Strategie) (Bundesrechenzentrum GmbH) -->
 +<xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.1">
 +	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
 +	<xsd:import namespace="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" schemaLocation="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.20020225.xsd"/>
 +	<xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="file:///C:/misc/xml/moa/schema/pd20_final/schema/PersonData_20_en_Test.xsd"/>
 +	<xsd:element name="Configuration">
 +		<xsd:complexType>
 +			<xsd:sequence>
 +				<xsd:element name="LoginType" type="LoginType" default="stateful"/>
 +				<xsd:element name="Binding" minOccurs="0">
 +					<xsd:simpleType>
 +						<xsd:restriction base="xsd:string">
 +							<xsd:enumeration value="full"/>
 +							<xsd:enumeration value="userName"/>
 +							<xsd:enumeration value="none"/>
 +						</xsd:restriction>
 +					</xsd:simpleType>
 +				</xsd:element>
 +				<xsd:choice>
 +					<xsd:element ref="ParamAuth"/>
 +					<xsd:element ref="BasicAuth"/>
 +					<xsd:element ref="HeaderAuth"/>
 +				</xsd:choice>
 +			</xsd:sequence>
 +		</xsd:complexType>
 +	</xsd:element>
 +	<xsd:simpleType name="LoginType">
 +		<xsd:restriction base="xsd:token">
 +			<xsd:enumeration value="stateless"/>
 +			<xsd:enumeration value="stateful"/>
 +		</xsd:restriction>
 +	</xsd:simpleType>
 +	<xsd:element name="ParamAuth">
 +		<xsd:complexType>
 +			<xsd:sequence>
 +				<xsd:element ref="Parameter" maxOccurs="unbounded"/>
 +			</xsd:sequence>
 +		</xsd:complexType>
 +	</xsd:element>
 +	<xsd:element name="Parameter">
 +		<xsd:complexType>
 +			<xsd:attribute name="Name" type="xsd:token" use="required"/>
 +			<xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
 +		</xsd:complexType>
 +	</xsd:element>
 +	<xsd:element name="BasicAuth">
 +		<xsd:complexType>
 +			<xsd:sequence>
 +				<xsd:element name="UserID" type="MOAAuthDataType"/>
 +				<xsd:element name="Password" type="MOAAuthDataType"/>
 +			</xsd:sequence>
 +		</xsd:complexType>
 +	</xsd:element>
 +	<xsd:element name="HeaderAuth">
 +		<xsd:complexType>
 +			<xsd:sequence>
 +				<xsd:element ref="Header" maxOccurs="unbounded"/>
 +			</xsd:sequence>
 +		</xsd:complexType>
 +	</xsd:element>
 +	<xsd:element name="Header">
 +		<xsd:complexType>
 +			<xsd:attribute name="Name" type="xsd:token" use="required"/>
 +			<xsd:attribute name="Value" type="MOAAuthDataType" use="required"/>
 +		</xsd:complexType>
 +	</xsd:element>
 +	<xsd:simpleType name="MOAAuthDataType">
 +		<xsd:restriction base="xsd:token">
 +			<xsd:enumeration value="MOAGivenName"/>
 +			<xsd:enumeration value="MOAFamilyName"/>
 +			<xsd:enumeration value="MOADateOfBirth"/>
 +			<xsd:enumeration value="MOABPK"/>
 +			<xsd:enumeration value="MOAPublicAuthority"/>
 +			<xsd:enumeration value="MOABKZ"/>
 +			<xsd:enumeration value="MOAQualifiedCertificate"/>
 +			<xsd:enumeration value="MOAStammzahl"/>
 +			<xsd:enumeration value="MOAIdentificationValueType"/>
 +			<xsd:enumeration value="MOAIPAddress"/>
 +		</xsd:restriction>
 +	</xsd:simpleType>
 +	<xsd:simpleType name="MOAKeyBoxSelector">
 +		<xsd:restriction base="xsd:token">
 +			<xsd:enumeration value="SecureSignatureKeypair"/>
 +			<xsd:enumeration value="CertifiedKeypair"/>
 +		</xsd:restriction>
 +	</xsd:simpleType>
 +	<!--Konfiguration für Authentisierungs- und Proxy-Komponente und Online-Applikation-->
 +	<xsd:element name="MOA-IDConfiguration">
 +		<xsd:complexType>
 +			<xsd:sequence>
 +				<xsd:element name="AuthComponent" type="AuthComponentType" minOccurs="0">
 +					<xsd:annotation>
 +						<xsd:documentation>enthält Parameter der 
 +							Authentisierungs-Komponente</xsd:documentation>
 +					</xsd:annotation>
 +				</xsd:element>
 +				<xsd:element name="ProxyComponent" minOccurs="0">
 +					<xsd:annotation>
 +						<xsd:documentation>enthält Konfigurationsparameter der 
 +							Proxy-Komponente</xsd:documentation>
 +					</xsd:annotation>
 +					<xsd:complexType>
 +						<xsd:sequence>
 +							<xsd:element name="AuthComponent">
 +								<xsd:annotation>
 +									<xsd:documentation>enthält Parameter für die Kommunikation zw. 
 +										Proxykomponente und Authenttisierungskomponente</xsd:documentation>
 +								</xsd:annotation>
 +								<xsd:complexType>
 +									<xsd:sequence>
 +										<xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
 +											<xsd:annotation>
 +												<xsd:documentation>enthält Parameter für die SOAP-Verbindung von der 
 +													Proxy-Komponente zur Auth-Komponente (vgl. 
 +													AuthComponent/MOA-SP/ConnectionParameter)</xsd:documentation>
 +											</xsd:annotation>
 +										</xsd:element>
 +									</xsd:sequence>
 +								</xsd:complexType>
 +							</xsd:element>
 +						</xsd:sequence>
 +					</xsd:complexType>
 +				</xsd:element>
 +				<xsd:element name="OnlineApplication" maxOccurs="unbounded">
 +					<xsd:annotation>
 +						<xsd:documentation>enthält Parameter für die OA</xsd:documentation>
 +					</xsd:annotation>
 +					<xsd:complexType>
 +						<xsd:complexContent>
 +							<xsd:extension base="OnlineApplicationType">
 +								<xsd:attribute name="publicURLPrefix" type="xsd:anyURI" use="required"/>
 +								<xsd:attribute name="keyBoxIdentifier" type="MOAKeyBoxSelector" use="optional" default="SecureSignatureKeypair"/>
 +								<xsd:attribute name="type" use="optional" default="publicService">
 +									<xsd:simpleType>
 +										<xsd:restriction base="xsd:NMTOKEN">
 +											<xsd:enumeration value="businessService"/>
 +											<xsd:enumeration value="publicService"/>
 +										</xsd:restriction>
 +									</xsd:simpleType>
 +								</xsd:attribute>
 +							</xsd:extension>
 +						</xsd:complexContent>
 +					</xsd:complexType>
 +				</xsd:element>
 +				<xsd:element name="ChainingModes" minOccurs="0">
 +					<xsd:annotation>
 +						<xsd:documentation>spezifiziert den Algorithmus ("pkix" oder "chaining") für die 
 +							Zertifikatspfadvalidierung</xsd:documentation>
 +					</xsd:annotation>
 +					<xsd:complexType>
 +						<xsd:sequence minOccurs="0" maxOccurs="unbounded">
 +							<xsd:element name="TrustAnchor">
 +								<xsd:annotation>
 +									<xsd:documentation>ein vom SystemDefaultMode abweichender ChiningMode kann 
 +										für jeden TrustAnchor gesetzt werden</xsd:documentation>
 +								</xsd:annotation>
 +								<xsd:complexType>
 +									<xsd:complexContent>
 +										<xsd:extension base="dsig:X509IssuerSerialType">
 +											<xsd:attribute name="mode" type="ChainingModeType" use="required"/>
 +										</xsd:extension>
 +									</xsd:complexContent>
 +								</xsd:complexType>
 +							</xsd:element>
 +						</xsd:sequence>
 +						<xsd:attribute name="systemDefaultMode" type="ChainingModeType" use="optional" default="pkix"/>
 +					</xsd:complexType>
 +				</xsd:element>
 +				<xsd:element name="TrustedCACertificates" type="xsd:anyURI" minOccurs="0">
 +					<xsd:annotation>
 +						<xsd:documentation>verweist auf ein Verzeichnis, das vertrauenswürdige CA 
 +							(Zwischen-CA, Wurzel-CA) Zertifikate enthält.</xsd:documentation>
 +					</xsd:annotation>
 +				</xsd:element>
 +				<xsd:element name="GenericConfiguration" minOccurs="0" maxOccurs="unbounded">
 +					<xsd:complexType>
 +						<xsd:attribute name="name" use="required">
 +							<xsd:simpleType>
 +								<xsd:restriction base="xsd:string">
 +									<xsd:enumeration value="DirectoryCertStoreParameters.RootDir"/>
 +									<xsd:enumeration value="AuthenticationSession.TimeOut"/>
 +									<xsd:enumeration value="AuthenticationData.TimeOut"/>
 +									<xsd:enumeration value="TrustManager.RevocationChecking"/>
 +									<xsd:enumeration value="FrontendServlets.EnableHTTPConnection"/>
 +									<xsd:enumeration value="FrontendServlets.DataURLPrefix"/>
 +								</xsd:restriction>
 +							</xsd:simpleType>
 +						</xsd:attribute>
 +						<xsd:attribute name="value" type="xsd:string" use="required"/>
 +					</xsd:complexType>
 +				</xsd:element>
 +			</xsd:sequence>
 +		</xsd:complexType>
 +	</xsd:element>
 +	<xsd:complexType name="AuthComponentType">
 +		<xsd:sequence>
 +			<xsd:element name="BKUSelection" minOccurs="0">
 +				<xsd:complexType>
 +					<xsd:sequence>
 +						<xsd:element name="ConnectionParameter" type="ConnectionParameterServerAuthType"/>
 +					</xsd:sequence>
 +					<xsd:attribute name="BKUSelectionAlternative" type="BKUSelectionType" use="optional" default="HTMLComplete"/>
 +				</xsd:complexType>
 +			</xsd:element>
 +			<xsd:element name="SecurityLayer">
 +				<xsd:annotation>
 +					<xsd:documentation>enthält Parameter für die Kommunikation mit dem 
 +						Security-Layer</xsd:documentation>
 +				</xsd:annotation>
 +				<xsd:complexType>
 +					<xsd:sequence>
 +						<xsd:element name="TransformsInfo" type="TransformsInfoType" maxOccurs="unbounded"/>
 +					</xsd:sequence>
 +				</xsd:complexType>
 +			</xsd:element>
 +			<xsd:element name="MOA-SP">
 +				<xsd:annotation>
 +					<xsd:documentation>enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA 
 +						SP Modul</xsd:documentation>
 +				</xsd:annotation>
 +				<xsd:complexType>
 +					<xsd:sequence>
 +						<xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0">
 +							<xsd:annotation>
 +								<xsd:documentation>enthält Parameter für die SOAP-Verbindung von der 
 +									AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server; 
 +									wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden; 
 +									wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben 
 +									werden; wird das Element nicht verwendet dann wird MOA-SP über das API 
 +									aufgerufen</xsd:documentation>
 +							</xsd:annotation>
 +						</xsd:element>
 +						<xsd:element name="VerifyIdentityLink">
 +							<xsd:annotation>
 +								<xsd:documentation>enthält Parameter für die Überprüfung der 
 +									Personenbindung</xsd:documentation>
 +							</xsd:annotation>
 +							<xsd:complexType>
 +								<xsd:sequence>
 +									<xsd:element ref="TrustProfileID"/>
 +								</xsd:sequence>
 +							</xsd:complexType>
 +						</xsd:element>
 +						<xsd:element name="VerifyAuthBlock">
 +							<xsd:annotation>
 +								<xsd:documentation>enthält Parameter für die Überprüfung des 
 +									AUTH-Blocks</xsd:documentation>
 +							</xsd:annotation>
 +							<xsd:complexType>
 +								<xsd:sequence>
 +									<xsd:element ref="TrustProfileID"/>
 +									<xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
 +								</xsd:sequence>
 +							</xsd:complexType>
 +						</xsd:element>
 +					</xsd:sequence>
 +				</xsd:complexType>
 +			</xsd:element>
 +			<xsd:element name="IdentityLinkSigners">
 +				<xsd:annotation>
 +					<xsd:documentation>enthält Informationen über akzeptierte Signers des 
 +						IdentityLinks</xsd:documentation>
 +				</xsd:annotation>
 +				<xsd:complexType>
 +					<xsd:sequence>
 +						<xsd:element name="X509SubjectName" type="xsd:string" maxOccurs="unbounded">
 +							<xsd:annotation>
 +								<xsd:documentation>akzeptierte Signer des IdentityLinks werden per 
 +									X509SubjectName (Kodierung nach RFC 2253) identifiziert</xsd:documentation>
 +							</xsd:annotation>
 +						</xsd:element>
 +					</xsd:sequence>
 +				</xsd:complexType>
 +			</xsd:element>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="TransformsInfoType">
 +		<xsd:annotation>
 +			<xsd:documentation>das Attribut filename verweist auf eine Datei mit globalem 
 +				Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo 
 +				werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks 
 +				inkludiert</xsd:documentation>
 +		</xsd:annotation>
 +		<xsd:attribute name="filename" type="xsd:anyURI" use="required"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="ProxyComponentType"/>
 +	<xsd:complexType name="OnlineApplicationType">
 +		<xsd:sequence>
 +			<xsd:element name="AuthComponent" minOccurs="0">
 +				<xsd:annotation>
 +					<xsd:documentation>enthält Parameter über die OA, die die 
 +						Authentisierungs-Komponente betreffen</xsd:documentation>
 +				</xsd:annotation>
 +				<xsd:complexType>
 +					<xsd:sequence>
 +						<!--xsd:element name="IdentificationNumber" minOccurs="0">
 +							<xsd:complexType>
 +								<xsd:sequence>
 +									<xsd:element ref="pr:AbstractSimpleIdentification"/>
 +								</xsd:sequence>
 +							</xsd:complexType>
 +						</xsd:element-->						
 +						<xsd:element name="IdentificationNumber" minOccurs="0">
 +							<xsd:complexType>
 +								<xsd:choice>
 +									<xsd:element ref="pr:Firmenbuchnummer"/>
 +									<xsd:element ref="pr:ZMRzahl"/>
 +									<xsd:element ref="pr:Vereinsnummer"/>
 +									<xsd:element ref="pr:ERJPZahl"/>
 +								</xsd:choice>
 +							</xsd:complexType>
 +						</xsd:element>
 +						<xsd:element name="TransformsInfo" type="TransformsInfoType" minOccurs="0" maxOccurs="unbounded"/>
 +					</xsd:sequence>
 +					<xsd:attribute name="slVersion" use="optional" default="1.1">
 +						<xsd:simpleType>
 +							<xsd:restriction base="xsd:string">
 +								<xsd:enumeration value="1.1"/>
 +								<xsd:enumeration value="1.2"/>
 +							</xsd:restriction>
 +						</xsd:simpleType>
 +					</xsd:attribute>
 +					<xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/>
 +					<xsd:attribute name="provideAUTHBlock" type="xsd:boolean" use="optional" default="false"/>
 +					<xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/>
 +					<xsd:attribute name="provideCertificate" type="xsd:boolean" use="optional" default="false"/>
 +					<!--xsd:element ref="pr:AbstractSimpleIdentification" minOccurs="0" maxOccurs="1"/-->
 +				</xsd:complexType>
 +			</xsd:element>
 +			<xsd:element name="ProxyComponent" minOccurs="0">
 +				<xsd:annotation>
 +					<xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente 
 +						betreffen</xsd:documentation>
 +				</xsd:annotation>
 +				<xsd:complexType>
 +					<xsd:sequence>
 +						<xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType">
 +							<xsd:annotation>
 +								<xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente 
 +									betreffen</xsd:documentation>
 +							</xsd:annotation>
 +						</xsd:element>
 +					</xsd:sequence>
 +					<xsd:attribute name="configFileURL" type="xsd:anyURI" use="optional"/>
 +					<xsd:attribute name="sessionTimeOut" type="xsd:int" use="optional"/>
 +					<xsd:attribute name="loginParameterResolverImpl" type="xsd:string" use="optional"/>
 +					<xsd:attribute name="loginParameterResolverConfiguration" type="xsd:string" use="optional"/>
 +					<xsd:attribute name="connectionBuilderImpl" type="xsd:string" use="optional"/>
 +				</xsd:complexType>
 +			</xsd:element>
 +			<!--xsd:element ref="pr:CorporateBody" minOccurs="0" maxOccurs="1"/-->
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="ConnectionParameterServerAuthType">
 +		<xsd:sequence>
 +			<xsd:element name="AcceptedServerCertificates" type="xsd:anyURI" minOccurs="0">
 +				<xsd:annotation>
 +					<xsd:documentation>URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der 
 +						TLS-Verbindung enthält (keine CA-Zertifikate)</xsd:documentation>
 +				</xsd:annotation>
 +			</xsd:element>
 +		</xsd:sequence>
 +		<xsd:attribute name="URL" type="xsd:anyURI" use="required"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="ConnectionParameterClientAuthType">
 +		<xsd:complexContent>
 +			<xsd:extension base="ConnectionParameterServerAuthType">
 +				<xsd:sequence>
 +					<xsd:element name="ClientKeyStore" minOccurs="0">
 +						<xsd:annotation>
 +							<xsd:documentation>URL zu einem KeyStore, der den privaten Schlüssel, der für 
 +								die TLS-Client-Authentisierung verwendetwird, enthält</xsd:documentation>
 +						</xsd:annotation>
 +						<xsd:complexType>
 +							<xsd:simpleContent>
 +								<xsd:extension base="xsd:anyURI">
 +									<xsd:attribute name="password" type="xsd:string" use="optional"/>
 +								</xsd:extension>
 +							</xsd:simpleContent>
 +						</xsd:complexType>
 +					</xsd:element>
 +				</xsd:sequence>
 +			</xsd:extension>
 +		</xsd:complexContent>
 +	</xsd:complexType>
 +	<xsd:element name="TrustProfileID" type="xsd:string"/>
 +	<xsd:simpleType name="ChainingModeType">
 +		<xsd:restriction base="xsd:string">
 +			<xsd:enumeration value="chaining"/>
 +			<xsd:enumeration value="pkix"/>
 +		</xsd:restriction>
 +	</xsd:simpleType>
 +	<xsd:simpleType name="BKUSelectionType">
 +		<xsd:restriction base="xsd:token">
 +			<xsd:enumeration value="HTMLComplete"/>
 +			<xsd:enumeration value="HTMLSelect"/>
 +		</xsd:restriction>
 +	</xsd:simpleType>
 +</xsd:schema>
 diff --git a/common/res/resources/schemas/PersonData_20_en.xsd b/common/res/resources/schemas/PersonData_20_en.xsd new file mode 100644 index 000000000..e931381cc --- /dev/null +++ b/common/res/resources/schemas/PersonData_20_en.xsd @@ -0,0 +1,1250 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Larissa Naber (Bundeskanzleramt) --> +<!-- 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/20020228#" 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#" 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" substitutionGroup="AbstractPersonData"> +    <xs:annotation> +      <xs:documentation>element of signed person datastructure type</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="CompactPersonData"> +    <xs:annotation> +      <xs:documentation>element of signed person datastructure type</xs:documentation> +    </xs:annotation> +    <xs:complexType> +      <xs:sequence> +        <xs:choice> +          <xs:element ref="CompactPhysicalPerson"/> +          <xs:element ref="CompactCorporateBody"/> +        </xs:choice> +        <xs:choice minOccurs="0" maxOccurs="unbounded"> +          <xs:element ref="InternetAddress"/> +          <xs:element ref="TelephoneAddress"/> +          <xs:element ref="CompactPostalAddress"/> +        </xs:choice> +      </xs:sequence> +    </xs:complexType> +  </xs:element> +  <!-- ### base type for person data ### --> +  <xs:element name="Person" type="AbstractPersonType"> +    <xs:annotation> +      <xs:documentation>element of person type, essential abstract, subsitute PhysicalPerson or CorporateBody instead or use with xsi:type="..."</xs:documentation> +    </xs:annotation> +  </xs:element> +  <!-- ### 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="CompactPhysicalPerson" type="CompactPhysicalPersonType" 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="CompactCorporateBody" type="CompactCorporateBodyType" substitutionGroup="Person"> +    <xs:annotation> +      <xs:documentation>element of corporate body type, derived from Person</xs:documentation> +    </xs:annotation> +  </xs:element> +  <!--### complex child elements of person, also available as standalone ###--> +  <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="CompactName" type="CompactPersonNameType"> +    <xs:annotation> +      <xs:documentation>data related to the person's name</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="AlternativeName"> +    <xs:annotation> +      <xs:documentation>Former name, Artist name, changes of Given name ..., compare AlternativName</xs:documentation> +    </xs:annotation> +    <xs:complexType> +      <xs:complexContent> +        <xs:extension base="PersonNameType"> +          <xs:attribute name="Type" type="AlternativeNameTypeType"/> +        </xs:extension> +      </xs:complexContent> +    </xs:complexType> +  </xs:element> +  <xs:element name="relatedPerson"> +    <xs:annotation> +      <xs:documentation>relatives (parents, ...), compare Verwandter</xs:documentation> +    </xs:annotation> +    <xs:complexType> +      <xs:sequence> +        <xs:element name="TypeOfRelation" type="RelationType" minOccurs="0" maxOccurs="unbounded"> +          <xs:annotation> +            <xs:documentation>type of the relationship, compare Verwandschftsgrad</xs:documentation> +          </xs:annotation> +        </xs:element> +        <xs:element ref="PhysicalPerson"/> +      </xs:sequence> +    </xs:complexType> +  </xs:element> +  <!-- ### adress data for various types of communications ### --> +  <xs:element name="Address" type="AbstractAddressType"> +    <xs:annotation> +      <xs:documentation>element of address type, essentially abstract. Use InternetAddress, TelephoneAddress, PostalAddress, TypedPostalAddress instead, or use Address with xsi:type Attribute</xs:documentation> +    </xs:annotation> +  </xs:element> +  <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="CompactPostalAddress" type="CompactPostalAddressType" substitutionGroup="Address"> +    <xs:annotation> +      <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="TypedPostalAddress" type="TypedPostalAddressType" substitutionGroup="Address"> +    <xs:annotation> +      <xs:documentation>Typed Postal or ZMR Address, compare TypisiertePostAdresse</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="InternetAddress" type="InternetAddressType" substitutionGroup="Address"> +    <xs:annotation> +      <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="TelephoneAddress" type="TelephoneAddressType" substitutionGroup="Address"> +    <xs:annotation> +      <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="BankConnection"> +    <xs:annotation> +      <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation> +    </xs:annotation> +    <xs:complexType> +      <xs:complexContent> +        <xs:extension base="BankConnectionType"> +          <xs:attribute name="type" type="BankConnectionTypeType" use="optional"/> +        </xs:extension> +      </xs:complexContent> +    </xs:complexType> +  </xs:element> +  <!-- ###  Identification elements ###--> +  <!--xs:element name="AbstractSimpleIdentification" type="xs:string"> +    <xs:annotation> +      <xs:documentation>possibility to include common austrian primary keys in human readable way, english translation not available</xs:documentation> +    </xs:annotation> +  </xs:element--> +  <xs:element name="AbstractSimpleIdentification" type="AbstractSimpleIdentificationType"> +    <xs:annotation> +      <xs:documentation>possibility to include common austrian primary keys in human readable way, english translation not available</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="ZMRzahl" substitutionGroup="AbstractSimpleIdentification"> +	  <xs:complexType> +	      <xs:simpleContent> +	        <xs:extension base="AbstractSimpleIdentificationType"> +	          <xs:attribute name="ShortForm" type="xs:string" fixed="ZMR"/> +	        </xs:extension> +	      </xs:simpleContent> +	    </xs:complexType> +  </xs:element> +  <xs:element name="Stammzahl" type="AbstractSimpleIdentificationType" substitutionGroup="AbstractSimpleIdentification"/> +  <xs:element name="Firmenbuchnummer" substitutionGroup="AbstractSimpleIdentification"> +	  <xs:complexType> +	      <xs:simpleContent> +	        <xs:extension base="AbstractSimpleIdentificationType"> +	          <xs:attribute name="ShortForm" type="xs:string" fixed="FN"/> +	        </xs:extension> +	      </xs:simpleContent> +	    </xs:complexType> +  </xs:element> +  <xs:element name="ERJPZahl" substitutionGroup="AbstractSimpleIdentification"> +    <xs:annotation> +      <xs:documentation>Ergänzungsregister für nicht-natürliche Personen (CorporateBody)</xs:documentation> +    </xs:annotation> +    <xs:complexType> +      <xs:simpleContent> +        <xs:extension base="AbstractSimpleIdentificationType"> +          <xs:attribute name="ShortForm" type="xs:string" fixed="ERJ"/> +        </xs:extension> +      </xs:simpleContent> +    </xs:complexType> +  </xs:element> +  <xs:element name="Vereinsnummer" substitutionGroup="AbstractSimpleIdentification"> +	  <xs:complexType> +	      <xs:simpleContent> +	        <xs:extension base="AbstractSimpleIdentificationType"> +	          <xs:attribute name="ShortForm" type="xs:string" fixed="VR"/> +	        </xs:extension> +	      </xs:simpleContent> +	    </xs:complexType> +  </xs:element>	    +  <xs:element name="Sozialversicherungsnummer" type="AbstractSimpleIdentificationType" substitutionGroup="AbstractSimpleIdentification"/> +  <xs:element name="Steuernummer" type="AbstractSimpleIdentificationType" substitutionGroup="AbstractSimpleIdentification"/> +  <xs:element name="Matrikelnummer" type="AbstractSimpleIdentificationType" substitutionGroup="AbstractSimpleIdentification"/> +  <!-- ###  additional telecom elements - not used internally - german translation not available ###--> +  <xs:element name="Telephone" type="TelcomNumberType"/> +  <xs:element name="Mobile" type="MobileTelcomNumberType"/> +  <xs:element name="Fax" type="TelcomNumberType"/> +  <xs:element name="Pager" type="TelcomNumberType"/> +  <xs:element name="TTYTDD" type="TelcomNumberType"> +    <xs:annotation> +      <xs:documentation>teletyper or telephone for the hearing impaired</xs:documentation> +    </xs:annotation> +  </xs:element> +  <!--### elements of simple type ####--> +  <xs:element name="MaritalStatus" type="MaritalStatusType"> +    <xs:annotation> +      <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="Sex" type="SexType"> +    <xs:annotation> +      <xs:documentation>gender, comapre Geschlecht</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="DateOfBirth" type="DateOfBirthType"> +    <xs:annotation> +      <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="DateOfDeath" type="DateOfDeathType"> +    <xs:annotation> +      <xs:documentation>date of death, compare Sterbedatum</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="PlaceOfBirth" type="xs:token"> +    <xs:annotation> +      <xs:documentation>place of birth, compare Geburtsort</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="CountryOfBirth" type="xs:token"> +    <xs:annotation> +      <xs:documentation>country of birth, compare Geburtsland</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="StateOfBirth" type="xs:token"> +    <xs:annotation> +      <xs:documentation>state of birth, comapre Geburtsbundesland</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="Nationality" type="NationalityType"> +    <xs:annotation> +      <xs:documentation>nationality of Person, compare Staatsangehoerigkeit. attention! New Fomrat is complex, string value accepted for compatibility only</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="Confession" type="xs:token"> +    <xs:annotation> +      <xs:documentation>confession (religion) of Person - xs:token? gibt es wirklich keine Staaten mit Leerzeichen im Namen?</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="Occupation" type="xs:string"> +    <xs:annotation> +      <xs:documentation>occupation, compare Beruf</xs:documentation> +    </xs:annotation> +  </xs:element> +  <!--### complex telephone types ###--> +  <xs:element name="InternationalCountryCode" type="xs:string"> +    <xs:annotation> +      <xs:documentation>compare InternationalerLaendercode</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="NationalNumber" type="xs:string"> +    <xs:annotation> +      <xs:documentation>compare NationalNummer</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="AreaCityCode" type="xs:string"> +    <xs:annotation> +      <xs:documentation>compare Vorwahl</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="SubscriberNumber" type="xs:string"> +    <xs:annotation> +      <xs:documentation>compare Anschlussnummer</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="FormattedNumber" type="xs:string"> +    <xs:annotation> +      <xs:documentation>Complete number, ready formated - e.g. +43 1 5131345 4664  compare FormatierteNummer</xs:documentation> +    </xs:annotation> +  </xs:element> +  <xs:element name="Extension" type="xs:string"> +    <xs:annotation> +      <xs:documentation>compare Klappe</xs:documentation> +    </xs:annotation> +  </xs:element> +  <!--### complex types ###--> +  <xs:complexType name="AbstractSimpleIdentificationType"> +	  <xs:simpleContent> +	    <xs:extension base="xs:string"/> +	  </xs:simpleContent> +  </xs:complexType> +  <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:complexContent> +      <xs:extension base="AbstractPersonType"> +        <xs:sequence> +          <xs:element ref="Person"/> +          <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/> +          <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"> +            <xs:annotation> +              <xs:documentation>one or more electronic signatures applied on fields above</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="AdditionalData" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>container for your Information needs. Contained Elements must reside in a different Namespace</xs:documentation> +            </xs:annotation> +            <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="CompactPersonDataType"> +    <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:complexContent> +      <xs:extension base="AbstractPersonType"> +        <xs:sequence> +          <xs:element ref="Person"/> +          <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/> +          <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded"> +            <xs:annotation> +              <xs:documentation>one or more electronic signatures applied on fields above</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="AdditionalData" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>container for your Information needs. Contained Elements must reside in a different Namespace</xs:documentation> +            </xs:annotation> +            <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:element name="Identification"> +	  <xs:complexType> +	    <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:element name="Authority" type="xs:anyURI" minOccurs="0"> +	        <xs:annotation> +	          <xs:documentation>authority, which is reponsible for generation of the identifier (eg university in case of 'MatrikelNummer')</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:element> +  <xs:complexType name="AbstractPersonType"> +    <xs:annotation> +      <xs:documentation>main structure of person data</xs:documentation> +    </xs:annotation> +    <xs:choice minOccurs="0"> +      <xs:element ref="Identification" minOccurs="0" maxOccurs="unbounded"> +        <xs:annotation> +          <xs:documentation>unique identification entities</xs:documentation> +        </xs:annotation> +      </xs:element> +      <xs:element ref="AbstractSimpleIdentification" minOccurs="0" maxOccurs="unbounded"/> +    </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, compare NatuerlichePersonTyp</xs:documentation> +    </xs:annotation> +    <xs:complexContent> +      <xs:extension base="AbstractPersonType"> +        <xs:sequence minOccurs="0"> +          <xs:element ref="Name" minOccurs="0"/> +          <xs:element ref="AlternativeName" minOccurs="0" maxOccurs="unbounded"/> +          <xs:element ref="MaritalStatus" minOccurs="0"/> +          <xs:element ref="Sex" minOccurs="0"/> +          <xs:element ref="DateOfBirth" minOccurs="0"/> +          <xs:element ref="PlaceOfBirth" minOccurs="0"/> +          <xs:element ref="StateOfBirth" minOccurs="0"/> +          <xs:element ref="CountryOfBirth" minOccurs="0"/> +          <xs:element ref="DateOfDeath" minOccurs="0"/> +          <xs:element ref="Nationality" minOccurs="0" maxOccurs="unbounded"/> +          <xs:element ref="Confession" minOccurs="0"/> +          <xs:element ref="Occupation" minOccurs="0"/> +          <xs:element ref="relatedPerson" minOccurs="0" maxOccurs="unbounded"/> +          <xs:element ref="BankConnection" minOccurs="0" maxOccurs="unbounded"/> +          <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="CompactPhysicalPersonType"> +    <xs:annotation> +      <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation> +    </xs:annotation> +    <xs:complexContent> +      <xs:extension base="AbstractPersonType"> +        <xs:sequence minOccurs="0"> +          <xs:element ref="CompactName"/> +          <xs:element ref="MaritalStatus" minOccurs="0"/> +          <xs:element ref="Sex" minOccurs="0"/> +          <xs:element ref="DateOfBirth" minOccurs="0"/> +          <xs:element ref="PlaceOfBirth" minOccurs="0"/> +          <xs:element ref="Nationality" minOccurs="0" maxOccurs="unbounded"/> +          <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="CorporateBodyType"> +    <xs:annotation> +      <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation> +    </xs:annotation> +    <xs:complexContent> +      <xs:extension base="AbstractPersonType"> +        <xs:sequence minOccurs="0"> +          <xs:element name="Type" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"> +            <xs:annotation> +              <xs:documentation>URI pointing to a predefined Class of CorporateBodies, compare Typ</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="FullName" type="xs:token" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>name of corporate body (whole name), compare VollerName</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="AlternativeName" type="xs:token" minOccurs="0" maxOccurs="unbounded"> +            <xs:annotation> +              <xs:documentation>alternative names of corporate body (abbreviations, short name, synonyms, ...), comapre AlternativName</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="LegalForm" type="xs:anyURI" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>type of company (eg AG, OHG, ...), URI pointing to predefined LegalForm, compare Rechtsform</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:element ref="BankConnection" minOccurs="0" maxOccurs="unbounded"/> +          <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="CompactCorporateBodyType"> +    <xs:annotation> +      <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation> +    </xs:annotation> +    <xs:complexContent> +      <xs:extension base="AbstractPersonType"> +        <xs:sequence minOccurs="0"> +          <xs:element name="Type" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"> +            <xs:annotation> +              <xs:documentation>URI pointing to a predefined Class of CorporateBodies, compare Typ</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="LegalForm" type="xs:anyURI" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>type of company (eg AG, OHG, ...), URI pointing to predefined LegalForm, compare Rechtsform</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: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="PersonNameType"> +    <xs:annotation> +      <xs:documentation>container for parts of a name, comapre PersonenNameTyp</xs:documentation> +    </xs:annotation> +    <xs:sequence> +      <xs:element name="FormattedName" minOccurs="0" maxOccurs="unbounded"> +        <xs:annotation> +          <xs:documentation>Complete Name (including Affixes) of the Person, especially useful for names from different cultural environments</xs:documentation> +        </xs:annotation> +        <xs:complexType> +          <xs:simpleContent> +            <xs:extension base="xs:string"> +              <xs:attribute name="type" default="presentation"> +                <xs:simpleType> +                  <xs:restriction base="xs:string"> +                    <xs:enumeration value="presentation"/> +                    <xs:enumeration value="legal"/> +                    <xs:enumeration value="sortOrder"/> +                  </xs:restriction> +                </xs:simpleType> +              </xs:attribute> +            </xs:extension> +          </xs:simpleContent> +        </xs:complexType> +      </xs:element> +      <xs:element name="LegalName" type="xs:string" minOccurs="0"/> +      <xs:element name="GivenName" type="xs:string" minOccurs="0" maxOccurs="unbounded"> +        <xs:annotation> +          <xs:documentation>Every given name should be  contained inside a GivenName Tag. If that is not possible due to dabase contraints, ... putting several given names inside one GivenName Element is acceptable</xs:documentation> +        </xs:annotation> +      </xs:element> +      <xs:element name="PreferredGivenName" type="xs:string" minOccurs="0"> +        <xs:annotation> +          <xs:documentation>A Person in possesion of more than one GivenName frequently preferrs the use of a Name other than the first GivenName</xs:documentation> +        </xs:annotation> +      </xs:element> +      <xs:element name="MiddleName" type="xs:string" minOccurs="0"> +        <xs:annotation> +          <xs:documentation>MiddleNames are not commonly found in central Europe. The field is mainly for compatibility reasons</xs:documentation> +        </xs:annotation> +      </xs:element> +      <xs:element name="FamilyName" minOccurs="0" maxOccurs="unbounded"> +        <xs:annotation> +          <xs:documentation>Every family name should be  contained inside a FamilyName Tag. If that is not possible due to dabase contraints, ... putting several family names inside one FamilyName Element is acceptable</xs:documentation> +        </xs:annotation> +        <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="optional"> +                <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="CompactPersonNameType"> +    <xs:annotation> +      <xs:documentation>container for parts of a name, comapre PersonenNameTyp</xs:documentation> +    </xs:annotation> +    <xs:sequence> +      <xs:element name="GivenName" type="xs:string" maxOccurs="unbounded"> +        <xs:annotation> +          <xs:documentation>Every given name should be  contained inside a GivenName Tag. If that is not possible due to dabase contraints, ... putting several given names inside one GivenName Element is acceptable</xs:documentation> +        </xs:annotation> +      </xs:element> +      <xs:element name="FamilyName" maxOccurs="unbounded"> +        <xs:annotation> +          <xs:documentation>Every family name should be  contained inside a FamilyName Tag. If that is not possible due to dabase contraints, ... putting several family names inside one FamilyName Element is acceptable</xs:documentation> +        </xs:annotation> +        <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="optional"> +                <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="NationalityType" mixed="true"> +    <xs:annotation> +      <xs:documentation>comapre, StaatsangehoerigkeitTyp</xs:documentation> +    </xs:annotation> +    <xs:sequence> +      <xs:element name="ISOCode3" minOccurs="0"> +        <xs:simpleType> +          <xs:restriction base="xs:string"> +            <xs:length value="3"/> +          </xs:restriction> +        </xs:simpleType> +      </xs:element> +      <xs:element name="CountryNameDE" type="xs:string" minOccurs="0"/> +      <xs:element name="CountryNameEN" type="xs:string" minOccurs="0"/> +      <xs:element name="CountryNameFR" type="xs:string" minOccurs="0"/> +      <xs:any namespace="##other" processContents="lax"/> +    </xs:sequence> +  </xs:complexType> +  <xs:complexType name="BankConnectionType"> +    <xs:annotation> +      <xs:documentation>compare BankverbindungTyp</xs:documentation> +    </xs:annotation> +    <xs:sequence> +      <xs:element name="Holder" type="xs:string" minOccurs="0"> +        <xs:annotation> +          <xs:documentation>Account holder, compare Inhaber</xs:documentation> +        </xs:annotation> +      </xs:element> +      <xs:element name="BankName" type="xs:string" minOccurs="0"> +        <xs:annotation> +          <xs:documentation>compare BankName</xs:documentation> +        </xs:annotation> +      </xs:element> +      <xs:choice> +        <xs:element name="NationalBankConnection"> +          <xs:annotation> +            <xs:documentation>compare NationaleBankverbindung</xs:documentation> +          </xs:annotation> +          <xs:complexType> +            <xs:sequence> +              <xs:element name="AccountNumber" type="xs:integer"> +                <xs:annotation> +                  <xs:documentation>compare Kontonummer</xs:documentation> +                </xs:annotation> +              </xs:element> +              <xs:element name="BankCode" type="xs:integer"> +                <xs:annotation> +                  <xs:documentation>compare BLZ</xs:documentation> +                </xs:annotation> +              </xs:element> +            </xs:sequence> +          </xs:complexType> +        </xs:element> +        <xs:element name="InternationalBankConnection"> +          <xs:annotation> +            <xs:documentation>compare InternationaleBankverbindung</xs:documentation> +          </xs:annotation> +          <xs:complexType> +            <xs:sequence> +              <xs:element name="IBAN" type="xs:string"> +                <xs:annotation> +                  <xs:documentation>compare IBAN</xs:documentation> +                </xs:annotation> +              </xs:element> +              <xs:element name="BIC" type="xs:string"> +                <xs:annotation> +                  <xs:documentation>comapre BIC</xs:documentation> +                </xs:annotation> +              </xs:element> +            </xs:sequence> +          </xs:complexType> +        </xs:element> +      </xs:choice> +    </xs:sequence> +  </xs:complexType> +  <xs:complexType name="AbstractAddressType"> +    <xs:annotation> +      <xs:documentation>main structure of address data</xs:documentation> +    </xs:annotation> +    <xs:sequence minOccurs="0"> +      <xs:element ref="Identification" minOccurs="0" maxOccurs="unbounded"> +        <xs:annotation> +          <xs:documentation>unique identification entities</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="TypedPostalAddressType"> +    <xs:annotation> +      <xs:documentation>postal address with type information, compare TypisiertePostAdresseTyp</xs:documentation> +    </xs:annotation> +    <xs:complexContent> +      <xs:extension base="AbstractAddressType"> +        <xs:sequence minOccurs="0"> +          <xs:element name="Type" type="xs:anyURI" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>type of address - category (eg 'Wohnsitz', 'Zentrale', ...)</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element ref="PostalAddress"/> +          <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="PostalAddressType"> +    <xs:annotation> +      <xs:documentation>compare PostAdresseTyp</xs:documentation> +    </xs:annotation> +    <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="CountryName" type="xs:string" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>Name of the country, use ISO Name, or international Postal Standard, compare Staatsname</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="PostalCode" type="xs:string" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>ZIP, compare Postleitzahl</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="Region" type="xs:string" minOccurs="0" maxOccurs="unbounded"> +            <xs:annotation> +              <xs:documentation>compare Region</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="State" type="xs:string" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>compare Bundesland</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="Municipality" type="xs:string" minOccurs="0"> +            <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="Hamlet" type="xs:string" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>ZMR use, compare Ortschaft</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="HamletBilingual" type="xs:string" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>ZMR use, comapre OrtschaftZweisprachig</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="DeliveryAddress" minOccurs="0"> +            <xs:complexType> +              <xs:sequence> +                <xs:element name="AddressLine" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> +                <xs:element name="StreetName" type="xs:string" minOccurs="0"/> +                <xs:element name="BuildingNumber" type="xs:string" minOccurs="0"/> +                <xs:element name="Unit" type="xs:string" minOccurs="0"/> +                <xs:element name="DoorNumber" type="xs:string" minOccurs="0"/> +                <xs:element name="PostOfficeBox" type="xs:string" minOccurs="0"/> +                <xs:element name="LivingQuality" type="xs:string" minOccurs="0"> +                  <xs:annotation> +                    <xs:documentation>zmr use only</xs:documentation> +                  </xs:annotation> +                </xs:element> +                <xs:element name="DropOffPoint" type="xs:boolean" minOccurs="0"> +                  <xs:annotation> +                    <xs:documentation>zmr use only</xs:documentation> +                  </xs:annotation> +                </xs:element> +                <xs:element name="AreaNumber" type="xs:string" minOccurs="0"/> +                <xs:element name="AddressRegisterEntry" minOccurs="0"> +                  <xs:annotation> +                    <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation> +                  </xs:annotation> +                  <xs:complexType> +                    <xs:sequence> +                      <xs:element name="AddressCode" type="string7"/> +                      <xs:element name="SubCode" type="string3" minOccurs="0"/> +                      <xs:element name="ObjectNumber" type="string7" minOccurs="0"/> +                    </xs:sequence> +                  </xs:complexType> +                </xs:element> +              </xs:sequence> +            </xs:complexType> +          </xs:element> +          <xs:element name="Recipient" minOccurs="0" maxOccurs="unbounded"> +            <xs:annotation> +              <xs:documentation>If Addressis used outside of PersonData a recipient can be specified</xs:documentation> +            </xs:annotation> +            <xs:complexType> +              <xs:sequence> +                <xs:element name="PersonName" type="PersonNameType" minOccurs="0"/> +                <xs:element name="AdditionalText" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> +                <xs:element name="Organization" type="xs:string" minOccurs="0"> +                  <xs:annotation> +                    <xs:documentation>rather OrganizationUnit e.G Sales Departement</xs:documentation> +                  </xs:annotation> +                </xs:element> +                <xs:element name="OrganizationName" type="xs:string" minOccurs="0"> +                  <xs:annotation> +                    <xs:documentation>e.g. Smith Ltd</xs:documentation> +                  </xs:annotation> +                </xs:element> +              </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="CompactPostalAddressType"> +    <xs:annotation> +      <xs:documentation>compare PostAdresseTyp</xs:documentation> +    </xs:annotation> +    <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="CountryName" type="xs:string" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>Name of the country, use ISO Name, or international Postal Standard, compare Staatsname</xs:documentation> +            </xs:annotation> +          </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:annotation> +                    <xs:documentation>if streetname not available use name of Ortschaft</xs:documentation> +                  </xs:annotation> +                </xs:element> +                <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>e.g. e-mail, webiste, compare InternetAdresseTyp</xs:documentation> +    </xs:annotation> +    <xs:complexContent> +      <xs:extension base="AbstractAddressType"> +        <xs:sequence minOccurs="0"> +          <xs:element ref="dsig:KeyInfo" minOccurs="0"> +            <xs:annotation> +              <xs:documentation>certificate for secure communication</xs:documentation> +            </xs:annotation> +          </xs:element> +          <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: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="TelephoneAddressType"> +    <xs:annotation> +      <xs:documentation>phone numbers, conmpare TelephoneAdresseTyp</xs:documentation> +    </xs:annotation> +    <xs:complexContent> +      <xs:extension base="AbstractAddressType"> +        <xs:sequence minOccurs="0"> +          <xs:element name="Type" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"> +            <xs:annotation> +              <xs:documentation>type of phononumber - category (eg 'Festnetz', 'Mobile', 'fax', ...)</xs:documentation> +            </xs:annotation> +          </xs:element> +          <xs:element name="Number" type="TelcomNumberType"> +            <xs:annotation> +              <xs:documentation>phonenumber</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="MobileTelcomNumberType"> +    <xs:annotation> +      <xs:documentation>like TelephoneAddresseType but with additional smsEnabled attribute</xs:documentation> +    </xs:annotation> +    <xs:complexContent> +      <xs:extension base="TelcomNumberType"> +        <xs:attribute name="smsEnabled" type="xs:boolean" use="optional"/> +      </xs:extension> +    </xs:complexContent> +  </xs:complexType> +  <xs:complexType name="TelcomNumberType"> +    <xs:annotation> +      <xs:documentation>formated number or set of telephone number parts</xs:documentation> +    </xs:annotation> +    <xs:choice> +      <xs:element ref="FormattedNumber"/> +      <xs:group ref="TelcomNumberGroup"/> +    </xs:choice> +  </xs:complexType> +  <xs:group name="TelcomNumberGroup"> +    <xs:annotation> +      <xs:documentation>set of telephone number parts</xs:documentation> +    </xs:annotation> +    <xs:sequence> +      <xs:element ref="InternationalCountryCode" minOccurs="0"/> +      <xs:element ref="NationalNumber" minOccurs="0"/> +      <xs:element ref="AreaCityCode" minOccurs="0"/> +      <xs:element ref="SubscriberNumber"/> +      <xs:element ref="Extension" minOccurs="0"/> +    </xs:sequence> +  </xs:group> +  <!-- ### auxiliary types ### --> +  <xs:simpleType name="BankConnectionTypeType"> +    <xs:annotation> +      <xs:documentation>known + any other bank account types</xs:documentation> +    </xs:annotation> +    <xs:union memberTypes="xStringPatternExtensionType DefinedBankConnectionTypeType"/> +  </xs:simpleType> +  <xs:simpleType name="DefinedBankConnectionTypeType"> +    <xs:annotation> +      <xs:documentation>known/commin type of bank accounts</xs:documentation> +    </xs:annotation> +    <xs:restriction base="xs:string"/> +  </xs:simpleType> +  <xs:simpleType name="SexType"> +    <xs:annotation> +      <xs:documentation>simple type for sex (gender) of person</xs:documentation> +    </xs:annotation> +    <xs:restriction base="xs:token"> +      <xs:enumeration value="male"/> +      <xs:enumeration value="female"/> +      <xs:enumeration value="unknown"/> +    </xs:restriction> +  </xs:simpleType> +  <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="DateOfDeathType"> +    <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="MaritalStatusType"> +    <xs:annotation> +      <xs:documentation>simple type for marital status of a person</xs:documentation> +    </xs:annotation> +    <xs:restriction base="xs:token"> +      <xs:enumeration value="single"/> +      <xs:enumeration value="married"/> +      <xs:enumeration value="divorced"/> +      <xs:enumeration value="widowed"/> +    </xs:restriction> +  </xs:simpleType> +  <xs:simpleType name="xStringPatternExtensionType"> +    <xs:annotation> +      <xs:documentation>pattern type for enlargement of type definitions. Contents as follows  +x:sometext or 12345 or _ or  other symbols +</xs:documentation> +    </xs:annotation> +    <xs:restriction base="xs:string"> +      <xs:pattern value="x:\S.*"/> +    </xs:restriction> +  </xs:simpleType> +  <xs:simpleType name="DefinedRelationType"> +    <xs:annotation> +      <xs:documentation>known relations (family + functional)</xs:documentation> +    </xs:annotation> +    <xs:restriction base="xs:string"> +      <xs:enumeration value="family:Parent"/> +      <xs:enumeration value="family:Child"/> +      <xs:enumeration value="family:Sibling"/> +      <xs:enumeration value="family:Grandparent"/> +      <xs:enumeration value="family:Grandchild"/> +      <xs:enumeration value="family:Spouse"/> +      <xs:enumeration value="function:LegalGuardian"/> +      <xs:enumeration value="function:IsGuardedBy"/> +      <xs:enumeration value="function:Cohabitant"/> +    </xs:restriction> +  </xs:simpleType> +  <xs:simpleType name="RelationType"> +    <xs:annotation> +      <xs:documentation>known + any other relation</xs:documentation> +    </xs:annotation> +    <xs:union memberTypes="xStringPatternExtensionType DefinedRelationType"/> +  </xs:simpleType> +  <xs:simpleType name="DefinedAlternativeNameTypeType"> +    <xs:annotation> +      <xs:documentation>known types of alternative names</xs:documentation> +    </xs:annotation> +    <xs:restriction base="xs:string"> +      <xs:enumeration value="ArtistName"/> +      <xs:enumeration value="NickName"/> +      <xs:enumeration value="FormerName"/> +      <xs:enumeration value="Alias"/> +      <xs:enumeration value="MaidenName"/> +    </xs:restriction> +  </xs:simpleType> +  <xs:simpleType name="AlternativeNameTypeType"> +    <xs:annotation> +      <xs:documentation>known + any other alternative name types</xs:documentation> +    </xs:annotation> +    <xs:union memberTypes="xStringPatternExtensionType DefinedAlternativeNameTypeType"/> +  </xs:simpleType> +  <!-- ### additional data types for ZMR address #### --> +  <xs:simpleType name="FederalStateType"> +    <xs:annotation> +      <xs:documentation>zmr use only</xs:documentation> +    </xs:annotation> +    <xs:restriction base="xs:string"> +      <xs:enumeration value="Wien"/> +      <xs:enumeration value="Niederösterreich"/> +      <xs:enumeration value="Burgenland"/> +      <xs:enumeration value="Oberösterreich"/> +      <xs:enumeration value="Steiermark"/> +      <xs:enumeration value="Salzburg"/> +      <xs:enumeration value="Kärnten"/> +      <xs:enumeration value="Tirol"/> +      <xs:enumeration value="Vorarlberg"/> +    </xs:restriction> +  </xs:simpleType> +  <!-- ### strings of defined maximum lenght for use with ZMR address ###--> +  <xs:simpleType name="string3"> +    <xs:restriction base="xs:string"> +      <xs:maxLength value="3"/> +    </xs:restriction> +  </xs:simpleType> +  <xs:simpleType name="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> | 
