summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2019-07-19 10:35:29 +0200
committerThomas Lenz <thomas.lenz@egiz.gv.at>2019-07-19 10:35:29 +0200
commit2c3c1d6bb748a0655a83fdf4cd26135042d898b9 (patch)
tree6feabd6d3a6a3aed7751154053b3487de4959d6d
parent2d03e741a91f6155dce75952b0174e3e52a12740 (diff)
downloadegovutils-2c3c1d6bb748a0655a83fdf4cd26135042d898b9.tar.gz
egovutils-2c3c1d6bb748a0655a83fdf4cd26135042d898b9.tar.bz2
egovutils-2c3c1d6bb748a0655a83fdf4cd26135042d898b9.zip
USP client integration2.0.7
switch to v2.0.7
-rw-r--r--generatesources.bat2
-rw-r--r--pom.xml16
-rw-r--r--src/main/java/at/gv/util/LoggingHandler.java41
-rw-r--r--src/main/java/at/gv/util/client/mis/usp_v2/USPClient.java171
-rw-r--r--src/main/java/at/gv/util/client/mis/usp_v2/USPClientException.java14
-rw-r--r--src/main/java/at/gv/util/client/mis/usp_v2/VDDSRoleGenerationStrategy.java83
-rw-r--r--src/main/java/at/gv/util/client/szr/IRoleGenerationStrategy.java15
-rw-r--r--src/main/java/at/gv/util/client/szr/PVP2XHTTPHeaderHandler.java (renamed from src/main/java/at/gv/util/client/szr/SZRHTTPHeaderHandler.java)68
-rw-r--r--src/main/java/at/gv/util/client/szr/SZRClient.java4
-rw-r--r--src/main/java/at/gv/util/config/EgovUtilConfiguration.java3
-rw-r--r--src/main/java/at/gv/util/config/EgovUtilPropertiesConfiguration.java15
-rw-r--r--src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateFault.java2
-rw-r--r--src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateStateFault.java2
-rw-r--r--src/main/java/at/gv/util/wsdl/mis/usp_v2/ISyncService.java2
-rw-r--r--src/main/java/at/gv/util/wsdl/mis/usp_v2/ListMandatesFault.java2
-rw-r--r--src/main/java/at/gv/util/wsdl/mis/usp_v2/RequestModificationTokenFault.java2
-rw-r--r--src/main/java/at/gv/util/wsdl/mis/usp_v2/SynchronisationServiceServiceagent.java2
-rw-r--r--src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateFault.java2
-rw-r--r--src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateStateFault.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/FilterType.java30
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesRequest.java6
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesResponseType.java4
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateAttributesSearchFilterType.java51
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateIDSearchFilterType.java31
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ObjectFactory.java90
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationFilter.java31
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationType.java43
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/SearchCriteriaTestType.java62
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/SearchCriteriaType.java97
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/PropertiesType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/SimpleMandateContentType.java12
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactCorporateBodyType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPersonDataType.java18
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPhysicalPersonType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CorporateBodyType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/IdentificationType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/InternetAddressType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/NationalityType.java12
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PersonDataType.java18
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PhysicalPersonType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TelephoneAddressType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TypedPostalAddressType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/DigestMethodType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyInfoType.java20
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyValueType.java10
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/ObjectType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/PGPDataType.java4
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SPKIDataType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignatureMethodType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignaturePropertyType.java2
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/TransformType.java4
-rw-r--r--src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/X509DataType.java10
-rw-r--r--src/main/resources/wsdl/custom-bindings/mis-usp_v2-wsdl.xml3
-rw-r--r--src/main/resources/wsdl/mis/usp_v2/Synchronisation-1.wsdl5123
-rw-r--r--src/main/resources/wsdl/mis/usp_v2/Synchronisation-1_backup.wsdl2632
-rw-r--r--src/main/resources/wsdl/mis/usp_v2/Synchronisation.wsdl2627
-rw-r--r--src/test/java/at/gv/util/demo/Clienttests.java247
-rw-r--r--src/test/java/at/gv/util/demo/ZuseSSLTest.java136
58 files changed, 8934 insertions, 2863 deletions
diff --git a/generatesources.bat b/generatesources.bat
index df2785c..f2164ce 100644
--- a/generatesources.bat
+++ b/generatesources.bat
@@ -39,4 +39,4 @@ REM "%APACHE_CXF%\bin\wsdl2java.bat" -b ./src/main/resources/wsdl/custom-binding
REM "%APACHE_CXF%\bin\wsdl2java.bat" -b ./src/main/resources/wsdl/custom-bindings/szr-wsdl.xml -b ./src/main/resources/wsdl/custom-bindings/szr-schemas.xml -b ./src/main/resources/wsdl/szr/szr_pvp.xsd -b ./src/main/resources/wsdl/szr/szr_pvp_sec.xsd -encoding utf-8 -d ./wsdlsources ./src/main/resources/wsdl/szr/SZR_v2.0.wsdl
-"%APACHE_CXF%\bin\wsdl2java.bat" -b ./src/main/resources/wsdl/custom-bindings/mis-usp_v2-wsdl.xml -encoding utf-8 -d ./wsdlsources ./src/main/resources/wsdl/mis/usp_v2/Synchronisation-1.wsdl \ No newline at end of file
+"%APACHE_CXF%\bin\wsdl2java.bat" -b xmlbeans -b ./src/main/resources/wsdl/custom-bindings/mis-usp_v2-wsdl.xml -encoding utf-8 -d ./wsdlsources ./src/main/resources/wsdl/mis/usp_v2/Synchronisation.wsdl \ No newline at end of file
diff --git a/pom.xml b/pom.xml
index d17153f..9c96b76 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,12 +5,12 @@
<modelVersion>4.0.0</modelVersion>
<groupId>at.gv.util</groupId>
<artifactId>egovutils</artifactId>
- <version>2.0.7-snapshot</version>
+ <version>2.0.7</version>
<name>zuseutil</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <cxf.version>3.2.1</cxf.version>
+ <cxf.version>3.3.2</cxf.version>
</properties>
<build>
@@ -32,8 +32,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
- <source>1.7</source>
- <target>1.7</target>
+ <source>1.8</source>
+ <target>1.8</target>
</configuration>
</plugin>
</plugins>
@@ -102,11 +102,11 @@
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
- <dependency>
+ <!-- dependency>
<groupId>bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
<version>140</version>
- </dependency>
+ </dependency-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
@@ -126,7 +126,7 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.11</version>
+ <version>1.12</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
@@ -143,7 +143,7 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>4.5.7</version>
+ <version>4.5.9</version>
</dependency>
<dependency>
diff --git a/src/main/java/at/gv/util/LoggingHandler.java b/src/main/java/at/gv/util/LoggingHandler.java
index f5c63c5..f4f2685 100644
--- a/src/main/java/at/gv/util/LoggingHandler.java
+++ b/src/main/java/at/gv/util/LoggingHandler.java
@@ -18,6 +18,11 @@ package at.gv.util;
import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
+import java.util.Arrays;
+import java.util.Base64;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import javax.xml.namespace.QName;
@@ -26,6 +31,7 @@ import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;
+import org.apache.cxf.message.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,11 +46,12 @@ public class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
Logger log = LoggerFactory.getLogger(LoggingHandler.class);
+ @Override
public boolean handleMessage(SOAPMessageContext context) {
- SOAPMessage msg = context.getMessage();
- boolean request = ((Boolean) context
+ final SOAPMessage msg = context.getMessage();
+ final boolean request = ((Boolean) context
.get(SOAPMessageContext.MESSAGE_OUTBOUND_PROPERTY)).booleanValue();
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ final ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
if (request) {
@@ -53,27 +60,43 @@ public class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
msg.writeTo(bos);
}
- OutputStreamWriter writer = new OutputStreamWriter(bos);
- String encoding = writer.getEncoding();
-
-
+ final OutputStreamWriter writer = new OutputStreamWriter(bos);
+ writer.getEncoding();
- log.trace(bos.toString());
+ //log.trace(bos.toString());
log.trace(new String(bos.toByteArray()));
+ log.trace("B64: " + Base64.getEncoder().encodeToString(bos.toByteArray()));
+ final Map<String, List> headers = (Map<String, List>) context.get(Message.PROTOCOL_HEADERS);
+ if (headers != null) {
+ for (final Entry<String, List> el : headers.entrySet()) {
+ if (el.getValue() != null)
+ log.trace("Header: " + el.getKey() + " | Value: " + Arrays.toString(el.getValue().toArray()));
+ else
+ log.trace("Header: " + el.getKey() + " | Value: " + "'null'");
+
+ }
+
+
+ } else
+ log.trace("No HTTP headers");
+
- } catch (Exception e) {
+ } catch (final Exception e) {
log.trace(e.getMessage(), e);
}
return true;
}
+ @Override
public boolean handleFault(SOAPMessageContext context) {
return handleMessage(context);
}
+ @Override
public void close(MessageContext context) {
}
+ @Override
public Set<QName> getHeaders() {
return null;
}
diff --git a/src/main/java/at/gv/util/client/mis/usp_v2/USPClient.java b/src/main/java/at/gv/util/client/mis/usp_v2/USPClient.java
index 4d23a1e..7bbdef9 100644
--- a/src/main/java/at/gv/util/client/mis/usp_v2/USPClient.java
+++ b/src/main/java/at/gv/util/client/mis/usp_v2/USPClient.java
@@ -1,7 +1,9 @@
package at.gv.util.client.mis.usp_v2;
import java.net.URL;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -23,7 +25,7 @@ import org.slf4j.LoggerFactory;
import at.gv.util.LaxHostNameVerifier;
import at.gv.util.LoggingHandler;
import at.gv.util.MiscUtil;
-import at.gv.util.client.szr.SZRHTTPHeaderHandler;
+import at.gv.util.client.szr.PVP2XHTTPHeaderHandler;
import at.gv.util.config.EgovUtilConfiguration;
import at.gv.util.ex.EgovUtilException;
import at.gv.util.wsdl.mis.usp_v2.ISyncService;
@@ -32,18 +34,31 @@ import at.gv.util.wsdl.mis.usp_v2.SynchronisationServiceServiceagent;
import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.ListMandatesRequest;
import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.ListMandatesResponseType;
import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.MandateAttributesSearchFilterType;
+import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.MandateList;
+import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.MandateListType;
+import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.ObjectFactory;
+import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.SearchCriteriaTestType;
+import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.SearchCriteriaType;
+import at.gv.util.xsd.mis.usp_v2.eai.syncmsgs.TimeRangeType;
+import at.gv.util.xsd.mis.usp_v2.mandates.Mandate;
+import at.gv.util.xsd.mis.usp_v2.persondata.IdentificationType;
+import at.gv.util.xsd.mis.usp_v2.persondata.IdentificationType.Value;
import at.gv.util.xsd.szr.pvp.PvpTokenType;
public class USPClient {
- @Resource
- WebServiceContext wsContext;
+ public static final String USP_DATE_PATTERN = "yyyy-MM-dd";
+
+
+ @Resource WebServiceContext wsContext;
private EgovUtilConfiguration config = null;
private Logger log = LoggerFactory.getLogger(USPClient.class);
private boolean logEnabled = true;
private ISyncService uspSuche = null;
+ private SimpleDateFormat formater;
+
public USPClient(EgovUtilConfiguration config, boolean logEnabled) throws EgovUtilException {
MiscUtil.assertNotNull(config, "config");
this.config = config;
@@ -51,65 +66,100 @@ public class USPClient {
initialize();
}
-// public GetMandatesResponse getMandates(String bpkType, String bpkValue, List<String> mandateFilters) {
-//
-// // assemble request
-// GetMandatesRequest request = new GetMandatesRequest();
-// String requestId = createUSPRequestId();
-// log.debug("USP request id: " + requestId);
-// request.setRequestId(requestId);
-// Date date = new Date();
-// try {
-// request.setTimestamp(MiscUtil.getXMLGregorianCalendar(date));
-// } catch (DatatypeConfigurationException e) {
-// log.warn("Error initializing USP client.", e);
-// return null;
-// }
-// log.debug("USP time stamp: " + date.toString());
-// request.setApplicationId(config.getUSPApplicationId());
-// log.debug("USP application id: " + config.getUSPApplicationId());
-//
-// // set identification
-// IdentificationType idt = new IdentificationType();
-// idt.setType(bpkType);
-// idt.setValue(bpkValue);
-// request.setIdentification(idt);
-//
-// // set filters
-// if (mandateFilters != null && mandateFilters.size() > 0) {
-// MandateFilters mf = new MandateFilters();
-// mf.getMandateFilter().addAll(mandateFilters);
-// request.setMandateFilters(mf);
-// }
-//
-// return this.uspSuche.getMandatesOperation(request);
-//
-//
-// }
-
- public void getMandates(String bpkType, String bpkValue, List<String> mandateFilters) {
- ListMandatesRequest parameters = new ListMandatesRequest();
-
- MandateAttributesSearchFilterType searchFilterType = new MandateAttributesSearchFilterType();
-
- Object searchFilter = null;
- searchFilterType.setFilter(searchFilter );
-
-
+ public List<Mandate> getMandates(String bpkType, String bpkValue, List<String> mandateFilters) throws Exception {
- //request USP
try {
- log.trace("Request pre-processing finished. Requesting USP ... ");
-
- ListMandatesResponseType results = this.uspSuche.listMandates(parameters );
+ if (mandateFilters.size() > 1)
+ log.debug("More than one mandate-profile required. Request each profile seperatly");
+
+ List<Mandate> results = new ArrayList<Mandate>();
+ for (String mandateFilter : mandateFilters) {
+ log.trace("Building USP VDDS request ... ");
+ ListMandatesRequest req = generateRequest(bpkType, bpkValue, mandateFilter);
- log.trace("Receive response from USP. Starting response post-processing ... ");
+ log.trace("Request pre-processing finished. Requesting USP ... ");
+ ListMandatesResponseType resp = this.uspSuche.listMandates(req );
+
+ log.trace("Receive response from USP for filter:" + mandateFilter + " . Start post processing ... ");
+ postProcessUSPMandateResult(resp, results);
+
+ }
+ return results;
+
} catch (ListMandatesFault e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ log.warn("Receive an error from USP. Msg: " + e.getMessage(), e);
+ throw e;
+
+ } catch (Exception e) {
+ log.error("Catch an generic error during USP communication.", e);
+ throw e;
+
}
+
+ }
+
+ private void postProcessUSPMandateResult(ListMandatesResponseType resp, List<Mandate> results) throws USPClientException {
+ if (resp.getSearchResult() != null) {
+ if (resp.getSearchResult().getDeclaredType().isAssignableFrom(MandateList.class)) {
+ log.trace("Find 'MandateList' element in USP response");
+ MandateList mandateList = (MandateList) resp.getSearchResult().getValue();
+
+ if (mandateList.getMandates() != null && mandateList.getMandates().getMandate() != null) {
+ log.debug("Find #" + mandateList.getMandates().getMandate().size() + " mandates in USP response");
+ results.addAll(mandateList.getMandates().getMandate());
+
+ } else
+ log.info("Find 'null' element in USP response. Ignore full response");
+ } else
+ log.warn("'SearchResult' element in USP response contains an unknown type: " + resp.getSearchResult().getName().toString());
+
+ } else {
+ log.debug("'SearchResult' element in USP response is 'null' Inspecting response on errors ...");
+ if (resp.getResult() != null) {
+ String errorCode = resp.getResult().getErrorCode();
+ String errorMsg = resp.getResult().getErrorMessage();
+ if (MiscUtil.isNotEmpty(errorCode) || MiscUtil.isNotEmpty(errorMsg)) {
+ log.info("Receice an error from USP! Code: " + errorCode + " Msg: " + errorMsg);
+ throw new USPClientException(errorMsg, errorCode);
+ }
+
+ }
+ }
+
+ }
+
+ private ListMandatesRequest generateRequest(String bpkType, String bpkValue, String mandateFilter) {
+ ObjectFactory objFactory = new ObjectFactory();
+
+ ListMandatesRequest parameters = new ListMandatesRequest();
+ MandateAttributesSearchFilterType searchFilterType = new MandateAttributesSearchFilterType();
+ SearchCriteriaTestType searchCriteriaTest = new SearchCriteriaTestType();
+ SearchCriteriaType searchCriteria = new SearchCriteriaType();
+ IdentificationType representative = new IdentificationType();
+ Value IdValue = new Value();
+
+ //set bPK
+ IdValue.setValue(bpkValue);
+ representative.setValue(IdValue );
+ representative.setType(bpkType);
+ searchCriteria.getActivationRangeOrMandateTypeOrMandatorID().add(objFactory.createSearchCriteriaTypeRepresentativeID(representative));
+
+ //set allowed time range
+ TimeRangeType fromTo = new TimeRangeType();
+ fromTo.setFrom(formater.format(new Date()));
+ fromTo.setTo("9999-12-31");
+ searchCriteria.getActivationRangeOrMandateTypeOrMandatorID().add(objFactory.createSearchCriteriaTypeValidFromTo(fromTo));
+
+ //set mandate filters
+ searchCriteria.getActivationRangeOrMandateTypeOrMandatorID().add(objFactory.createSearchCriteriaTypeMandateType(mandateFilter));
+
+ searchCriteriaTest.setSearchCriteria(searchCriteria);
+ searchFilterType.setFilter(searchCriteriaTest);
+ parameters.getSearchFilter().add(objFactory.createMandateAttributesSearchFilter(searchFilterType));
+
+ return parameters;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@@ -141,7 +191,13 @@ public class USPClient {
// PV authentication
log.trace("Adding WS-Security Header handler.");
PvpTokenType pvpToken = config.getUSPPVPToken();
- SZRHTTPHeaderHandler szrSOAPHandler = new SZRHTTPHeaderHandler();
+
+ VDDSRoleGenerationStrategy roleStrategy = new VDDSRoleGenerationStrategy(
+ config.getConfigurationValue("egovutil.usp.role.dynamic.participant"),
+ config.getConfigurationValue("egovutil.usp.role.dynamic.secret"));
+
+
+ PVP2XHTTPHeaderHandler szrSOAPHandler = new PVP2XHTTPHeaderHandler(roleStrategy);
szrSOAPHandler.configure(pvpToken);
handlerList.add(szrSOAPHandler);
@@ -183,6 +239,9 @@ public class USPClient {
}
http.setTlsClientParameters(tlsParams );
}
+
+ formater = new SimpleDateFormat(USP_DATE_PATTERN);
+
}
private String createUSPRequestId() {
diff --git a/src/main/java/at/gv/util/client/mis/usp_v2/USPClientException.java b/src/main/java/at/gv/util/client/mis/usp_v2/USPClientException.java
index 96ad965..4b2302b 100644
--- a/src/main/java/at/gv/util/client/mis/usp_v2/USPClientException.java
+++ b/src/main/java/at/gv/util/client/mis/usp_v2/USPClientException.java
@@ -4,29 +4,29 @@ public class USPClientException extends Exception {
private static final long serialVersionUID = 5173056345209288701L;
- private int code = -1;
+ private String code;
- public USPClientException(int code) {
+ public USPClientException(String code) {
super();
this.code = code;
}
- public USPClientException(String message, int code, Throwable cause) {
+ public USPClientException(String message, String code, Throwable cause) {
super(message, cause);
this.code = code;
}
- public USPClientException(String message, int code) {
+ public USPClientException(String message, String errorCode) {
super(message);
- this.code = code;
+ this.code = errorCode;
}
- public USPClientException(int code, Throwable cause) {
+ public USPClientException(String code, Throwable cause) {
super(cause);
this.code = code;
}
- public int getCode() {
+ public String getCode() {
return this.code;
}
diff --git a/src/main/java/at/gv/util/client/mis/usp_v2/VDDSRoleGenerationStrategy.java b/src/main/java/at/gv/util/client/mis/usp_v2/VDDSRoleGenerationStrategy.java
new file mode 100644
index 0000000..c5573d3
--- /dev/null
+++ b/src/main/java/at/gv/util/client/mis/usp_v2/VDDSRoleGenerationStrategy.java
@@ -0,0 +1,83 @@
+package at.gv.util.client.mis.usp_v2;
+
+import java.io.UnsupportedEncodingException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.text.SimpleDateFormat;
+import java.util.Base64;
+import java.util.Date;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.util.MiscUtil;
+import at.gv.util.client.szr.IRoleGenerationStrategy;
+import at.gv.util.ex.EgovUtilException;
+
+public class VDDSRoleGenerationStrategy implements IRoleGenerationStrategy {
+ private static final Logger log = LoggerFactory.getLogger(VDDSRoleGenerationStrategy.class);
+
+ public static final String ROLE_CONSTANT_PARTNERNAME = "partner-name=";
+ public static final String ROLE_CONSTANT_SECRET = "secret=";
+ public static final String ROLE_CONSTANT_CREATIONTS = "creation-ts=";
+
+ public static final String TS_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX";
+ private static final SimpleDateFormat tsFormat = new SimpleDateFormat(TS_PATTERN);
+
+ private String participant;
+ private String authData;
+
+ public VDDSRoleGenerationStrategy(String participant, String authData) throws EgovUtilException {
+ if (MiscUtil.isEmpty(authData)) {
+ log.error("Secret to generate VDDS role is 'null or 'empty''");
+ throw new EgovUtilException("Secret to generate VDDS role is 'null or 'empty'");
+
+ }
+ this.authData = authData;
+
+ if (MiscUtil.isEmpty(participant)) {
+ log.error("Participant to generate VDDS role is 'null or 'empty''");
+ throw new EgovUtilException("Secret to generate VDDS role is 'null or 'empty'");
+
+ }
+ this.participant = participant;
+
+ log.trace("VDDSRoleGenerationStrategy uses participant: " + this.participant + " and secret: " + this.authData);
+
+ }
+
+ @Override
+ public String generateRoleString(String roleString) throws EgovUtilException {
+
+ try {
+ String currentTS = tsFormat.format(new Date());
+ log.trace("Generate VDDS role at: " + currentTS);
+ MessageDigest md = MessageDigest.getInstance("SHA-1");
+ byte[] digistInput = (currentTS + authData).getBytes("UTF-8");
+ log.trace("DigistInput: " + new String(digistInput, "UTF-8"));
+ byte[] digistOutput = md.digest(digistInput);
+ String secret = Base64.getEncoder().encodeToString(digistOutput);
+
+ StringBuilder sBuilder = new StringBuilder(roleString);
+ sBuilder.append("(");
+ sBuilder.append(ROLE_CONSTANT_PARTNERNAME);
+ sBuilder.append(participant);
+ sBuilder.append(",");
+ sBuilder.append(ROLE_CONSTANT_SECRET);
+ sBuilder.append(secret);
+ sBuilder.append(",");
+ sBuilder.append(ROLE_CONSTANT_CREATIONTS);
+ sBuilder.append(currentTS);
+ sBuilder.append(")");
+
+ log.trace("Finale VDDS Role: " + sBuilder.toString());
+ return sBuilder.toString();
+
+ } catch(NoSuchAlgorithmException | UnsupportedEncodingException e) {
+ log.error("VDDSRoleGeneration FAILED with error: " + e.getMessage(), e);
+ throw new EgovUtilException("VDDSRoleGeneration FAILED", e);
+
+ }
+ }
+
+}
diff --git a/src/main/java/at/gv/util/client/szr/IRoleGenerationStrategy.java b/src/main/java/at/gv/util/client/szr/IRoleGenerationStrategy.java
new file mode 100644
index 0000000..d411f21
--- /dev/null
+++ b/src/main/java/at/gv/util/client/szr/IRoleGenerationStrategy.java
@@ -0,0 +1,15 @@
+package at.gv.util.client.szr;
+
+import at.gv.util.ex.EgovUtilException;
+
+public interface IRoleGenerationStrategy {
+
+ /**
+ * Generates a request specific role string
+ * @param roleString Role from configuration
+ *
+ * @return Dynamic generated role
+ * @throws EgovUtilException
+ */
+ public String generateRoleString(String roleString) throws EgovUtilException;
+}
diff --git a/src/main/java/at/gv/util/client/szr/SZRHTTPHeaderHandler.java b/src/main/java/at/gv/util/client/szr/PVP2XHTTPHeaderHandler.java
index bde6b7b..f4fc11b 100644
--- a/src/main/java/at/gv/util/client/szr/SZRHTTPHeaderHandler.java
+++ b/src/main/java/at/gv/util/client/szr/PVP2XHTTPHeaderHandler.java
@@ -15,22 +15,35 @@ import org.apache.cxf.message.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import at.gv.util.MiscUtil;
+import at.gv.util.ex.EgovUtilException;
import at.gv.util.xsd.szr.pvp.Param;
import at.gv.util.xsd.szr.pvp.PvpTokenType;
import at.gv.util.xsd.szr.pvp.PvpTokenType.Accounting;
import at.gv.util.xsd.szr.pvp.PvpTokenType.Accounting.GvCostCenterId;
import at.gv.util.xsd.szr.pvp.Role;
-public class SZRHTTPHeaderHandler implements SOAPHandler<SOAPMessageContext> {
+public class PVP2XHTTPHeaderHandler implements SOAPHandler<SOAPMessageContext> {
private PvpTokenType pvpTokenType = null;
- private Logger log = LoggerFactory.getLogger(SZRHTTPHeaderHandler.class);
+ private Logger log = LoggerFactory.getLogger(PVP2XHTTPHeaderHandler.class);
public static final String PVP_HEADER_COSTCENTERID_DEFAULT = "<default>";
public static final String PVP_HEADER_VALUE_DELIMITER = ",";
public static final String PVP_HEADER_ROLE_VALUE_DELIMITER = ";";
+ private IRoleGenerationStrategy roleStrategy = null;
+
+ public PVP2XHTTPHeaderHandler() {
+
+ }
+
+ public PVP2XHTTPHeaderHandler(IRoleGenerationStrategy roleGenerationStrategy) {
+ log.info("PVP2XHTTPHeaderHandler uses RoleGenerationStrategy: " + roleGenerationStrategy.getClass().getName());
+ this.roleStrategy = roleGenerationStrategy;
+
+ }
+
public void close(MessageContext arg0) {
}
@@ -58,7 +71,24 @@ public class SZRHTTPHeaderHandler implements SOAPHandler<SOAPMessageContext> {
return true;
}
Map<String, List> headers = (Map<String, List>) smc.get(Message.PROTOCOL_HEADERS);
- setHeader(headers, "X-VERSION", pvpTokenType.getVersion());
+ //PVP 2.x header
+ //setHeader(headers, "X-PVP-VERSION", pvpTokenType.getVersion());
+ setHeader(headers, "X-PVP-EGOVTOKEN-VERSION", pvpTokenType.getVersion());
+ setHeader(headers, "X-PVP-USERID", pvpTokenType.getAuthenticate().getUserPrincipal().getUserId());
+ setHeader(headers, "X-PVP-GID", pvpTokenType.getAuthenticate().getUserPrincipal().getGvGid());
+ setHeader(headers, "X-PVP-PARTICIPANT-ID", pvpTokenType.getAuthenticate().getParticipantId());
+ setHeader(headers, "X-PVP-OU-GV-OU-ID", pvpTokenType.getAuthenticate().getUserPrincipal().getGvOuId());
+ setHeader(headers, "X-PVP-OU", pvpTokenType.getAuthenticate().getUserPrincipal().getOu());
+ setHeader(headers, "X-PVP-FUNCTION", pvpTokenType.getAuthenticate().getUserPrincipal().getGvFunction());
+ setHeader(headers, "X-PVP-SECCLASS", String.valueOf(pvpTokenType.getAuthenticate().getUserPrincipal().getGvSecClass().intValue()));
+ setHeader(headers, "X-PVP-PRINCIPAL-NAME", pvpTokenType.getAuthenticate().getUserPrincipal().getCn());
+ setHeader(headers, "X-PVP-BINDING", "http");
+ setHeader(headers, "X-PVP-OU-OKZ", "AT:OVS");
+
+
+ //PVP 1.x header
+ //setHeader(headers, "X-VERSION", pvpTokenType.getVersion());
+ setHeader(headers, "X-VERSION", "1.8");
setHeader(headers, "X-AUTHENTICATE-UserID", pvpTokenType.getAuthenticate().getUserPrincipal().getUserId());
setHeader(headers, "X-AUTHENTICATE-GVGID", pvpTokenType.getAuthenticate().getUserPrincipal().getGvGid());
setHeader(headers, "X-AUTHENTICATE-PARTICIPANTID", pvpTokenType.getAuthenticate().getParticipantId());
@@ -89,12 +119,29 @@ public class SZRHTTPHeaderHandler implements SOAPHandler<SOAPMessageContext> {
else
roleString = roleString + PVP_HEADER_ROLE_VALUE_DELIMITER + roleElement;
}
- }
- setHeader(headers, "X-AUTHORIZE-ROLES", roleString);
+ }
+
+ if (roleStrategy != null) {
+ log.trace("Generate dynamic role ... ");
+ try {
+ String dynRoleString = roleStrategy.generateRoleString(roleString);
+ setHeader(headers, "X-PVP-ROLES", dynRoleString);
+ setHeader(headers, "X-AUTHORIZE-ROLES", dynRoleString);
+
+ } catch (EgovUtilException e) {
+ throw new RuntimeException("Can NOT generate dynamic VDDS role by using: " + roleStrategy.getClass().getName(), e);
+
+ }
+
+ }
+
+
+
+
//set optional headers
- String costCenterId = null;
- String invoiceRecptId = null;
+ String costCenterId = StringUtils.EMPTY;
+ String invoiceRecptId = StringUtils.EMPTY;
Accounting accounting = pvpTokenType.getAccounting();
if (accounting != null) {
@@ -107,7 +154,7 @@ public class SZRHTTPHeaderHandler implements SOAPHandler<SOAPMessageContext> {
value = value + el.getValue();
- if (costCenterId == null)
+ if (costCenterId.isEmpty())
costCenterId = value;
else
costCenterId = PVP_HEADER_VALUE_DELIMITER + value;
@@ -116,6 +163,9 @@ public class SZRHTTPHeaderHandler implements SOAPHandler<SOAPMessageContext> {
}
}
+ setHeader(headers, "X-PVP-COST-CENTER-ID", costCenterId);
+ setHeader(headers, "X-PVP-INVOICE-RECPT-ID", invoiceRecptId);
+
setHeader(headers, "X-ACCOUNTING-CostCenterId", costCenterId);
setHeader(headers, "X-ACCOUNTING-InvoiceRecptId", invoiceRecptId);
@@ -129,7 +179,7 @@ public class SZRHTTPHeaderHandler implements SOAPHandler<SOAPMessageContext> {
}
private void setHeader(Map<String, List> headers, String name, String value) {
if (MiscUtil.isEmpty(value))
- headers.put(name, null);
+ headers.put(name, Collections.singletonList(StringUtils.EMPTY));
else
headers.put(name, Collections.singletonList(value));
diff --git a/src/main/java/at/gv/util/client/szr/SZRClient.java b/src/main/java/at/gv/util/client/szr/SZRClient.java
index ad54d2f..67813bd 100644
--- a/src/main/java/at/gv/util/client/szr/SZRClient.java
+++ b/src/main/java/at/gv/util/client/szr/SZRClient.java
@@ -104,7 +104,7 @@ public class SZRClient {
}
- public String transformBPK(PersonInfoType personInfo, String inputBpk, String inputTarget, String target, String vkz) throws SZRException, EgovUtilException {
+ public FremdBPKType transformBPK(PersonInfoType personInfo, String inputBpk, String inputTarget, String target, String vkz) throws SZRException, EgovUtilException {
MiscUtil.assertNotNull(personInfo, "personInfo");
MiscUtil.assertNotNull(target, "target");
String targetPrefix = "urn:publicid:gv.at:cdid+";
@@ -135,7 +135,7 @@ public class SZRClient {
if (response == null) {
return null;
}
- return response.get(0).getFremdBPK();
+ return response.get(0);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
diff --git a/src/main/java/at/gv/util/config/EgovUtilConfiguration.java b/src/main/java/at/gv/util/config/EgovUtilConfiguration.java
index 216e1f5..47b7b63 100644
--- a/src/main/java/at/gv/util/config/EgovUtilConfiguration.java
+++ b/src/main/java/at/gv/util/config/EgovUtilConfiguration.java
@@ -27,6 +27,9 @@ import at.gv.util.xsd.szr.pvp.PvpTokenType;
*/
public interface EgovUtilConfiguration {
+ String getConfigurationValue(String key);
+ String getConfigurationValue(String key, String defaultValue);
+
JaxWsSSLConfiguration getMOASPSSsslConfiguration();
JaxWsSSLConfiguration getMOAIDsslConfiguration();
JaxWsSSLConfiguration getMOAZSsslConfiguration();
diff --git a/src/main/java/at/gv/util/config/EgovUtilPropertiesConfiguration.java b/src/main/java/at/gv/util/config/EgovUtilPropertiesConfiguration.java
index 66fa155..9693e0a 100644
--- a/src/main/java/at/gv/util/config/EgovUtilPropertiesConfiguration.java
+++ b/src/main/java/at/gv/util/config/EgovUtilPropertiesConfiguration.java
@@ -108,7 +108,20 @@ public class EgovUtilPropertiesConfiguration implements EgovUtilConfiguration {
ersbsslConfiguration = new JaxWsSSLConfigurationPropertiesImpl(this.props, this.configDir, "egovutil.ersb");
}
- public JaxWsSSLConfiguration getMOASPSSsslConfiguration() {
+
+ @Override
+ public String getConfigurationValue(String key) {
+ return this.props.getProperty(key);
+
+ }
+
+ @Override
+ public String getConfigurationValue(String key, String defaultValue) {
+ return this.props.getProperty(key, defaultValue);
+
+ }
+
+ public JaxWsSSLConfiguration getMOASPSSsslConfiguration() {
return moaSPSSsslConfiguration;
}
diff --git a/src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateFault.java b/src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateFault.java
index 6109b1d..7903ab0 100644
--- a/src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateFault.java
+++ b/src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateFault.java
@@ -6,7 +6,7 @@ import javax.xml.ws.WebFault;
/**
* This class was generated by Apache CXF 3.1.10
- * 2018-09-12T08:57:26.619+02:00
+ * 2019-04-10T12:00:27.818+02:00
* Generated source version: 3.1.10
*/
diff --git a/src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateStateFault.java b/src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateStateFault.java
index 7a03bec..4303e32 100644
--- a/src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateStateFault.java
+++ b/src/main/java/at/gv/util/wsdl/mis/usp_v2/CreateMandateStateFault.java
@@ -6,7 +6,7 @@ import javax.xml.ws.WebFault;
/**
* This class was generated by Apache CXF 3.1.10
- * 2018-09-12T08:57:26.581+02:00
+ * 2019-04-10T12:00:27.780+02:00
* Generated source version: 3.1.10
*/
diff --git a/src/main/java/at/gv/util/wsdl/mis/usp_v2/ISyncService.java b/src/main/java/at/gv/util/wsdl/mis/usp_v2/ISyncService.java
index e64ecf7..4cba0d0 100644
--- a/src/main/java/at/gv/util/wsdl/mis/usp_v2/ISyncService.java
+++ b/src/main/java/at/gv/util/wsdl/mis/usp_v2/ISyncService.java
@@ -9,7 +9,7 @@ import javax.xml.bind.annotation.XmlSeeAlso;
/**
* This class was generated by Apache CXF 3.1.10
- * 2018-09-12T08:57:26.650+02:00
+ * 2019-04-10T12:00:27.865+02:00
* Generated source version: 3.1.10
*
*/
diff --git a/src/main/java/at/gv/util/wsdl/mis/usp_v2/ListMandatesFault.java b/src/main/java/at/gv/util/wsdl/mis/usp_v2/ListMandatesFault.java
index 7766724..a85dbd7 100644
--- a/src/main/java/at/gv/util/wsdl/mis/usp_v2/ListMandatesFault.java
+++ b/src/main/java/at/gv/util/wsdl/mis/usp_v2/ListMandatesFault.java
@@ -6,7 +6,7 @@ import javax.xml.ws.WebFault;
/**
* This class was generated by Apache CXF 3.1.10
- * 2018-09-12T08:57:26.619+02:00
+ * 2019-04-10T12:00:27.833+02:00
* Generated source version: 3.1.10
*/
diff --git a/src/main/java/at/gv/util/wsdl/mis/usp_v2/RequestModificationTokenFault.java b/src/main/java/at/gv/util/wsdl/mis/usp_v2/RequestModificationTokenFault.java
index 5f7c6c5..6a03600 100644
--- a/src/main/java/at/gv/util/wsdl/mis/usp_v2/RequestModificationTokenFault.java
+++ b/src/main/java/at/gv/util/wsdl/mis/usp_v2/RequestModificationTokenFault.java
@@ -6,7 +6,7 @@ import javax.xml.ws.WebFault;
/**
* This class was generated by Apache CXF 3.1.10
- * 2018-09-12T08:57:26.635+02:00
+ * 2019-04-10T12:00:27.849+02:00
* Generated source version: 3.1.10
*/
diff --git a/src/main/java/at/gv/util/wsdl/mis/usp_v2/SynchronisationServiceServiceagent.java b/src/main/java/at/gv/util/wsdl/mis/usp_v2/SynchronisationServiceServiceagent.java
index 90fb789..d15a744 100644
--- a/src/main/java/at/gv/util/wsdl/mis/usp_v2/SynchronisationServiceServiceagent.java
+++ b/src/main/java/at/gv/util/wsdl/mis/usp_v2/SynchronisationServiceServiceagent.java
@@ -10,7 +10,7 @@ import javax.xml.ws.Service;
/**
* This class was generated by Apache CXF 3.1.10
- * 2018-09-12T08:57:26.666+02:00
+ * 2019-04-10T12:00:27.898+02:00
* Generated source version: 3.1.10
*
*/
diff --git a/src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateFault.java b/src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateFault.java
index f0c0e0e..7a02adc 100644
--- a/src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateFault.java
+++ b/src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateFault.java
@@ -6,7 +6,7 @@ import javax.xml.ws.WebFault;
/**
* This class was generated by Apache CXF 3.1.10
- * 2018-09-12T08:57:26.635+02:00
+ * 2019-04-10T12:00:27.865+02:00
* Generated source version: 3.1.10
*/
diff --git a/src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateStateFault.java b/src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateStateFault.java
index 937b1ba..db29f6d 100644
--- a/src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateStateFault.java
+++ b/src/main/java/at/gv/util/wsdl/mis/usp_v2/TerminateMandateStateFault.java
@@ -6,7 +6,7 @@ import javax.xml.ws.WebFault;
/**
* This class was generated by Apache CXF 3.1.10
- * 2018-09-12T08:57:26.635+02:00
+ * 2019-04-10T12:00:27.865+02:00
* Generated source version: 3.1.10
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/FilterType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/FilterType.java
index 97c6fce..3e045a5 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/FilterType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/FilterType.java
@@ -3,7 +3,9 @@ package at.gv.util.xsd.mis.usp_v2.eai.syncmsgs;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
@@ -28,9 +30,6 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "FilterType", propOrder = {
- "filter"
-})
@XmlSeeAlso({
MandateAttributesSearchFilterType.class,
MandateIDSearchFilterType.class,
@@ -39,31 +38,8 @@ import javax.xml.bind.annotation.XmlType;
})
public class FilterType {
- @XmlElement(name = "Filter", required = true)
- protected Object filter;
- /**
- * Ruft den Wert der filter-Eigenschaft ab.
- *
- * @return
- * possible object is
- * {@link Object }
- *
- */
- public Object getFilter() {
- return filter;
- }
- /**
- * Legt den Wert der filter-Eigenschaft fest.
- *
- * @param value
- * allowed object is
- * {@link Object }
- *
- */
- public void setFilter(Object value) {
- this.filter = value;
- }
+
}
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesRequest.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesRequest.java
index 50374a1..94c65c0 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesRequest.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesRequest.java
@@ -69,9 +69,9 @@ public class ListMandatesRequest {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link MandateAttributesSearchFilterType }{@code >}
* {@link JAXBElement }{@code <}{@link PaginationFilter }{@code >}
* {@link JAXBElement }{@code <}{@link FilterType }{@code >}
+ * {@link JAXBElement }{@code <}{@link MandateAttributesSearchFilterType }{@code >}
* {@link JAXBElement }{@code <}{@link MandateIDSearchFilterType }{@code >}
*
*
@@ -89,8 +89,8 @@ public class ListMandatesRequest {
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link ProcessTypeOutputFilter }{@code >}
- * {@link JAXBElement }{@code <}{@link OutputFilterType }{@code >}
* {@link JAXBElement }{@code <}{@link ListReferencedMandatesOutputFilter }{@code >}
+ * {@link JAXBElement }{@code <}{@link OutputFilterType }{@code >}
*
*/
public JAXBElement<? extends OutputFilterType> getOutputFilter() {
@@ -103,8 +103,8 @@ public class ListMandatesRequest {
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link ProcessTypeOutputFilter }{@code >}
- * {@link JAXBElement }{@code <}{@link OutputFilterType }{@code >}
* {@link JAXBElement }{@code <}{@link ListReferencedMandatesOutputFilter }{@code >}
+ * {@link JAXBElement }{@code <}{@link OutputFilterType }{@code >}
*
*/
public void setOutputFilter(JAXBElement<? extends OutputFilterType> value) {
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesResponseType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesResponseType.java
index f47312e..1875dd4 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesResponseType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ListMandatesResponseType.java
@@ -87,8 +87,8 @@ public class ListMandatesResponseType {
* @return
* possible object is
* {@link JAXBElement }{@code <}{@link MandateList }{@code >}
- * {@link JAXBElement }{@code <}{@link ReferencedMandatesResult }{@code >}
* {@link JAXBElement }{@code <}{@link Object }{@code >}
+ * {@link JAXBElement }{@code <}{@link ReferencedMandatesResult }{@code >}
*
*/
public JAXBElement<?> getSearchResult() {
@@ -101,8 +101,8 @@ public class ListMandatesResponseType {
* @param value
* allowed object is
* {@link JAXBElement }{@code <}{@link MandateList }{@code >}
- * {@link JAXBElement }{@code <}{@link ReferencedMandatesResult }{@code >}
* {@link JAXBElement }{@code <}{@link Object }{@code >}
+ * {@link JAXBElement }{@code <}{@link ReferencedMandatesResult }{@code >}
*
*/
public void setSearchResult(JAXBElement<?> value) {
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateAttributesSearchFilterType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateAttributesSearchFilterType.java
index b451c28..1f49372 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateAttributesSearchFilterType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateAttributesSearchFilterType.java
@@ -3,6 +3,7 @@ package at.gv.util.xsd.mis.usp_v2.eai.syncmsgs;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@@ -21,25 +22,7 @@ import javax.xml.bind.annotation.XmlType;
* &lt;complexContent&gt;
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
* &lt;sequence&gt;
- * &lt;element name="SearchCriteria"&gt;
- * &lt;complexType&gt;
- * &lt;complexContent&gt;
- * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
- * &lt;sequence maxOccurs="7"&gt;
- * &lt;choice&gt;
- * &lt;element name="ActivationRange" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/&gt;
- * &lt;element name="MandateType" type="{http://reference.e-government.gv.at/namespace/mandates/20040701#}TextualDescriptionType"/&gt;
- * &lt;element name="MandatorID" type="{http://reference.e-government.gv.at/namespace/persondata/20020228#}IdentificationType"/&gt;
- * &lt;element name="RepresentativeID" type="{http://reference.e-government.gv.at/namespace/persondata/20020228#}IdentificationType"/&gt;
- * &lt;element name="TerminationRange" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/&gt;
- * &lt;element name="ValidFromTo" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/&gt;
- * &lt;element ref="{http://reference.e-government.gv.at/namespace/mandates/20040701#}Properties"/&gt;
- * &lt;/choice&gt;
- * &lt;/sequence&gt;
- * &lt;/restriction&gt;
- * &lt;/complexContent&gt;
- * &lt;/complexType&gt;
- * &lt;/element&gt;
+ * &lt;element ref="{http://eai.brz.gv.at/services/vdds/sync-msgs}SearchCriteria"/&gt;
* &lt;/sequence&gt;
* &lt;/restriction&gt;
* &lt;/complexContent&gt;
@@ -54,10 +37,38 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MandateAttributesSearchFilterType")
+@XmlType(name = "MandateAttributesSearchFilterType", propOrder = {
+ "filter"
+ })
public class MandateAttributesSearchFilterType
extends FilterType
{
+ @XmlElement(name = "Filter", required = true)
+ protected SearchCriteriaTestType filter;
+
+ /**
+ * Ruft den Wert der filter-Eigenschaft ab.
+ *
+ * @return
+ * possible object is
+ * {@link Object }
+ *
+ */
+ public SearchCriteriaTestType getFilter() {
+ return (SearchCriteriaTestType) filter;
+ }
+
+ /**
+ * Legt den Wert der filter-Eigenschaft fest.
+ *
+ * @param value
+ * allowed object is
+ * {@link Object }
+ *
+ */
+ public void setFilter(SearchCriteriaTestType value) {
+ this.filter = value;
+ }
}
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateIDSearchFilterType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateIDSearchFilterType.java
index 58a6b32..1d8ff63 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateIDSearchFilterType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/MandateIDSearchFilterType.java
@@ -3,6 +3,7 @@ package at.gv.util.xsd.mis.usp_v2.eai.syncmsgs;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@@ -46,10 +47,38 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "MandateIDSearchFilterType")
+@XmlType(name = "MandateIDSearchFilterType", propOrder = {
+ "filter"
+ })
public class MandateIDSearchFilterType
extends FilterType
{
+ @XmlElement(name = "Filter", required = true)
+ protected SearchCriteriaTestType filter;
+
+ /**
+ * Ruft den Wert der filter-Eigenschaft ab.
+ *
+ * @return
+ * possible object is
+ * {@link Object }
+ *
+ */
+ public SearchCriteriaTestType getFilter() {
+ return (SearchCriteriaTestType) filter;
+ }
+
+ /**
+ * Legt den Wert der filter-Eigenschaft fest.
+ *
+ * @param value
+ * allowed object is
+ * {@link Object }
+ *
+ */
+ public void setFilter(SearchCriteriaTestType value) {
+ this.filter = value;
+ }
}
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ObjectFactory.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ObjectFactory.java
index a015968..38ca081 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ObjectFactory.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/ObjectFactory.java
@@ -4,8 +4,11 @@ package at.gv.util.xsd.mis.usp_v2.eai.syncmsgs;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.namespace.QName;
import at.gv.util.xsd.mis.usp_v2.eai.common.ReferableResultType;
+import at.gv.util.xsd.mis.usp_v2.persondata.IdentificationType;
/**
@@ -25,6 +28,7 @@ import at.gv.util.xsd.mis.usp_v2.eai.common.ReferableResultType;
@XmlRegistry
public class ObjectFactory {
+ private final static QName _SearchCriteria_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "SearchCriteria");
private final static QName _CreateMandateAck_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "CreateMandateAck");
private final static QName _Result_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "Result");
private final static QName _CreateMandateRequest_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "CreateMandateRequest");
@@ -41,6 +45,12 @@ public class ObjectFactory {
private final static QName _ReferencedMandatesResult_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "ReferencedMandatesResult");
private final static QName _TerminateMandateAck_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "TerminateMandateAck");
private final static QName _TerminateMandateRequest_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "TerminateMandateRequest");
+ private final static QName _SearchCriteriaTypeActivationRange_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "ActivationRange");
+ private final static QName _SearchCriteriaTypeMandateType_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "MandateType");
+ private final static QName _SearchCriteriaTypeMandatorID_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "MandatorID");
+ private final static QName _SearchCriteriaTypeRepresentativeID_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "RepresentativeID");
+ private final static QName _SearchCriteriaTypeTerminationRange_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "TerminationRange");
+ private final static QName _SearchCriteriaTypeValidFromTo_QNAME = new QName("http://eai.brz.gv.at/services/vdds/sync-msgs", "ValidFromTo");
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.util.xsd.mis.usp_v2.eai.syncmsgs
@@ -66,6 +76,14 @@ public class ObjectFactory {
}
/**
+ * Create an instance of {@link SearchCriteriaType }
+ *
+ */
+ public SearchCriteriaType createSearchCriteriaType() {
+ return new SearchCriteriaType();
+ }
+
+ /**
* Create an instance of {@link CreateMandateAsyncResponse }
*
*/
@@ -202,6 +220,14 @@ public class ObjectFactory {
}
/**
+ * Create an instance of {@link SearchCriteriaTestType }
+ *
+ */
+ public SearchCriteriaTestType createSearchCriteriaTestType() {
+ return new SearchCriteriaTestType();
+ }
+
+ /**
* Create an instance of {@link MandateListType }
*
*/
@@ -234,6 +260,15 @@ public class ObjectFactory {
}
/**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SearchCriteriaType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", name = "SearchCriteria")
+ public JAXBElement<SearchCriteriaType> createSearchCriteria(SearchCriteriaType value) {
+ return new JAXBElement<SearchCriteriaType>(_SearchCriteria_QNAME, SearchCriteriaType.class, null, value);
+ }
+
+ /**
* Create an instance of {@link JAXBElement }{@code <}{@link ReferableResultType }{@code >}}
*
*/
@@ -377,4 +412,59 @@ public class ObjectFactory {
return new JAXBElement<MandateRequestType>(_TerminateMandateRequest_QNAME, MandateRequestType.class, null, value);
}
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link TimeRangeType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", name = "ActivationRange", scope = SearchCriteriaType.class)
+ public JAXBElement<TimeRangeType> createSearchCriteriaTypeActivationRange(TimeRangeType value) {
+ return new JAXBElement<TimeRangeType>(_SearchCriteriaTypeActivationRange_QNAME, TimeRangeType.class, SearchCriteriaType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", name = "MandateType", scope = SearchCriteriaType.class)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ public JAXBElement<String> createSearchCriteriaTypeMandateType(String value) {
+ return new JAXBElement<String>(_SearchCriteriaTypeMandateType_QNAME, String.class, SearchCriteriaType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IdentificationType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", name = "MandatorID", scope = SearchCriteriaType.class)
+ public JAXBElement<IdentificationType> createSearchCriteriaTypeMandatorID(IdentificationType value) {
+ return new JAXBElement<IdentificationType>(_SearchCriteriaTypeMandatorID_QNAME, IdentificationType.class, SearchCriteriaType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link IdentificationType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", name = "RepresentativeID", scope = SearchCriteriaType.class)
+ public JAXBElement<IdentificationType> createSearchCriteriaTypeRepresentativeID(IdentificationType value) {
+ return new JAXBElement<IdentificationType>(_SearchCriteriaTypeRepresentativeID_QNAME, IdentificationType.class, SearchCriteriaType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link TimeRangeType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", name = "TerminationRange", scope = SearchCriteriaType.class)
+ public JAXBElement<TimeRangeType> createSearchCriteriaTypeTerminationRange(TimeRangeType value) {
+ return new JAXBElement<TimeRangeType>(_SearchCriteriaTypeTerminationRange_QNAME, TimeRangeType.class, SearchCriteriaType.class, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link TimeRangeType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", name = "ValidFromTo", scope = SearchCriteriaType.class)
+ public JAXBElement<TimeRangeType> createSearchCriteriaTypeValidFromTo(TimeRangeType value) {
+ return new JAXBElement<TimeRangeType>(_SearchCriteriaTypeValidFromTo_QNAME, TimeRangeType.class, SearchCriteriaType.class, value);
+ }
+
}
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationFilter.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationFilter.java
index 43db3b3..e17102d 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationFilter.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationFilter.java
@@ -3,6 +3,7 @@ package at.gv.util.xsd.mis.usp_v2.eai.syncmsgs;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@@ -36,10 +37,38 @@ import javax.xml.bind.annotation.XmlType;
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "")
+@XmlType(name = "PaginationFilterType", propOrder = {
+ "filter"
+ })
public class PaginationFilter
extends FilterType
{
+ @XmlElement(name = "Filter", required = true)
+ protected PaginationType filter;
+
+ /**
+ * Ruft den Wert der filter-Eigenschaft ab.
+ *
+ * @return
+ * possible object is
+ * {@link Object }
+ *
+ */
+ public PaginationType getFilter() {
+ return (PaginationType) filter;
+ }
+
+ /**
+ * Legt den Wert der filter-Eigenschaft fest.
+ *
+ * @param value
+ * allowed object is
+ * {@link Object }
+ *
+ */
+ public void setFilter(PaginationType value) {
+ this.filter = value;
+ }
}
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationType.java
new file mode 100644
index 0000000..21d6da8
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/PaginationType.java
@@ -0,0 +1,43 @@
+
+package at.gv.util.xsd.mis.usp_v2.eai.syncmsgs;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaginationType", propOrder = {
+ "pagination"
+})
+public class PaginationType {
+
+ @XmlElement(name = "Pagination", required = true)
+ protected Pagination pagination;
+
+ /**
+ * Ruft den Wert der searchCriteria-Eigenschaft ab.
+ *
+ * @return
+ * possible object is
+ * {@link Pagination }
+ *
+ */
+ public Pagination getPagination() {
+ return pagination;
+ }
+
+ /**
+ * Legt den Wert der searchCriteria-Eigenschaft fest.
+ *
+ * @param value
+ * allowed object is
+ * {@link Pagination }
+ *
+ */
+ public void setPagination(Pagination value) {
+ this.pagination = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/SearchCriteriaTestType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/SearchCriteriaTestType.java
new file mode 100644
index 0000000..53fa3aa
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/SearchCriteriaTestType.java
@@ -0,0 +1,62 @@
+
+package at.gv.util.xsd.mis.usp_v2.eai.syncmsgs;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java-Klasse für SearchCriteriaTestType complex type.
+ *
+ * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ *
+ * <pre>
+ * &lt;complexType name="SearchCriteriaTestType"&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence&gt;
+ * &lt;element ref="{http://eai.brz.gv.at/services/vdds/sync-msgs}SearchCriteria"/&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SearchCriteriaType", propOrder = {
+ "searchCriteria"
+})
+public class SearchCriteriaTestType {
+
+ @XmlElement(name = "SearchCriteria", required = true)
+ protected SearchCriteriaType searchCriteria;
+
+ /**
+ * Ruft den Wert der searchCriteria-Eigenschaft ab.
+ *
+ * @return
+ * possible object is
+ * {@link SearchCriteriaType }
+ *
+ */
+ public SearchCriteriaType getSearchCriteria() {
+ return searchCriteria;
+ }
+
+ /**
+ * Legt den Wert der searchCriteria-Eigenschaft fest.
+ *
+ * @param value
+ * allowed object is
+ * {@link SearchCriteriaType }
+ *
+ */
+ public void setSearchCriteria(SearchCriteriaType value) {
+ this.searchCriteria = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/SearchCriteriaType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/SearchCriteriaType.java
new file mode 100644
index 0000000..c09be79
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/eai/syncmsgs/SearchCriteriaType.java
@@ -0,0 +1,97 @@
+
+package at.gv.util.xsd.mis.usp_v2.eai.syncmsgs;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementRef;
+import javax.xml.bind.annotation.XmlElementRefs;
+import javax.xml.bind.annotation.XmlMixed;
+import javax.xml.bind.annotation.XmlType;
+import at.gv.util.xsd.mis.usp_v2.mandates.PropertiesType;
+import at.gv.util.xsd.mis.usp_v2.persondata.IdentificationType;
+
+
+/**
+ * <p>Java-Klasse für SearchCriteriaType complex type.
+ *
+ * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist.
+ *
+ * <pre>
+ * &lt;complexType name="SearchCriteriaType"&gt;
+ * &lt;complexContent&gt;
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ * &lt;sequence maxOccurs="7"&gt;
+ * &lt;choice&gt;
+ * &lt;element name="ActivationRange" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/&gt;
+ * &lt;element name="MandateType" type="{http://reference.e-government.gv.at/namespace/mandates/20040701#}TextualDescriptionType"/&gt;
+ * &lt;element name="MandatorID" type="{http://reference.e-government.gv.at/namespace/persondata/20020228#}IdentificationType"/&gt;
+ * &lt;element name="RepresentativeID" type="{http://reference.e-government.gv.at/namespace/persondata/20020228#}IdentificationType"/&gt;
+ * &lt;element name="TerminationRange" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/&gt;
+ * &lt;element name="ValidFromTo" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/&gt;
+ * &lt;element ref="{http://reference.e-government.gv.at/namespace/mandates/20040701#}Properties"/&gt;
+ * &lt;/choice&gt;
+ * &lt;/sequence&gt;
+ * &lt;/restriction&gt;
+ * &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SearchCriteriaTestType", propOrder = {
+ "activationRangeOrMandateTypeOrMandatorID"
+})
+public class SearchCriteriaType {
+
+ @XmlElementRefs({
+ @XmlElementRef(name = "ValidFromTo", namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "MandatorID", namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "ActivationRange", namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "RepresentativeID", namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "TerminationRange", namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "MandateType", namespace = "http://eai.brz.gv.at/services/vdds/sync-msgs", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "Properties", namespace = "http://reference.e-government.gv.at/namespace/mandates/20040701#", type = JAXBElement.class, required = false)
+ })
+ protected List<JAXBElement<?>> activationRangeOrMandateTypeOrMandatorID;
+
+ /**
+ * Gets the value of the activationRangeOrMandateTypeOrMandatorID property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the activationRangeOrMandateTypeOrMandatorID property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getActivationRangeOrMandateTypeOrMandatorID().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link JAXBElement }{@code <}{@link TimeRangeType }{@code >}
+ * {@link JAXBElement }{@code <}{@link IdentificationType }{@code >}
+ * {@link JAXBElement }{@code <}{@link TimeRangeType }{@code >}
+ * {@link JAXBElement }{@code <}{@link IdentificationType }{@code >}
+ * {@link JAXBElement }{@code <}{@link TimeRangeType }{@code >}
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link PropertiesType }{@code >}
+ *
+ *
+ */
+ public List<JAXBElement<?>> getActivationRangeOrMandateTypeOrMandatorID() {
+ if (activationRangeOrMandateTypeOrMandatorID == null) {
+ activationRangeOrMandateTypeOrMandatorID = new ArrayList<JAXBElement<?>>();
+ }
+ return this.activationRangeOrMandateTypeOrMandatorID;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/PropertiesType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/PropertiesType.java
index 9b666d0..b2a921c 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/PropertiesType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/PropertiesType.java
@@ -117,8 +117,8 @@ public class PropertiesType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/SimpleMandateContentType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/SimpleMandateContentType.java
index 8214f3c..31e425d 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/SimpleMandateContentType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/mandates/SimpleMandateContentType.java
@@ -76,8 +76,8 @@ import at.gv.util.xsd.mis.usp_v2.persondata.PhysicalPersonType;
public class SimpleMandateContentType {
@XmlElementRefs({
- @XmlElementRef(name = "ParameterisedDescription", namespace = "http://reference.e-government.gv.at/namespace/mandates/20040701#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "TextualDescription", namespace = "http://reference.e-government.gv.at/namespace/mandates/20040701#", type = JAXBElement.class, required = false)
+ @XmlElementRef(name = "TextualDescription", namespace = "http://reference.e-government.gv.at/namespace/mandates/20040701#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "ParameterisedDescription", namespace = "http://reference.e-government.gv.at/namespace/mandates/20040701#", type = JAXBElement.class, required = false)
})
protected List<JAXBElement<?>> parameterisedDescriptionOrTextualDescription;
@XmlElement(name = "References")
@@ -113,8 +113,8 @@ public class SimpleMandateContentType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link ParameterisedDescriptionType }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link ParameterisedDescriptionType }{@code >}
*
*
*/
@@ -305,8 +305,8 @@ public class SimpleMandateContentType {
@XmlElementRefs({
@XmlElementRef(name = "AnyConstraints", namespace = "http://reference.e-government.gv.at/namespace/mandates/20040701#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "PhysicalPerson", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "CorporateBody", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class, required = false)
+ @XmlElementRef(name = "CorporateBody", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "PhysicalPerson", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class, required = false)
})
protected List<JAXBElement<?>> anyConstraintsOrCorporateBodyOrPhysicalPerson;
@@ -328,8 +328,8 @@ public class SimpleMandateContentType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link CorporateBodyType }{@code >}
+ * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
*
*
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactCorporateBodyType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactCorporateBodyType.java
index 91d4790..65e255c 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactCorporateBodyType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactCorporateBodyType.java
@@ -188,8 +188,8 @@ public class CompactCorporateBodyType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPersonDataType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPersonDataType.java
index 788e738..2667836 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPersonDataType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPersonDataType.java
@@ -75,11 +75,11 @@ public class CompactPersonDataType
*
* @return
* possible object is
- * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
- * {@link JAXBElement }{@code <}{@link CompactCorporateBodyType }{@code >}
* {@link JAXBElement }{@code <}{@link CompactPhysicalPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link CorporateBodyType }{@code >}
+ * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
+ * {@link JAXBElement }{@code <}{@link CompactCorporateBodyType }{@code >}
*
*/
public JAXBElement<? extends AbstractPersonType> getPerson() {
@@ -91,11 +91,11 @@ public class CompactPersonDataType
*
* @param value
* allowed object is
- * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
- * {@link JAXBElement }{@code <}{@link CompactCorporateBodyType }{@code >}
* {@link JAXBElement }{@code <}{@link CompactPhysicalPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link CorporateBodyType }{@code >}
+ * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
+ * {@link JAXBElement }{@code <}{@link CompactCorporateBodyType }{@code >}
*
*/
public void setPerson(JAXBElement<? extends AbstractPersonType> value) {
@@ -120,12 +120,12 @@ public class CompactPersonDataType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link AbstractAddressType }{@code >}
- * {@link JAXBElement }{@code <}{@link CompactPostalAddressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link TypedPostalAddressType }{@code >}
* {@link JAXBElement }{@code <}{@link PostalAddressType }{@code >}
- * {@link JAXBElement }{@code <}{@link TelephoneAddressType }{@code >}
* {@link JAXBElement }{@code <}{@link InternetAddressType }{@code >}
- * {@link JAXBElement }{@code <}{@link TypedPostalAddressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link CompactPostalAddressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link TelephoneAddressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link AbstractAddressType }{@code >}
*
*
*/
@@ -237,8 +237,8 @@ public class CompactPersonDataType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
* {@link String }
*
*
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPhysicalPersonType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPhysicalPersonType.java
index 23fa08a..a12e6d2 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPhysicalPersonType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CompactPhysicalPersonType.java
@@ -243,8 +243,8 @@ public class CompactPhysicalPersonType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CorporateBodyType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CorporateBodyType.java
index 3c0b8a0..47219b0 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CorporateBodyType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/CorporateBodyType.java
@@ -256,8 +256,8 @@ public class CorporateBodyType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/IdentificationType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/IdentificationType.java
index a485e83..5b2fe7b 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/IdentificationType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/IdentificationType.java
@@ -172,8 +172,8 @@ public class IdentificationType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/InternetAddressType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/InternetAddressType.java
index 94662ff..ec46194 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/InternetAddressType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/InternetAddressType.java
@@ -121,8 +121,8 @@ public class InternetAddressType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/NationalityType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/NationalityType.java
index 0a5e13e..383ca3d 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/NationalityType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/NationalityType.java
@@ -52,10 +52,10 @@ import org.w3c.dom.Element;
public class NationalityType {
@XmlElementRefs({
- @XmlElementRef(name = "CountryNameFR", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class),
@XmlElementRef(name = "ISOCode3", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class),
- @XmlElementRef(name = "CountryNameEN", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class),
- @XmlElementRef(name = "CountryNameDE", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class)
+ @XmlElementRef(name = "CountryNameDE", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class),
+ @XmlElementRef(name = "CountryNameFR", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class),
+ @XmlElementRef(name = "CountryNameEN", namespace = "http://reference.e-government.gv.at/namespace/persondata/20020228#", type = JAXBElement.class)
})
@XmlMixed
@XmlAnyElement(lax = true)
@@ -79,13 +79,13 @@ public class NationalityType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Element }
* {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link Object }
+ * {@link String }
+ * {@link Element }
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link Object }
- * {@link String }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PersonDataType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PersonDataType.java
index 1c81b4d..f160a2f 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PersonDataType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PersonDataType.java
@@ -75,11 +75,11 @@ public class PersonDataType
*
* @return
* possible object is
- * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
- * {@link JAXBElement }{@code <}{@link CompactCorporateBodyType }{@code >}
* {@link JAXBElement }{@code <}{@link CompactPhysicalPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link CorporateBodyType }{@code >}
+ * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
+ * {@link JAXBElement }{@code <}{@link CompactCorporateBodyType }{@code >}
*
*/
public JAXBElement<? extends AbstractPersonType> getPerson() {
@@ -91,11 +91,11 @@ public class PersonDataType
*
* @param value
* allowed object is
- * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
- * {@link JAXBElement }{@code <}{@link CompactCorporateBodyType }{@code >}
* {@link JAXBElement }{@code <}{@link CompactPhysicalPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link AbstractPersonType }{@code >}
* {@link JAXBElement }{@code <}{@link CorporateBodyType }{@code >}
+ * {@link JAXBElement }{@code <}{@link PhysicalPersonType }{@code >}
+ * {@link JAXBElement }{@code <}{@link CompactCorporateBodyType }{@code >}
*
*/
public void setPerson(JAXBElement<? extends AbstractPersonType> value) {
@@ -120,12 +120,12 @@ public class PersonDataType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link AbstractAddressType }{@code >}
- * {@link JAXBElement }{@code <}{@link CompactPostalAddressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link TypedPostalAddressType }{@code >}
* {@link JAXBElement }{@code <}{@link PostalAddressType }{@code >}
- * {@link JAXBElement }{@code <}{@link TelephoneAddressType }{@code >}
* {@link JAXBElement }{@code <}{@link InternetAddressType }{@code >}
- * {@link JAXBElement }{@code <}{@link TypedPostalAddressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link CompactPostalAddressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link TelephoneAddressType }{@code >}
+ * {@link JAXBElement }{@code <}{@link AbstractAddressType }{@code >}
*
*
*/
@@ -237,8 +237,8 @@ public class PersonDataType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
* {@link String }
*
*
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PhysicalPersonType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PhysicalPersonType.java
index e199dfb..64a83a5 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PhysicalPersonType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/PhysicalPersonType.java
@@ -488,8 +488,8 @@ public class PhysicalPersonType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TelephoneAddressType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TelephoneAddressType.java
index 42eed66..61e3d75 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TelephoneAddressType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TelephoneAddressType.java
@@ -125,8 +125,8 @@ public class TelephoneAddressType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TypedPostalAddressType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TypedPostalAddressType.java
index 75b2c09..3f7a659 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TypedPostalAddressType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/persondata/TypedPostalAddressType.java
@@ -120,8 +120,8 @@ public class TypedPostalAddressType
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/DigestMethodType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/DigestMethodType.java
index 0274215..4136a2d 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/DigestMethodType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/DigestMethodType.java
@@ -64,8 +64,8 @@ public class DigestMethodType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
* {@link String }
*
*
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyInfoType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyInfoType.java
index 8a5bec4..b32a783 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyInfoType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyInfoType.java
@@ -53,13 +53,13 @@ import org.w3c.dom.Element;
public class KeyInfoType {
@XmlElementRefs({
- @XmlElementRef(name = "SPKIData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "PGPData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "MgmtData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "RetrievalMethod", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "X509Data", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "MgmtData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "SPKIData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "KeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "KeyName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "KeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
+ @XmlElementRef(name = "PGPData", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
})
@XmlMixed
@XmlAnyElement(lax = true)
@@ -88,16 +88,16 @@ public class KeyInfoType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >}
+ * {@link Object }
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link String }
* {@link Element }
- * {@link JAXBElement }{@code <}{@link PGPDataType }{@code >}
* {@link JAXBElement }{@code <}{@link RetrievalMethodType }{@code >}
* {@link JAXBElement }{@code <}{@link X509DataType }{@code >}
- * {@link JAXBElement }{@code <}{@link String }{@code >}
- * {@link Object }
- * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link SPKIDataType }{@code >}
* {@link JAXBElement }{@code <}{@link KeyValueType }{@code >}
- * {@link String }
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
+ * {@link JAXBElement }{@code <}{@link PGPDataType }{@code >}
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyValueType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyValueType.java
index ff873e0..e89715e 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyValueType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/KeyValueType.java
@@ -42,8 +42,8 @@ import org.w3c.dom.Element;
public class KeyValueType {
@XmlElementRefs({
- @XmlElementRef(name = "DSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "RSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
+ @XmlElementRef(name = "RSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "DSAKeyValue", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
})
@XmlMixed
@XmlAnyElement(lax = true)
@@ -67,11 +67,11 @@ public class KeyValueType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}
- * {@link Element }
- * {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}
* {@link Object }
* {@link String }
+ * {@link Element }
+ * {@link JAXBElement }{@code <}{@link RSAKeyValueType }{@code >}
+ * {@link JAXBElement }{@code <}{@link DSAKeyValueType }{@code >}
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/ObjectType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/ObjectType.java
index d1d716d..5c1ebf8 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/ObjectType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/ObjectType.java
@@ -76,8 +76,8 @@ public class ObjectType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
* {@link String }
*
*
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/PGPDataType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/PGPDataType.java
index 9b1c1b8..6d2b209 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/PGPDataType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/PGPDataType.java
@@ -82,9 +82,9 @@ public class PGPDataType {
* <p>
* Objects of the following type(s) are allowed in the list
* {@link JAXBElement }{@code <}{@link byte[]}{@code >}
- * {@link Element }
- * {@link Object }
* {@link JAXBElement }{@code <}{@link byte[]}{@code >}
+ * {@link Object }
+ * {@link Element }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SPKIDataType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SPKIDataType.java
index c0a6931..5cd9d4e 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SPKIDataType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SPKIDataType.java
@@ -60,9 +60,9 @@ public class SPKIDataType {
*
* <p>
* Objects of the following type(s) are allowed in the list
+ * {@link Element }
* {@link JAXBElement }{@code <}{@link byte[]}{@code >}
* {@link Object }
- * {@link Element }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignatureMethodType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignatureMethodType.java
index 12cb706..92cd0d8 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignatureMethodType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignatureMethodType.java
@@ -68,8 +68,8 @@ public class SignatureMethodType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link JAXBElement }{@code <}{@link BigInteger }{@code >}
+ * {@link Object }
* {@link String }
*
*
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignaturePropertyType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignaturePropertyType.java
index e6b1f69..078ff11 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignaturePropertyType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/SignaturePropertyType.java
@@ -73,8 +73,8 @@ public class SignaturePropertyType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Object }
* {@link Element }
+ * {@link Object }
* {@link String }
*
*
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/TransformType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/TransformType.java
index e98f7ec..a17e181 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/TransformType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/TransformType.java
@@ -68,10 +68,10 @@ public class TransformType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link Element }
- * {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link Object }
+ * {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link String }
+ * {@link Element }
*
*
*/
diff --git a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/X509DataType.java b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/X509DataType.java
index b40cf7d..f32cae5 100644
--- a/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/X509DataType.java
+++ b/src/main/java/at/gv/util/xsd/mis/usp_v2/xmldsig/X509DataType.java
@@ -46,11 +46,11 @@ import org.w3c.dom.Element;
public class X509DataType {
@XmlElementRefs({
- @XmlElementRef(name = "X509IssuerSerial", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "X509SubjectName", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "X509CRL", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
@XmlElementRef(name = "X509Certificate", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
- @XmlElementRef(name = "X509SKI", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
+ @XmlElementRef(name = "X509SKI", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "X509CRL", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false),
+ @XmlElementRef(name = "X509IssuerSerial", namespace = "http://www.w3.org/2000/09/xmldsig#", type = JAXBElement.class, required = false)
})
@XmlAnyElement(lax = true)
protected List<Object> x509CRLOrX509CertificateOrX509IssuerSerial;
@@ -73,13 +73,13 @@ public class X509DataType {
*
* <p>
* Objects of the following type(s) are allowed in the list
- * {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >}
+ * {@link Object }
* {@link Element }
* {@link JAXBElement }{@code <}{@link String }{@code >}
* {@link JAXBElement }{@code <}{@link byte[]}{@code >}
* {@link JAXBElement }{@code <}{@link byte[]}{@code >}
* {@link JAXBElement }{@code <}{@link byte[]}{@code >}
- * {@link Object }
+ * {@link JAXBElement }{@code <}{@link X509IssuerSerialType }{@code >}
*
*
*/
diff --git a/src/main/resources/wsdl/custom-bindings/mis-usp_v2-wsdl.xml b/src/main/resources/wsdl/custom-bindings/mis-usp_v2-wsdl.xml
index 93c9e7f..184d689 100644
--- a/src/main/resources/wsdl/custom-bindings/mis-usp_v2-wsdl.xml
+++ b/src/main/resources/wsdl/custom-bindings/mis-usp_v2-wsdl.xml
@@ -2,7 +2,8 @@
<jaxws:bindings xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
<jaxws:package name="at.gv.util.wsdl.mis.usp_v2"/>
diff --git a/src/main/resources/wsdl/mis/usp_v2/Synchronisation-1.wsdl b/src/main/resources/wsdl/mis/usp_v2/Synchronisation-1.wsdl
index 8142d4a..9dc5848 100644
--- a/src/main/resources/wsdl/mis/usp_v2/Synchronisation-1.wsdl
+++ b/src/main/resources/wsdl/mis/usp_v2/Synchronisation-1.wsdl
@@ -1,2627 +1,2632 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Created by TIBCO WSDL-->
<wsdl:definitions xmlns:ns6="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:ns5="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns7="http://www.usp.gv.at/namespace/mandates/20160301#" xmlns:tns="http://xmlns.example.com/1481028889472" xmlns:ns0="http://eai.brz.gv.at/services/vdds/sync-msgs" xmlns:ns2="http://eai.brz.gv.at/services/vdds/token" xmlns:ns1="http://eai.brz.gv.at/services/vdds/synchronisation" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="http://eai.brz.gv.at/services/vdds/common" name="Untitled" targetNamespace="http://xmlns.example.com/1481028889472">
- <wsdl:types>
- <xs:schema xmlns:tns="http://eai.brz.gv.at/services/vdds/token" xmlns:cm="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/token" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
- <xs:simpleType name="ActionTypeType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="CreateMandate"/>
- <xs:enumeration value="TerminateMandate"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="ModificationTokenResultType">
- <xs:complexContent>
- <xs:extension base="cm:ReferableResultType">
- <xs:sequence>
- <xs:element ref="tns:ModificationToken" minOccurs="0"/>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="ModificationTokenType">
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="IssuedAt" type="xs:dateTime"/>
- <xs:attribute name="ValidUntil" type="xs:dateTime"/>
- <xs:anyAttribute processContents="strict" namespace="##any"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- <xs:element name="ModificationToken" type="tns:ModificationTokenType"/>
- <xs:element name="ModificationTokenRequest">
- <xs:complexType>
- <xs:sequence>
- <xs:any processContents="strict" namespace="##other"/>
- </xs:sequence>
- <xs:attribute name="ActionType" type="tns:ActionTypeType"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="ModificationTokenResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Result" type="tns:ModificationTokenResultType"/>
- <xs:any minOccurs="0" processContents="strict" namespace="##other"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:schema>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:import namespace="http://eai.brz.gv.at/services/vdds/sync-msgs"/>
- </xs:schema>
- <xs:schema xmlns:tns="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/common" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:simpleType name="ActionType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="REQUEST_TOKEN"/>
- <xs:enumeration value="CREATE_MANDATE"/>
- <xs:enumeration value="TERMINATE_MANDATE"/>
- <xs:enumeration value="SYNC_CREATE"/>
- <xs:enumeration value="SYNC_TERMINATE"/>
- <xs:enumeration value="COMMIT_CREATE"/>
- <xs:enumeration value="COMMIT_TERMINATE"/>
- <xs:enumeration value="ROLLBACK_CREATE"/>
- <xs:enumeration value="ROLLBACK_TERMINATE"/>
- <xs:enumeration value="NOTIFY_SUCCESS_CREATE"/>
- <xs:enumeration value="NOTIFY_SUCCESS_TERMINATE"/>
- <xs:enumeration value="NOTIFY_ROLLBACK_CREATE"/>
- <xs:enumeration value="NOTIFY_ROLLBACK_TERMINATE"/>
- <xs:enumeration value="NOOP"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="Header">
- <xs:sequence>
- <xs:element name="Name" type="xs:string"/>
- <xs:element name="Value" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="ProcessStateType">
- <xs:sequence>
- <xs:element name="ProcessAction" type="tns:ActionType"/>
- <xs:element name="ProcessState" type="tns:StateType"/>
- <xs:element name="LastProcessingTS" type="xs:dateTime"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="ReferableResultType">
- <xs:complexContent>
- <xs:extension base="tns:ResultType">
- <xs:sequence>
- <xs:element name="RefID" type="xs:string"/>
- <xs:element name="State" type="tns:StateType"/>
- <xs:element name="ProcessState" type="tns:ProcessStateType" minOccurs="0"/>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="ResultType">
- <xs:sequence minOccurs="0">
- <xs:element name="ErrorCode" type="xs:string"/>
- <xs:element name="ErrorMessage" type="xs:string"/>
- <xs:element name="ErrorLevel" default="ERROR" type="tns:SeverityType"/>
- </xs:sequence>
- </xs:complexType>
- <xs:simpleType name="SeverityType">
- <xs:restriction base="xs:token">
- <xs:enumeration value="DEBUG"/>
- <xs:enumeration value="INFO"/>
- <xs:enumeration value="WARNING"/>
- <xs:enumeration value="ERROR"/>
- <xs:enumeration value="FATAL"/>
- <xs:enumeration value="BL_INFO"/>
- <xs:enumeration value="BL_WARNING"/>
- <xs:enumeration value="BL_ERROR"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="StateType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="TOKEN"/>
- <xs:enumeration value="RETRY"/>
- <xs:enumeration value="PARTNER"/>
- <xs:enumeration value="SYNC"/>
- <xs:enumeration value="SYNCED"/>
- <xs:enumeration value="COMMIT"/>
- <xs:enumeration value="ROLLBACK"/>
- <xs:enumeration value="APPLICABLE"/>
- <xs:enumeration value="ERRONEOUS"/>
- <xs:enumeration value="ROLLEDBACK"/>
- <xs:enumeration value="TERMINATED"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="Headers">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Header" type="tns:Header" minOccurs="0" maxOccurs="unbounded"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:schema>
- <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <complexType name="CanonicalizationMethodType" mixed="true">
- <sequence>
- <any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="##any"/>
- </sequence>
- <attribute name="Algorithm" use="required" type="anyURI"/>
- </complexType>
- <simpleType name="CryptoBinary">
- <restriction base="base64Binary"/>
- </simpleType>
- <complexType name="DSAKeyValueType">
- <sequence>
- <sequence minOccurs="0">
- <element name="P" type="ds:CryptoBinary"/>
- <element name="Q" type="ds:CryptoBinary"/>
- </sequence>
- <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
- <element name="Y" type="ds:CryptoBinary"/>
- <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
- <sequence minOccurs="0">
- <element name="Seed" type="ds:CryptoBinary"/>
- <element name="PgenCounter" type="ds:CryptoBinary"/>
- </sequence>
- </sequence>
- </complexType>
- <complexType name="DigestMethodType" mixed="true">
- <sequence>
- <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
- </sequence>
- <attribute name="Algorithm" use="required" type="anyURI"/>
- </complexType>
- <simpleType name="DigestValueType">
- <restriction base="base64Binary"/>
- </simpleType>
- <simpleType name="HMACOutputLengthType">
- <restriction base="integer"/>
- </simpleType>
- <complexType name="KeyInfoType" mixed="true">
- <choice maxOccurs="unbounded">
- <element ref="ds:KeyName"/>
- <element ref="ds:KeyValue"/>
- <element ref="ds:MgmtData"/>
- <element ref="ds:PGPData"/>
- <element ref="ds:RetrievalMethod"/>
- <element ref="ds:SPKIData"/>
- <element ref="ds:X509Data"/>
- <any processContents="lax" namespace="##other"/>
- </choice>
- <attribute name="Id" type="ID"/>
- </complexType>
- <complexType name="KeyValueType" mixed="true">
- <choice>
- <element ref="ds:DSAKeyValue"/>
- <element ref="ds:RSAKeyValue"/>
- <any processContents="lax" namespace="##other"/>
- </choice>
- </complexType>
- <complexType name="ManifestType">
- <sequence>
- <element ref="ds:Reference" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Id" type="ID"/>
- </complexType>
- <complexType name="ObjectType" mixed="true">
- <sequence minOccurs="0" maxOccurs="unbounded">
- <any processContents="lax" namespace="##any"/>
- </sequence>
- <attribute name="Encoding" type="anyURI"/>
- <attribute name="Id" type="ID"/>
- <attribute name="MimeType" type="string"/>
- </complexType>
- <complexType name="PGPDataType">
- <choice>
- <sequence>
- <element name="PGPKeyID" type="base64Binary"/>
- <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
- <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
- </sequence>
- <sequence>
- <element name="PGPKeyPacket" type="base64Binary"/>
- <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
- </sequence>
- </choice>
- </complexType>
- <complexType name="RSAKeyValueType">
- <sequence>
- <element name="Modulus" type="ds:CryptoBinary"/>
- <element name="Exponent" type="ds:CryptoBinary"/>
- </sequence>
- </complexType>
- <complexType name="ReferenceType">
- <sequence>
- <element ref="ds:Transforms" minOccurs="0"/>
- <element ref="ds:DigestMethod"/>
- <element ref="ds:DigestValue"/>
- </sequence>
- <attribute name="Id" type="ID"/>
- <attribute name="Type" type="anyURI"/>
- <attribute name="URI" type="anyURI"/>
- </complexType>
- <complexType name="RetrievalMethodType">
- <sequence>
- <element ref="ds:Transforms" minOccurs="0"/>
- </sequence>
- <attribute name="Type" type="anyURI"/>
- <attribute name="URI" type="anyURI"/>
- </complexType>
- <complexType name="SPKIDataType">
- <sequence maxOccurs="unbounded">
- <element name="SPKISexp" type="base64Binary"/>
- <any minOccurs="0" processContents="lax" namespace="##other"/>
- </sequence>
- </complexType>
- <complexType name="SignatureMethodType" mixed="true">
- <sequence>
- <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
- <any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="##other"/>
- </sequence>
- <attribute name="Algorithm" use="required" type="anyURI"/>
- </complexType>
- <complexType name="SignaturePropertiesType">
- <sequence>
- <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Id" type="ID"/>
- </complexType>
- <complexType name="SignaturePropertyType" mixed="true">
- <choice maxOccurs="unbounded">
- <any processContents="lax" namespace="##other"/>
- </choice>
- <attribute name="Id" type="ID"/>
- <attribute name="Target" use="required" type="anyURI"/>
- </complexType>
- <complexType name="SignatureType">
- <sequence>
- <element ref="ds:SignedInfo"/>
- <element ref="ds:SignatureValue"/>
- <element ref="ds:KeyInfo" minOccurs="0"/>
- <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Id" type="ID"/>
- </complexType>
- <complexType name="SignatureValueType">
- <simpleContent>
- <extension base="base64Binary">
- <attribute name="Id" type="ID"/>
- </extension>
- </simpleContent>
- </complexType>
- <complexType name="SignedInfoType">
- <sequence>
- <element ref="ds:CanonicalizationMethod"/>
- <element ref="ds:SignatureMethod"/>
- <element ref="ds:Reference" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="Id" type="ID"/>
- </complexType>
- <complexType name="TransformType" mixed="true">
- <choice minOccurs="0" maxOccurs="unbounded">
- <element name="XPath" type="string"/>
- <any processContents="lax" namespace="##other"/>
- </choice>
- <attribute name="Algorithm" use="required" type="anyURI"/>
- </complexType>
- <complexType name="TransformsType">
- <sequence>
- <element ref="ds:Transform" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- <complexType name="X509DataType">
- <sequence maxOccurs="unbounded">
- <choice>
- <element name="X509CRL" type="base64Binary"/>
- <element name="X509Certificate" type="base64Binary"/>
- <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
- <element name="X509SKI" type="base64Binary"/>
- <element name="X509SubjectName" type="string"/>
- <any processContents="lax" namespace="##other"/>
- </choice>
- </sequence>
- </complexType>
- <complexType name="X509IssuerSerialType">
- <sequence>
- <element name="X509IssuerName" type="string"/>
- <element name="X509SerialNumber" type="integer"/>
- </sequence>
- </complexType>
- <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
- <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
- <element name="DigestMethod" type="ds:DigestMethodType"/>
- <element name="DigestValue" type="ds:DigestValueType"/>
- <element name="KeyInfo" type="ds:KeyInfoType"/>
- <element name="KeyName" type="string"/>
- <element name="KeyValue" type="ds:KeyValueType"/>
- <element name="Manifest" type="ds:ManifestType"/>
- <element name="MgmtData" type="string"/>
- <element name="Object" type="ds:ObjectType"/>
- <element name="PGPData" type="ds:PGPDataType"/>
- <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
- <element name="Reference" type="ds:ReferenceType"/>
- <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
- <element name="SPKIData" type="ds:SPKIDataType"/>
- <element name="Signature" type="ds:SignatureType"/>
- <element name="SignatureMethod" type="ds:SignatureMethodType"/>
- <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
- <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
- <element name="SignatureValue" type="ds:SignatureValueType"/>
- <element name="SignedInfo" type="ds:SignedInfoType"/>
- <element name="Transform" type="ds:TransformType"/>
- <element name="Transforms" type="ds:TransformsType"/>
- <element name="X509Data" type="ds:X509DataType"/>
- </schema>
- <xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:usp="http://www.usp.gv.at/namespace/mandates/20160301#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#" version="0.0.4" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
- <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
- <xs:import namespace="http://www.usp.gv.at/namespace/mandates/20160301#"/>
- <xs:simpleType name="DateType">
- <xs:annotation>
- <xs:documentation>simple type for dates (union), which may omit day
+ <wsdl:types>
+ <xs:schema xmlns:tns="http://eai.brz.gv.at/services/vdds/token" xmlns:cm="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/token" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:simpleType name="ActionTypeType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CreateMandate"/>
+ <xs:enumeration value="TerminateMandate"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ModificationTokenResultType">
+ <xs:complexContent>
+ <xs:extension base="cm:ReferableResultType">
+ <xs:sequence>
+ <xs:element ref="tns:ModificationToken" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="ModificationTokenType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="IssuedAt" type="xs:dateTime"/>
+ <xs:attribute name="ValidUntil" type="xs:dateTime"/>
+ <xs:anyAttribute processContents="strict" namespace="##any"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:element name="ModificationToken" type="tns:ModificationTokenType"/>
+ <xs:element name="ModificationTokenRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any processContents="strict" namespace="##other"/>
+ </xs:sequence>
+ <xs:attribute name="ActionType" type="tns:ActionTypeType"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ModificationTokenResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Result" type="tns:ModificationTokenResultType"/>
+ <xs:any minOccurs="0" processContents="strict" namespace="##other"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/sync-msgs"/>
+ </xs:schema>
+ <xs:schema xmlns:tns="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/common" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:simpleType name="ActionType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="REQUEST_TOKEN"/>
+ <xs:enumeration value="CREATE_MANDATE"/>
+ <xs:enumeration value="TERMINATE_MANDATE"/>
+ <xs:enumeration value="SYNC_CREATE"/>
+ <xs:enumeration value="SYNC_TERMINATE"/>
+ <xs:enumeration value="COMMIT_CREATE"/>
+ <xs:enumeration value="COMMIT_TERMINATE"/>
+ <xs:enumeration value="ROLLBACK_CREATE"/>
+ <xs:enumeration value="ROLLBACK_TERMINATE"/>
+ <xs:enumeration value="NOTIFY_SUCCESS_CREATE"/>
+ <xs:enumeration value="NOTIFY_SUCCESS_TERMINATE"/>
+ <xs:enumeration value="NOTIFY_ROLLBACK_CREATE"/>
+ <xs:enumeration value="NOTIFY_ROLLBACK_TERMINATE"/>
+ <xs:enumeration value="NOOP"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Header">
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Value" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProcessStateType">
+ <xs:sequence>
+ <xs:element name="ProcessAction" type="tns:ActionType"/>
+ <xs:element name="ProcessState" type="tns:StateType"/>
+ <xs:element name="LastProcessingTS" type="xs:dateTime"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferableResultType">
+ <xs:complexContent>
+ <xs:extension base="tns:ResultType">
+ <xs:sequence>
+ <xs:element name="RefID" type="xs:string"/>
+ <xs:element name="State" type="tns:StateType"/>
+ <xs:element name="ProcessState" type="tns:ProcessStateType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="ResultType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="ErrorCode" type="xs:string"/>
+ <xs:element name="ErrorMessage" type="xs:string"/>
+ <xs:element name="ErrorLevel" default="ERROR" type="tns:SeverityType"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="SeverityType">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="DEBUG"/>
+ <xs:enumeration value="INFO"/>
+ <xs:enumeration value="WARNING"/>
+ <xs:enumeration value="ERROR"/>
+ <xs:enumeration value="FATAL"/>
+ <xs:enumeration value="BL_INFO"/>
+ <xs:enumeration value="BL_WARNING"/>
+ <xs:enumeration value="BL_ERROR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="StateType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="TOKEN"/>
+ <xs:enumeration value="RETRY"/>
+ <xs:enumeration value="PARTNER"/>
+ <xs:enumeration value="SYNC"/>
+ <xs:enumeration value="SYNCED"/>
+ <xs:enumeration value="COMMIT"/>
+ <xs:enumeration value="ROLLBACK"/>
+ <xs:enumeration value="APPLICABLE"/>
+ <xs:enumeration value="ERRONEOUS"/>
+ <xs:enumeration value="ROLLEDBACK"/>
+ <xs:enumeration value="TERMINATED"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="Headers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Header" type="tns:Header" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="##any"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <simpleType name="CryptoBinary">
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <simpleType name="DigestValueType">
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:MgmtData"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:X509Data"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ </complexType>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any processContents="lax" namespace="##any"/>
+ </sequence>
+ <attribute name="Encoding" type="anyURI"/>
+ <attribute name="Id" type="ID"/>
+ <attribute name="MimeType" type="string"/>
+ </complexType>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="base64Binary"/>
+ <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="base64Binary"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ <attribute name="Type" type="anyURI"/>
+ <attribute name="URI" type="anyURI"/>
+ </complexType>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ </sequence>
+ <attribute name="Type" type="anyURI"/>
+ <attribute name="URI" type="anyURI"/>
+ </complexType>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="base64Binary"/>
+ <any minOccurs="0" processContents="lax" namespace="##other"/>
+ </sequence>
+ </complexType>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="##other"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Id" type="ID"/>
+ <attribute name="Target" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="base64Binary">
+ <attribute name="Id" type="ID"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="XPath" type="string"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509CRL" type="base64Binary"/>
+ <element name="X509Certificate" type="base64Binary"/>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="base64Binary"/>
+ <element name="X509SubjectName" type="string"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <element name="KeyName" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <element name="MgmtData" type="string"/>
+ <element name="Object" type="ds:ObjectType"/>
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <element name="Reference" type="ds:ReferenceType"/>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <element name="Signature" type="ds:SignatureType"/>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <element name="Transform" type="ds:TransformType"/>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <element name="X509Data" type="ds:X509DataType"/>
+ </schema>
+ <xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:usp="http://www.usp.gv.at/namespace/mandates/20160301#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#" version="0.0.4" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:import namespace="http://www.usp.gv.at/namespace/mandates/20160301#"/>
+ <xs:simpleType name="DateType">
+ <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:complexType name="ParameterisedDescriptionType">
- <xs:annotation>
- <xs:documentation>complex type for a parameterised description
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <xs:complexType name="ParameterisedDescriptionType">
+ <xs:annotation>
+ <xs:documentation>complex type for a parameterised description
</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element ref="md:ParameterisedText">
- <xs:annotation>
- <xs:documentation>element contains parameterised text and the
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="md:ParameterisedText">
+ <xs:annotation>
+ <xs:documentation>element contains parameterised text and the
definition of the annotation</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:ParameterDefinition" minOccurs="0">
- <xs:annotation>
- <xs:documentation>element contains the definition of parameters used
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:ParameterDefinition" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains the definition of parameters used
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="ParameterisedTextType" mixed="true">
- <xs:annotation>
- <xs:documentation>complex type for describing a parameterised text
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ParameterisedTextType" mixed="true">
+ <xs:annotation>
+ <xs:documentation>complex type for describing a parameterised text
</xs:documentation>
- </xs:annotation>
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="md:PasteParameter">
- <xs:annotation>
- <xs:documentation>element represent a parameter to be replaced in the
+ </xs:annotation>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="md:PasteParameter">
+ <xs:annotation>
+ <xs:documentation>element represent a parameter to be replaced in the
parameterised text</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="PropertiesType">
- <xs:annotation>
- <xs:documentation>complex type for describing arbitrary properties of
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PropertiesType">
+ <xs:annotation>
+ <xs:documentation>complex type for describing arbitrary properties of
mandates</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element ref="usp:AdditionalMandateProperty">
- <xs:annotation>
- <xs:documentation>additional usp specific property for an electronic mandate</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="SubstitutionAllowed" default="false" type="xs:boolean" minOccurs="0"/>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <xs:annotation>
- <xs:documentation>any additional properties</xs:documentation>
- </xs:annotation>
- </xs:any>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="SimpleMandateContentType">
- <xs:annotation>
- <xs:documentation>complex type for describing the mandate using some
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="usp:AdditionalMandateProperty">
+ <xs:annotation>
+ <xs:documentation>additional usp specific property for an electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SubstitutionAllowed" default="false" type="xs:boolean" minOccurs="0"/>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SimpleMandateContentType">
+ <xs:annotation>
+ <xs:documentation>complex type for describing the mandate using some
textual descriptions</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="md:ParameterisedDescription">
- <xs:annotation>
- <xs:documentation>element contains a parameterised description of a
+ </xs:annotation>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:ParameterisedDescription">
+ <xs:annotation>
+ <xs:documentation>element contains a parameterised description of a
mandate's
content
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:TextualDescription">
- <xs:annotation>
- <xs:documentation>element contians parameterised text
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:TextualDescription">
+ <xs:annotation>
+ <xs:documentation>element contians parameterised text
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- <xs:element name="References" minOccurs="0">
- <xs:complexType>
- <xs:sequence maxOccurs="unbounded">
- <xs:element name="MandateID">
- <xs:annotation>
- <xs:documentation>the ID of the Mandate which is referenced by
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element name="References" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="MandateID">
+ <xs:annotation>
+ <xs:documentation>the ID of the Mandate which is referenced by
the TextualDescription-Element</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:token"/>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:group ref="md:ConstraintsGroup">
- <xs:annotation>
- <xs:documentation>group of constraints applicable for a mandate
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:token"/>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:group ref="md:ConstraintsGroup">
+ <xs:annotation>
+ <xs:documentation>group of constraints applicable for a mandate
content</xs:documentation>
- </xs:annotation>
- </xs:group>
- </xs:sequence>
- <xs:attribute name="ContentIdentifier" type="xs:string"/>
- </xs:complexType>
- <xs:simpleType name="TextualDescriptionType">
- <xs:annotation>
- <xs:documentation>simple type for textual descriptions of mandates,
+ </xs:annotation>
+ </xs:group>
+ </xs:sequence>
+ <xs:attribute name="ContentIdentifier" type="xs:string"/>
+ </xs:complexType>
+ <xs:simpleType name="TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>simple type for textual descriptions of mandates,
constraints,..</xs:documentation>
- </xs:annotation>
- <xs:restriction base="xs:token">
- <xs:whiteSpace value="collapse"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:element name="Annotation">
- <xs:annotation>
- <xs:documentation>arbitrary annotation containing a short description
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:whiteSpace value="collapse"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="Annotation">
+ <xs:annotation>
+ <xs:documentation>arbitrary annotation containing a short description
of the mandate</xs:documentation>
- </xs:annotation>
- <xs:simpleType>
- <xs:restriction base="xs:token">
- <xs:whiteSpace value="collapse"/>
- <xs:maxLength value="255"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:element>
- <xs:element name="AnyConstraints" type="md:TextualDescriptionType">
- <xs:annotation>
- <xs:documentation>element contains arbitrary restrictions
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:whiteSpace value="collapse"/>
+ <xs:maxLength value="255"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="AnyConstraints" type="md:TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Intermediary" type="pr:PhysicalPersonType">
- <xs:annotation>
- <xs:documentation>personal data defining the intermediary
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Intermediary" type="pr:PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>personal data defining the intermediary
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Issued">
- <xs:annotation>
- <xs:documentation>the place and the date of issuing the mandate
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Issued">
+ <xs:annotation>
+ <xs:documentation>the place and the date of issuing the mandate
</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Place" type="xs:token"/>
- <xs:element name="Date" type="md:DateType"/>
- <xs:element name="Time" type="xs:time" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Mandate">
- <xs:annotation>
- <xs:documentation>electronic mandate</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="md:Annotation" minOccurs="0">
- <xs:annotation>
- <xs:documentation>arbitrary annotation containing a short description
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Place" type="xs:token"/>
+ <xs:element name="Date" type="md:DateType"/>
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Mandate">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="md:Annotation" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>arbitrary annotation containing a short description
of the mandate</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:StatusInformationService" minOccurs="0">
- <xs:annotation>
- <xs:documentation>location to retrieve current status information
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:StatusInformationService" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>location to retrieve current status information
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:Representative">
- <xs:annotation>
- <xs:documentation>personal data defining the representative
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:Mandator">
- <xs:annotation>
- <xs:documentation>personal data defining the mandator
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:Intermediary" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>personal data defining the intermediary
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Intermediary" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>personal data defining the intermediary
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:Issued">
- <xs:annotation>
- <xs:documentation>the place and the date of issuing the mandate
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Issued">
+ <xs:annotation>
+ <xs:documentation>the place and the date of issuing the mandate
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:Properties" minOccurs="0">
- <xs:annotation>
- <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Properties" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="md:SimpleMandateContent">
- <xs:annotation>
- <xs:documentation>element contains the content of a mandate
+ </xs:annotation>
+ </xs:element>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:SimpleMandateContent">
+ <xs:annotation>
+ <xs:documentation>element contains the content of a mandate
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- <xs:element ref="dsig:Signature" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="MandateID" use="required" type="xs:string"/>
- <xs:attribute name="MandateType" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="Mandator">
- <xs:annotation>
- <xs:documentation>personal data defining the mandator
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element ref="dsig:Signature" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="MandateID" use="required" type="xs:string"/>
+ <xs:attribute name="MandateType" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element ref="pr:CorporateBody">
- <xs:annotation>
- <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="pr:PhysicalPerson">
- <xs:annotation>
- <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="ParameterDefinition">
- <xs:annotation>
- <xs:documentation>element contains the definition of parameters used
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ParameterDefinition">
+ <xs:annotation>
+ <xs:documentation>element contains the definition of parameters used
</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="md:SetParameter">
- <xs:annotation>
- <xs:documentation>element defines a parameter</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="ParameterisedDescription" type="md:ParameterisedDescriptionType">
- <xs:annotation>
- <xs:documentation>element contains a parameterised description of a
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="md:SetParameter">
+ <xs:annotation>
+ <xs:documentation>element defines a parameter</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ParameterisedDescription" type="md:ParameterisedDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contains a parameterised description of a
mandate's
content
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="ParameterisedText" type="md:ParameterisedTextType">
- <xs:annotation>
- <xs:documentation>element contains parameterised text and the
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ParameterisedText" type="md:ParameterisedTextType">
+ <xs:annotation>
+ <xs:documentation>element contains parameterised text and the
definition of the annotation</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="PasteParameter">
- <xs:annotation>
- <xs:documentation>element represent a parameter to be replaced in the
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PasteParameter">
+ <xs:annotation>
+ <xs:documentation>element represent a parameter to be replaced in the
parameterised text</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="Name" type="xs:token"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="Properties" type="md:PropertiesType">
- <xs:annotation>
- <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="Name" type="xs:token"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Properties" type="md:PropertiesType">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Representative">
- <xs:annotation>
- <xs:documentation>personal data defining the representative
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:choice>
- <xs:element ref="pr:CorporateBody">
- <xs:annotation>
- <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="pr:PhysicalPerson">
- <xs:annotation>
- <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="SetParameter">
- <xs:annotation>
- <xs:documentation>element defines a parameter</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:token">
- <xs:attribute name="Name" type="xs:token"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="SimpleMandateContent" type="md:SimpleMandateContentType">
- <xs:annotation>
- <xs:documentation>element contains the content of a mandate
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SetParameter">
+ <xs:annotation>
+ <xs:documentation>element defines a parameter</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:token">
+ <xs:attribute name="Name" type="xs:token"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SimpleMandateContent" type="md:SimpleMandateContentType">
+ <xs:annotation>
+ <xs:documentation>element contains the content of a mandate
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="StatusInformationService" type="xs:anyURI">
- <xs:annotation>
- <xs:documentation>location to retrieve current status information
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StatusInformationService" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>location to retrieve current status information
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="TextualDescription" type="md:TextualDescriptionType">
- <xs:annotation>
- <xs:documentation>element contians parameterised text
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TextualDescription" type="md:TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contians parameterised text
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="ValidFrom" type="md:DateType">
- <xs:annotation>
- <xs:documentation>element describes beginning of the validity period
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ValidFrom" type="md:DateType">
+ <xs:annotation>
+ <xs:documentation>element describes beginning of the validity period
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="ValidTo" type="md:DateType">
- <xs:annotation>
- <xs:documentation>element describes endpoint of the validity period
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ValidTo" type="md:DateType">
+ <xs:annotation>
+ <xs:documentation>element describes endpoint of the validity period
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:group name="ConstraintsGroup">
- <xs:annotation>
- <xs:documentation>group of constraints applicable for a mandate
+ </xs:annotation>
+ </xs:element>
+ <xs:group name="ConstraintsGroup">
+ <xs:annotation>
+ <xs:documentation>group of constraints applicable for a mandate
content</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="TimeConstraint" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="md:ValidFrom">
- <xs:annotation>
- <xs:documentation>element describes beginning of the validity period
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="TimeConstraint" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="md:ValidFrom">
+ <xs:annotation>
+ <xs:documentation>element describes beginning of the validity period
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:ValidTo">
- <xs:annotation>
- <xs:documentation>element describes endpoint of the validity period
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:ValidTo">
+ <xs:annotation>
+ <xs:documentation>element describes endpoint of the validity period
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="CollectiveConstraint" minOccurs="0">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element ref="md:AnyConstraints">
- <xs:annotation>
- <xs:documentation>element contains arbitrary restrictions
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CollectiveConstraint" minOccurs="0">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:AnyConstraints">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="pr:CorporateBody">
- <xs:annotation>
- <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="pr:PhysicalPerson">
- <xs:annotation>
- <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- </xs:element>
- <xs:element name="TransactionLimit" minOccurs="0">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Amount" type="xs:float"/>
- <xs:element name="Currency" default="EUR" type="xs:token"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element ref="md:AnyConstraints" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>element contains arbitrary restrictions
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TransactionLimit" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Amount" type="xs:float"/>
+ <xs:element name="Currency" default="EUR" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="md:AnyConstraints" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:group>
- </xs:schema>
- <xs:schema xmlns="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" version="1.0.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
- <xs:annotation>
- <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
- </xs:annotation>
- <xs:complexType name="AbstractAddressType">
- <xs:annotation>
- <xs:documentation>main structure of address data</xs:documentation>
- </xs:annotation>
- <xs:sequence minOccurs="0">
- <xs:element name="Identification" type="ns6:IdentificationType" 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"/>
- <xs:anyAttribute processContents="strict" namespace="##other"/>
- </xs:complexType>
- <xs:complexType name="AbstractPersonType">
- <xs:annotation>
- <xs:documentation>main structure of person data</xs:documentation>
- </xs:annotation>
- <xs:choice minOccurs="0">
- <xs:element ref="ns6:AbstractSimpleIdentification" minOccurs="0" maxOccurs="unbounded">
- <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="Identification" type="ns6:IdentificationType" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>unique identification entities</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- <xs:attribute name="Id" type="xs:ID"/>
- <xs:anyAttribute processContents="strict" namespace="##other"/>
- </xs:complexType>
- <xs:simpleType name="AlternativeNameTypeType">
- <xs:annotation>
- <xs:documentation>known + any other alternative name types</xs:documentation>
- </xs:annotation>
- <xs:union memberTypes="ns6:xStringPatternExtensionType ns6:DefinedAlternativeNameTypeType"/>
- </xs:simpleType>
- <xs:complexType name="BankConnectionType">
- <xs:annotation>
- <xs:documentation>compare BankverbindungTyp</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="Holder" type="xs:string">
- <xs:annotation>
- <xs:documentation>Account holder, compare Inhaber</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="BankName" type="xs:string">
- <xs:annotation>
- <xs:documentation>compare BankName</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:choice>
- <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: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:choice>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="CompactCorporateBodyType">
- <xs:annotation>
- <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="ns6: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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <xs:annotation>
- <xs:documentation>any additional properties</xs:documentation>
- </xs:annotation>
- </xs:any>
- </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="ns6:AbstractPersonType">
- <xs:sequence>
- <xs:element ref="ns6:Person">
- <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>
- <xs:element ref="ns6:Address" minOccurs="0" maxOccurs="unbounded">
- <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 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 processContents="lax" namespace="##any">
- <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="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="prefix" type="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: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="position">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="prefix"/>
- <xs:enumeration value="suffix"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="type">
- <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:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="CompactPhysicalPersonType">
- <xs:annotation>
- <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="ns6:AbstractPersonType">
- <xs:sequence minOccurs="0">
- <xs:element ref="ns6:CompactName">
- <xs:annotation>
- <xs:documentation>data related to the person's name</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:MaritalStatus" minOccurs="0">
- <xs:annotation>
- <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:Sex" minOccurs="0">
- <xs:annotation>
- <xs:documentation>gender, comapre Geschlecht</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:DateOfBirth" minOccurs="0">
- <xs:annotation>
- <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:PlaceOfBirth" minOccurs="0">
- <xs:annotation>
- <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:Nationality" minOccurs="0" maxOccurs="unbounded">
- <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:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <xs:annotation>
- <xs:documentation>any additional properties</xs:documentation>
- </xs:annotation>
- </xs:any>
- </xs:sequence>
- </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="ns6: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="CorporateBodyType">
- <xs:annotation>
- <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="ns6: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="ns6:BankConnection" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <xs:annotation>
- <xs:documentation>any additional properties</xs:documentation>
- </xs:annotation>
- </xs:any>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <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="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="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="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>
- <xs:complexType name="IdentificationType">
- <xs:annotation>
- <xs:documentation>unique identifier</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element name="Value">
- <xs:annotation>
- <xs:documentation>actual value of the identifier.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base="xs:string">
- <xs:attribute name="Id" type="xs:ID"/>
- </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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <xs:annotation>
- <xs:documentation>any additional properties</xs:documentation>
- </xs:annotation>
- </xs:any>
- </xs:sequence>
- <xs:attribute name="Id" type="xs:ID"/>
- <xs:anyAttribute processContents="strict" namespace="##other"/>
- </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="ns6: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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <xs:annotation>
- <xs:documentation>any additional properties</xs:documentation>
- </xs:annotation>
- </xs:any>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <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:complexType name="MobileTelcomNumberType">
- <xs:annotation>
- <xs:documentation>like TelephoneAddresseType but with additional smsEnabled attribute</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="ns6:TelcomNumberType">
- <xs:attribute name="smsEnabled" type="xs:boolean"/>
- </xs:extension>
- </xs:complexContent>
- </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 processContents="lax" namespace="##other"/>
- </xs:sequence>
- </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="ns6:AbstractPersonType">
- <xs:sequence>
- <xs:element ref="ns6:Person">
- <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>
- <xs:element ref="ns6:Address" minOccurs="0" maxOccurs="unbounded">
- <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 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 processContents="lax" namespace="##any">
- <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="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="prefix" type="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: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="position">
- <xs:simpleType>
- <xs:restriction base="xs:string">
- <xs:enumeration value="prefix"/>
- <xs:enumeration value="suffix"/>
- </xs:restriction>
- </xs:simpleType>
- </xs:attribute>
- <xs:attribute name="type">
- <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:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="PhysicalPersonType">
- <xs:annotation>
- <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="ns6:AbstractPersonType">
- <xs:sequence minOccurs="0">
- <xs:element ref="ns6:Name" minOccurs="0">
- <xs:annotation>
- <xs:documentation>data related to the person's name</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:AlternativeName" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>Former name, Artist name, changes of Given name ..., compare AlternativName</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:MaritalStatus" minOccurs="0">
- <xs:annotation>
- <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:Sex" minOccurs="0">
- <xs:annotation>
- <xs:documentation>gender, comapre Geschlecht</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:DateOfBirth" minOccurs="0">
- <xs:annotation>
- <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:PlaceOfBirth" minOccurs="0">
- <xs:annotation>
- <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:StateOfBirth" minOccurs="0">
- <xs:annotation>
- <xs:documentation>state of birth, comapre Geburtsbundesland</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:CountryOfBirth" minOccurs="0">
- <xs:annotation>
- <xs:documentation>country of birth, compare Geburtsland</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:DateOfDeath" minOccurs="0">
- <xs:annotation>
- <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:Nationality" minOccurs="0" maxOccurs="unbounded">
- <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 ref="ns6:Confession" minOccurs="0">
- <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 ref="ns6:Occupation" minOccurs="0">
- <xs:annotation>
- <xs:documentation>occupation, compare Beruf</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:relatedPerson" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>relatives (parents, ...), compare Verwandter</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:BankConnection" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <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="ns6: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="ns6:string7"/>
- <xs:element name="SubCode" type="ns6:string3" minOccurs="0"/>
- <xs:element name="ObjectNumber" type="ns6: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="ns6: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:simpleType name="RelationType">
- <xs:annotation>
- <xs:documentation>known + any other relation</xs:documentation>
- </xs:annotation>
- <xs:union memberTypes="ns6:xStringPatternExtensionType ns6:DefinedRelationType"/>
- </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:complexType name="TelcomNumberType">
- <xs:annotation>
- <xs:documentation>formated number or set of telephone number parts</xs:documentation>
- </xs:annotation>
- <xs:choice>
- <xs:element ref="ns6:FormattedNumber">
- <xs:annotation>
- <xs:documentation>Complete number, ready formated - e.g. +43 1 5131345 4664 compare FormatierteNummer</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:group ref="ns6:TelcomNumberGroup">
- <xs:annotation>
- <xs:documentation>set of telephone number parts</xs:documentation>
- </xs:annotation>
- </xs:group>
- </xs:choice>
- </xs:complexType>
- <xs:complexType name="TelephoneAddressType">
- <xs:annotation>
- <xs:documentation>phone numbers, conmpare TelephoneAdresseTyp</xs:documentation>
- </xs:annotation>
- <xs:complexContent>
- <xs:extension base="ns6: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="ns6:TelcomNumberType">
- <xs:annotation>
- <xs:documentation>phonenumber</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <xs:annotation>
- <xs:documentation>any additional properties</xs:documentation>
- </xs:annotation>
- </xs:any>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </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="ns6: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="ns6:PostalAddress">
- <xs:annotation>
- <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
- <xs:annotation>
- <xs:documentation>any additional properties</xs:documentation>
- </xs:annotation>
- </xs:any>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:simpleType name="integer5">
- <xs:restriction base="xs:integer">
- <xs:minInclusive value="10000"/>
- <xs:maxInclusive value="99999"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="string100">
- <xs:restriction base="xs:string">
- <xs:maxLength value="100"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="string20">
- <xs:restriction base="xs:string">
- <xs:maxLength value="20"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="string3">
- <xs:restriction base="xs:string">
- <xs:maxLength value="3"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="string30">
- <xs:restriction base="xs:string">
- <xs:maxLength value="30"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="string4">
- <xs:restriction base="xs:string">
- <xs:maxLength value="4"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="string50">
- <xs:restriction base="xs:string">
- <xs:maxLength value="50"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="string7">
- <xs:restriction base="xs:string">
- <xs:maxLength value="7"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:simpleType name="xStringPatternExtensionType">
- <xs:annotation>
- <xs:documentation>pattern type for enlargement of type definitions. Contents as follows
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ </xs:schema>
+ <xs:schema xmlns="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" version="1.0.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>main structure of address data</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0">
+ <xs:element name="Identification" type="ns6:IdentificationType" 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"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element ref="ns6:AbstractSimpleIdentification" minOccurs="0" maxOccurs="unbounded">
+ <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="Identification" type="ns6:IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </xs:complexType>
+ <xs:simpleType name="AlternativeNameTypeType">
+ <xs:annotation>
+ <xs:documentation>known + any other alternative name types</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="ns6:xStringPatternExtensionType ns6:DefinedAlternativeNameTypeType"/>
+ </xs:simpleType>
+ <xs:complexType name="BankConnectionType">
+ <xs:annotation>
+ <xs:documentation>compare BankverbindungTyp</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Holder" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Account holder, compare Inhaber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare BankName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice>
+ <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: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:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CompactCorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </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="ns6:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="ns6:Person">
+ <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>
+ <xs:element ref="ns6:Address" minOccurs="0" maxOccurs="unbounded">
+ <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 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 processContents="lax" namespace="##any">
+ <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="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="prefix" type="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: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="position">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="type">
+ <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:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CompactPhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="ns6:CompactName">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:MaritalStatus" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Sex" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PlaceOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Nationality" minOccurs="0" maxOccurs="unbounded">
+ <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:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </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="ns6: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="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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="ns6:BankConnection" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <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="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="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="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>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID"/>
+ </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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </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="ns6: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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <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:complexType name="MobileTelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>like TelephoneAddresseType but with additional smsEnabled attribute</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:TelcomNumberType">
+ <xs:attribute name="smsEnabled" type="xs:boolean"/>
+ </xs:extension>
+ </xs:complexContent>
+ </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 processContents="lax" namespace="##other"/>
+ </xs:sequence>
+ </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="ns6:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="ns6:Person">
+ <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>
+ <xs:element ref="ns6:Address" minOccurs="0" maxOccurs="unbounded">
+ <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 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 processContents="lax" namespace="##any">
+ <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="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="prefix" type="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: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="position">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="type">
+ <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:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="ns6:Name" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:AlternativeName" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Former name, Artist name, changes of Given name ..., compare AlternativName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:MaritalStatus" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Sex" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PlaceOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:StateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>state of birth, comapre Geburtsbundesland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:CountryOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>country of birth, compare Geburtsland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfDeath" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Nationality" minOccurs="0" maxOccurs="unbounded">
+ <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 ref="ns6:Confession" minOccurs="0">
+ <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 ref="ns6:Occupation" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>occupation, compare Beruf</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:relatedPerson" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>relatives (parents, ...), compare Verwandter</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:BankConnection" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <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="ns6: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="ns6:string7"/>
+ <xs:element name="SubCode" type="ns6:string3" minOccurs="0"/>
+ <xs:element name="ObjectNumber" type="ns6: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="ns6: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:simpleType name="RelationType">
+ <xs:annotation>
+ <xs:documentation>known + any other relation</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="ns6:xStringPatternExtensionType ns6:DefinedRelationType"/>
+ </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:complexType name="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>formated number or set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ <xs:choice>
+ <xs:element ref="ns6:FormattedNumber">
+ <xs:annotation>
+ <xs:documentation>Complete number, ready formated - e.g. +43 1 5131345 4664 compare FormatierteNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:group ref="ns6:TelcomNumberGroup">
+ <xs:annotation>
+ <xs:documentation>set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ </xs:group>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>phone numbers, conmpare TelephoneAdresseTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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="ns6:TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </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="ns6: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="ns6:PostalAddress">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="integer5">
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="10000"/>
+ <xs:maxInclusive value="99999"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string100">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string20">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string30">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="30"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string4">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string50">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="50"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </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:element name="AbstractPersonData" type="ns6: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="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="Address" type="ns6: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="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="ns6:PersonNameType">
- <xs:attribute name="Type" type="ns6:AlternativeNameTypeType"/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="AreaCityCode" type="xs:string">
- <xs:annotation>
- <xs:documentation>compare Vorwahl</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="BankConnection" type="ns6:BankConnectionType">
- <xs:annotation>
- <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="CompactCorporateBody" substitutionGroup="ns6:Person" type="ns6:CompactCorporateBodyType">
- <xs:annotation>
- <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="CompactName" type="ns6:CompactPersonNameType">
- <xs:annotation>
- <xs:documentation>data related to the person's name</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="ns6:CompactCorporateBody">
- <xs:annotation>
- <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:CompactPhysicalPerson">
- <xs:annotation>
- <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="ns6:CompactPostalAddress">
- <xs:annotation>
- <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:InternetAddress">
- <xs:annotation>
- <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:TelephoneAddress">
- <xs:annotation>
- <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="CompactPhysicalPerson" substitutionGroup="ns6:Person" type="ns6:CompactPhysicalPersonType">
- <xs:annotation>
- <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="CompactPostalAddress" substitutionGroup="ns6:Address" type="ns6:CompactPostalAddressType">
- <xs:annotation>
- <xs:documentation>Postal or ZMR Address, compare PostAdresse</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="CorporateBody" substitutionGroup="ns6:Person" type="ns6:CorporateBodyType">
- <xs:annotation>
- <xs:documentation>element of corporate body type, derived from Person</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="DateOfBirth" type="ns6:DateOfBirthType">
- <xs:annotation>
- <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="DateOfDeath" type="ns6:DateOfDeathType">
- <xs:annotation>
- <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Ergaenzungsregisterzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string">
- <xs:annotation>
- <xs:documentation>Ergänzungsregister für nicht-natürliche Personen (CorporateBody)</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>
- <xs:element name="Fax" type="ns6:TelcomNumberType"/>
- <xs:element name="Firmenbuchnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
- <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="InternationalCountryCode" type="xs:string">
- <xs:annotation>
- <xs:documentation>compare InternationalerLaendercode</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="InternetAddress" substitutionGroup="ns6:Address" type="ns6:InternetAddressType">
- <xs:annotation>
- <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="MaritalStatus" type="ns6: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="Matrikelnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
- <xs:element name="Mobile" type="ns6:MobileTelcomNumberType"/>
- <xs:element name="Name" type="ns6:PersonNameType">
- <xs:annotation>
- <xs:documentation>data related to the person's name</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="Nationality" type="ns6: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="Occupation" type="xs:string">
- <xs:annotation>
- <xs:documentation>occupation, compare Beruf</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Pager" type="ns6:TelcomNumberType"/>
- <xs:element name="Person" type="ns6: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>
- <xs:element name="PersonData" substitutionGroup="ns6:AbstractPersonData" type="ns6:PersonDataType">
- <xs:annotation>
- <xs:documentation>element of signed person datastructure type</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="PhysicalPerson" substitutionGroup="ns6:Person" type="ns6:PhysicalPersonType">
- <xs:annotation>
- <xs:documentation>element of physical person type, dreived from Person (abstract)</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="PostalAddress" substitutionGroup="ns6:Address" type="ns6:PostalAddressType">
- <xs:annotation>
- <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Sex" type="ns6:SexType">
- <xs:annotation>
- <xs:documentation>gender, comapre Geschlecht</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Sozialversicherungsnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
- <xs:element name="Stammzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
- <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="Steuernummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
- <xs:element name="SubscriberNumber" type="xs:string">
- <xs:annotation>
- <xs:documentation>compare Anschlussnummer</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="TTYTDD" type="ns6:TelcomNumberType">
- <xs:annotation>
- <xs:documentation>teletyper or telephone for the hearing impaired</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Telephone" type="ns6:TelcomNumberType"/>
- <xs:element name="TelephoneAddress" substitutionGroup="ns6:Address" type="ns6:TelephoneAddressType">
- <xs:annotation>
- <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="TypedPostalAddress" substitutionGroup="ns6:Address" type="ns6:TypedPostalAddressType">
- <xs:annotation>
- <xs:documentation>Typed Postal or ZMR Address, compare TypisiertePostAdresse</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="Vereinsnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
- <xs:element name="ZMRzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
- <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="ns6:RelationType" minOccurs="0" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>type of the relationship, compare Verwandschftsgrad</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:PhysicalPerson">
- <xs:annotation>
- <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:group name="TelcomNumberGroup">
- <xs:annotation>
- <xs:documentation>set of telephone number parts</xs:documentation>
- </xs:annotation>
- <xs:sequence>
- <xs:element ref="ns6:InternationalCountryCode" minOccurs="0">
- <xs:annotation>
- <xs:documentation>compare InternationalerLaendercode</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:NationalNumber" minOccurs="0">
- <xs:annotation>
- <xs:documentation>compare NationalNummer</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:AreaCityCode" minOccurs="0">
- <xs:annotation>
- <xs:documentation>compare Vorwahl</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:SubscriberNumber">
- <xs:annotation>
- <xs:documentation>compare Anschlussnummer</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="ns6:Extension" minOccurs="0">
- <xs:annotation>
- <xs:documentation>compare Klappe</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:group>
- </xs:schema>
- <xs:schema xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.usp.gv.at/namespace/mandates/20160301#" version="0.0.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
- <xs:element name="AdditionalMandateProperty">
- <xs:annotation>
- <xs:documentation>additional usp specific property for an electronic mandate</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:sequence minOccurs="0">
- <xs:element name="RepresentativeSubId" type="pr:IdentificationType"/>
- <xs:element name="MandatorSubId" type="pr:IdentificationType"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:schema>
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/synchronisation" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:import namespace="http://eai.brz.gv.at/services/vdds/sync-msgs"/>
- <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"/>
- <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
- <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
- <xs:import namespace="http://www.usp.gv.at/namespace/mandates/20160301#"/>
- <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
- <xs:import namespace="http://eai.brz.gv.at/services/vdds/token"/>
- <xs:import/>
- <xs:element name="CreateMandateFault" type="ns3:ResultType"/>
- <xs:element name="CreateMandateStateFault" type="ns3:ResultType"/>
- <xs:element name="ListMandatesFault" type="ns3:ResultType"/>
- <xs:element name="RequestModificationTokenFault" type="ns3:ResultType"/>
- <xs:element name="TerminateMandateFault" type="ns3:ResultType"/>
- <xs:element name="TerminateMandateStateFault" type="ns3:ResultType"/>
- </xs:schema>
- <xs:schema xmlns:pers="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:tk="http://eai.brz.gv.at/services/vdds/token" xmlns:tns="http://eai.brz.gv.at/services/vdds/sync-msgs" xmlns:cm="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/sync-msgs" elementFormDefault="qualified" attributeFormDefault="unqualified">
- <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"/>
- <xs:import namespace="http://eai.brz.gv.at/services/vdds/token"/>
- <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
- <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
- <xs:simpleType name="DetailsType">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Full"/>
- <xs:enumeration value="Identifiers"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="FilterType">
- <xs:sequence>
- <xs:element name="Filter" type="xs:anyType"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="ListMandatesResponseType">
- <xs:choice>
- <xs:sequence>
- <xs:element ref="tns:Pagination" minOccurs="0"/>
- <xs:element ref="tns:SearchResult"/>
- </xs:sequence>
- <xs:sequence>
- <xs:element ref="tns:Result">
- <xs:annotation>
- <xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="x:\S.*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="AbstractPersonData" type="ns6: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="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="Address" type="ns6: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="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="ns6:PersonNameType">
+ <xs:attribute name="Type" type="ns6:AlternativeNameTypeType"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AreaCityCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Vorwahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankConnection" type="ns6:BankConnectionType">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactCorporateBody" substitutionGroup="ns6:Person" type="ns6:CompactCorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactName" type="ns6:CompactPersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</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="ns6:CompactCorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:CompactPhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="ns6:CompactPostalAddress">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:InternetAddress">
+ <xs:annotation>
+ <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:TelephoneAddress">
+ <xs:annotation>
+ <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CompactPhysicalPerson" substitutionGroup="ns6:Person" type="ns6:CompactPhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactPostalAddress" substitutionGroup="ns6:Address" type="ns6:CompactPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</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="CorporateBody" substitutionGroup="ns6:Person" type="ns6:CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</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="DateOfBirth" type="ns6:DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfDeath" type="ns6:DateOfDeathType">
+ <xs:annotation>
+ <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Ergaenzungsregisterzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Ergänzungsregister für nicht-natürliche Personen (CorporateBody)</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>
+ <xs:element name="Fax" type="ns6:TelcomNumberType"/>
+ <xs:element name="Firmenbuchnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="InternationalCountryCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare InternationalerLaendercode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InternetAddress" substitutionGroup="ns6:Address" type="ns6:InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaritalStatus" type="ns6: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="Matrikelnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="Mobile" type="ns6:MobileTelcomNumberType"/>
+ <xs:element name="Name" type="ns6:PersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</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="Nationality" type="ns6: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="Occupation" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>occupation, compare Beruf</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Pager" type="ns6:TelcomNumberType"/>
+ <xs:element name="Person" type="ns6: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>
+ <xs:element name="PersonData" substitutionGroup="ns6:AbstractPersonData" type="ns6:PersonDataType">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PhysicalPerson" substitutionGroup="ns6:Person" type="ns6:PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</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="PostalAddress" substitutionGroup="ns6:Address" type="ns6:PostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sex" type="ns6:SexType">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sozialversicherungsnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="Stammzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="Steuernummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="SubscriberNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Anschlussnummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TTYTDD" type="ns6:TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>teletyper or telephone for the hearing impaired</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Telephone" type="ns6:TelcomNumberType"/>
+ <xs:element name="TelephoneAddress" substitutionGroup="ns6:Address" type="ns6:TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TypedPostalAddress" substitutionGroup="ns6:Address" type="ns6:TypedPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Typed Postal or ZMR Address, compare TypisiertePostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Vereinsnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="ZMRzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="ns6:RelationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>type of the relationship, compare Verwandschftsgrad</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="TelcomNumberGroup">
+ <xs:annotation>
+ <xs:documentation>set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="ns6:InternationalCountryCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare InternationalerLaendercode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:NationalNumber" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare NationalNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:AreaCityCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Vorwahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:SubscriberNumber">
+ <xs:annotation>
+ <xs:documentation>compare Anschlussnummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Extension" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Klappe</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ </xs:schema>
+ <xs:schema xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.usp.gv.at/namespace/mandates/20160301#" version="0.0.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:element name="AdditionalMandateProperty">
+ <xs:annotation>
+ <xs:documentation>additional usp specific property for an electronic mandate</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs="0">
+ <xs:element name="RepresentativeSubId" type="pr:IdentificationType"/>
+ <xs:element name="MandatorSubId" type="pr:IdentificationType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/synchronisation" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/sync-msgs"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:import namespace="http://www.usp.gv.at/namespace/mandates/20160301#"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/token"/>
+ <xs:import/>
+ <xs:element name="CreateMandateFault" type="ns3:ResultType"/>
+ <xs:element name="CreateMandateStateFault" type="ns3:ResultType"/>
+ <xs:element name="ListMandatesFault" type="ns3:ResultType"/>
+ <xs:element name="RequestModificationTokenFault" type="ns3:ResultType"/>
+ <xs:element name="TerminateMandateFault" type="ns3:ResultType"/>
+ <xs:element name="TerminateMandateStateFault" type="ns3:ResultType"/>
+ </xs:schema>
+ <xs:schema xmlns:pers="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:tk="http://eai.brz.gv.at/services/vdds/token" xmlns:tns="http://eai.brz.gv.at/services/vdds/sync-msgs" xmlns:cm="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/sync-msgs" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/token"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:simpleType name="DetailsType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Full"/>
+ <xs:enumeration value="Identifiers"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FilterType">
+ <xs:sequence>
+ <xs:element name="Filter" type="xs:anyType"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ListMandatesResponseType">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element ref="tns:Pagination" minOccurs="0"/>
+ <xs:element ref="tns:SearchResult"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
this is the general purpose response element used
to acknowledge several events
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:choice>
- <xs:attribute name="variantType" type="xs:string"/>
- <xs:attribute name="version" type="xs:string"/>
- </xs:complexType>
- <xs:complexType name="MandateAttributesSearchFilterType">
- <xs:complexContent>
- <xs:restriction base="tns:FilterType">
- <xs:sequence>
- <xs:element name="Filter">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="SearchCriteria">
- <xs:complexType>
- <xs:sequence maxOccurs="7">
- <xs:choice>
- <xs:element name="ActivationRange" type="tns:TimeRangeType"/>
- <xs:element name="MandateType" type="md:TextualDescriptionType"/>
- <xs:element name="MandatorID" type="pers:IdentificationType"/>
- <xs:element name="RepresentativeID" type="pers:IdentificationType"/>
- <xs:element name="TerminationRange" type="tns:TimeRangeType"/>
- <xs:element name="ValidFromTo" type="tns:TimeRangeType"/>
- <xs:element ref="md:Properties">
- <xs:annotation>
- <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:complexType>
+ <xs:complexType name="MandateAttributesSearchFilterType">
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:SearchCriteria" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="SearchCriteriaTestType">
+ <xs:sequence>
+ <xs:element ref="tns:SearchCriteria"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="SearchCriteria" type="tns:SearchCriteriaType" />
+ <xs:complexType name="SearchCriteriaType">
+ <xs:sequence maxOccurs="7">
+ <xs:choice>
+ <xs:element name="ActivationRange" type="tns:TimeRangeType"/>
+ <xs:element name="MandateType" type="md:TextualDescriptionType"/>
+ <xs:element name="MandatorID" type="pers:IdentificationType"/>
+ <xs:element name="RepresentativeID" type="pers:IdentificationType"/>
+ <xs:element name="TerminationRange" type="tns:TimeRangeType"/>
+ <xs:element name="ValidFromTo" type="tns:TimeRangeType"/>
+ <xs:element ref="md:Properties">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="MandateIDSearchFilterType">
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SearchCriteria">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MandateID" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="MandateListType">
+ <xs:choice minOccurs="0">
+ <xs:element ref="tns:MandateAttributes" maxOccurs="unbounded"/>
+ <xs:element ref="md:Mandate" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="MandateRequestType">
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="md:Mandate">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="tns:TextProperties" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OutputFilterType">
+ <xs:complexContent>
+ <xs:extension base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="ReferenceTypes">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Representative"/>
+ <xs:enumeration value="Mandator"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ReferencedMandatesType">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="md:Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="MandateIDSearchFilterType">
- <xs:complexContent>
- <xs:restriction base="tns:FilterType">
- <xs:sequence>
- <xs:element name="Filter">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="SearchCriteria">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="MandateID" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="MandateListType">
- <xs:choice minOccurs="0">
- <xs:element ref="tns:MandateAttributes" maxOccurs="unbounded"/>
- <xs:element ref="md:Mandate" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>electronic mandate</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- </xs:complexType>
- <xs:complexType name="MandateRequestType">
- <xs:sequence>
- <xs:element ref="tk:ModificationToken"/>
- <xs:element ref="md:Mandate">
- <xs:annotation>
- <xs:documentation>electronic mandate</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="tns:TextProperties" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="OutputFilterType">
- <xs:complexContent>
- <xs:extension base="tns:FilterType">
- <xs:sequence>
- <xs:element name="Details" type="tns:DetailsType"/>
- </xs:sequence>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:simpleType name="ReferenceTypes">
- <xs:restriction base="xs:string">
- <xs:enumeration value="Representative"/>
- <xs:enumeration value="Mandator"/>
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="ReferencedMandatesType">
- <xs:sequence>
- <xs:choice>
- <xs:element ref="md:Mandator">
- <xs:annotation>
- <xs:documentation>personal data defining the mandator
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:Representative">
- <xs:annotation>
- <xs:documentation>personal data defining the representative
- </xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- <xs:choice>
- <xs:element ref="tns:MandateAttributes" maxOccurs="unbounded"/>
- <xs:element ref="md:Mandate" maxOccurs="unbounded">
- <xs:annotation>
- <xs:documentation>electronic mandate</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:choice>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="SimplePath">
- <xs:sequence>
- <xs:element name="PathTo">
- <xs:complexType>
- <xs:attribute name="recurse" type="xs:boolean"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="TimeRangeType">
- <xs:sequence>
- <xs:element name="From" type="md:DateType"/>
- <xs:element name="To" default="9999-12-31" type="md:DateType"/>
- </xs:sequence>
- <xs:attribute name="strictRange" type="xs:boolean"/>
- </xs:complexType>
- <xs:element name="CreateMandateAck" type="cm:ReferableResultType"/>
- <xs:element name="CreateMandateAsyncResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="tk:ModificationToken"/>
- <xs:element ref="tns:Result">
- <xs:annotation>
- <xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:choice>
+ <xs:element ref="tns:MandateAttributes" maxOccurs="unbounded"/>
+ <xs:element ref="md:Mandate" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SimplePath">
+ <xs:sequence>
+ <xs:element name="PathTo">
+ <xs:complexType>
+ <xs:attribute name="recurse" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TimeRangeType">
+ <xs:sequence>
+ <xs:element name="From" type="md:DateType"/>
+ <xs:element name="To" default="9999-12-31" type="md:DateType"/>
+ </xs:sequence>
+ <xs:attribute name="strictRange" type="xs:boolean"/>
+ </xs:complexType>
+ <xs:element name="CreateMandateAck" type="cm:ReferableResultType"/>
+ <xs:element name="CreateMandateAsyncResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
this is the general purpose response element used
to acknowledge several events
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="CreateMandateRequest" type="tns:MandateRequestType"/>
- <xs:element name="ListMandatesRequest">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="tns:SearchFilter" maxOccurs="2"/>
- <xs:element ref="tns:OutputFilter" minOccurs="0"/>
- </xs:sequence>
- <xs:attribute name="variantType" type="xs:string"/>
- <xs:attribute name="version" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="ListMandatesResponse" type="tns:ListMandatesResponseType"/>
- <xs:element name="ListReferencedMandatesOutputFilter" substitutionGroup="tns:OutputFilter">
- <xs:complexType>
- <xs:complexContent>
- <xs:restriction base="tns:OutputFilterType">
- <xs:sequence>
- <xs:element name="Filter">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="ReferencedBy" type="tns:ReferenceTypes"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Details" type="tns:DetailsType"/>
- </xs:sequence>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="MandateAttributes">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="MandateId" type="xs:string" minOccurs="0"/>
- <xs:element name="MandateType" type="md:TextualDescriptionType" minOccurs="0"/>
- <xs:element name="MandateText" type="md:ParameterisedDescriptionType" minOccurs="0"/>
- <xs:element ref="md:Mandator" minOccurs="0">
- <xs:annotation>
- <xs:documentation>personal data defining the mandator
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateMandateRequest" type="tns:MandateRequestType"/>
+ <xs:element name="ListMandatesRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:SearchFilter" maxOccurs="2"/>
+ <xs:element ref="tns:OutputFilter" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ListMandatesResponse" type="tns:ListMandatesResponseType"/>
+ <xs:element name="ListReferencedMandatesOutputFilter" substitutionGroup="tns:OutputFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:OutputFilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ReferencedBy" type="tns:ReferenceTypes"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MandateAttributes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MandateId" type="xs:string" minOccurs="0"/>
+ <xs:element name="MandateType" type="md:TextualDescriptionType" minOccurs="0"/>
+ <xs:element name="MandateText" type="md:ParameterisedDescriptionType" minOccurs="0"/>
+ <xs:element ref="md:Mandator" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:Representative" minOccurs="0">
- <xs:annotation>
- <xs:documentation>personal data defining the representative
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element ref="md:Properties" minOccurs="0">
- <xs:annotation>
- <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Properties" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="ActivationTime" type="xs:dateTime" minOccurs="0"/>
- <xs:element name="TerminationTime" type="xs:dateTime" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="MandateAttributesSearchFilter" substitutionGroup="tns:SearchFilter" type="tns:MandateAttributesSearchFilterType"/>
- <xs:element name="MandateIDSearchFilter" substitutionGroup="tns:SearchFilter" type="tns:MandateIDSearchFilterType"/>
- <xs:element name="MandateList" substitutionGroup="tns:SearchResult">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Mandates" type="tns:MandateListType"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="OutputFilter" type="tns:OutputFilterType"/>
- <xs:element name="Pagination">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="StartRow" type="xs:integer"/>
- <xs:element name="NumRows" type="xs:integer"/>
- <xs:element name="HasMore" type="xs:boolean" minOccurs="0"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="PaginationFilter" substitutionGroup="tns:SearchFilter">
- <xs:complexType>
- <xs:complexContent>
- <xs:restriction base="tns:FilterType">
- <xs:sequence>
- <xs:element name="Filter">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="tns:Pagination"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="ProcessTypeOutputFilter" substitutionGroup="tns:OutputFilter">
- <xs:complexType>
- <xs:complexContent>
- <xs:restriction base="tns:OutputFilterType">
- <xs:sequence>
- <xs:element name="Filter">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="ProcessIdentifier" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Details" type="tns:DetailsType"/>
- </xs:sequence>
- </xs:restriction>
- </xs:complexContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="ReferencedMandatesResult" substitutionGroup="tns:SearchResult">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="ReferencedMandates" type="tns:ReferencedMandatesType"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="Result" type="cm:ReferableResultType">
- <xs:annotation>
- <xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ActivationTime" type="xs:dateTime" minOccurs="0"/>
+ <xs:element name="TerminationTime" type="xs:dateTime" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MandateAttributesSearchFilter" substitutionGroup="tns:SearchFilter" type="tns:MandateAttributesSearchFilterType"/>
+ <xs:element name="MandateIDSearchFilter" substitutionGroup="tns:SearchFilter" type="tns:MandateIDSearchFilterType"/>
+ <xs:element name="MandateList" substitutionGroup="tns:SearchResult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Mandates" type="tns:MandateListType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OutputFilter" type="tns:OutputFilterType"/>
+ <xs:element name="Pagination">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StartRow" type="xs:integer"/>
+ <xs:element name="NumRows" type="xs:integer"/>
+ <xs:element name="HasMore" type="xs:boolean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaginationFilter" substitutionGroup="tns:SearchFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Pagination"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ProcessTypeOutputFilter" substitutionGroup="tns:OutputFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:OutputFilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ProcessIdentifier" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ReferencedMandatesResult" substitutionGroup="tns:SearchResult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ReferencedMandates" type="tns:ReferencedMandatesType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Result" type="cm:ReferableResultType">
+ <xs:annotation>
+ <xs:documentation>
this is the general purpose response element used
to acknowledge several events
</xs:documentation>
- </xs:annotation>
- </xs:element>
- <xs:element name="SearchFilter" type="tns:FilterType"/>
- <xs:element name="SearchResult" type="xs:anyType"/>
- <xs:element name="TerminateMandateAck" type="cm:ReferableResultType"/>
- <xs:element name="TerminateMandateAsyncResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="tk:ModificationToken"/>
- <xs:element ref="tns:Result">
- <xs:annotation>
- <xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchFilter" type="tns:FilterType"/>
+ <xs:element name="SearchResult" type="xs:anyType"/>
+ <xs:element name="TerminateMandateAck" type="cm:ReferableResultType"/>
+ <xs:element name="TerminateMandateAsyncResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
this is the general purpose response element used
to acknowledge several events
</xs:documentation>
- </xs:annotation>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="TerminateMandateRequest" type="tns:MandateRequestType"/>
- <xs:element name="TextProperties">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Property" maxOccurs="unbounded">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="Name" type="xs:string"/>
- <xs:element name="Value" type="xs:string"/>
- </xs:sequence>
- <xs:attribute name="ValueType" type="xs:string"/>
- </xs:complexType>
- </xs:element>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:attributeGroup name="VariantAttributes">
- <xs:attribute name="variantType" type="xs:string"/>
- <xs:attribute name="version" type="xs:string"/>
- </xs:attributeGroup>
- </xs:schema>
- </wsdl:types>
- <wsdl:service name="synchronisation-service.serviceagent">
- <wsdl:port name="ISyncServiceEndpoint" binding="tns:ISyncServiceEndpointBinding">
- <soap:address location="http://localhost:7145/Synchronisation-Provide-WSDL"/>
- </wsdl:port>
- </wsdl:service>
- <wsdl:portType name="ISyncService">
- <wsdl:operation name="TerminateMandateState">
- <wsdl:input message="tns:TerminateMandateStateRequest"/>
- <wsdl:output message="tns:TerminateMandate_OutputMessage"/>
- <wsdl:fault name="fault" message="tns:TerminateMandateStateFault"/>
- </wsdl:operation>
- <wsdl:operation name="TerminateMandate">
- <wsdl:input message="tns:TerminateMandate_InputMessage"/>
- <wsdl:output message="tns:TerminateMandate_OutputMessage"/>
- <wsdl:fault name="fault" message="tns:TerminateMandateFault"/>
- </wsdl:operation>
- <wsdl:operation name="CreateMandate">
- <wsdl:input message="tns:CreateMandate_InputMessage"/>
- <wsdl:output message="tns:CreateMandate_OutputMessage"/>
- <wsdl:fault name="fault" message="tns:CreateMandateFault"/>
- </wsdl:operation>
- <wsdl:operation name="ListMandates">
- <wsdl:input message="tns:ListMandatesRequest"/>
- <wsdl:output message="tns:ListMandatesResponse"/>
- <wsdl:fault name="fault" message="tns:ListMandatesFault"/>
- </wsdl:operation>
- <wsdl:operation name="RequestModificationToken">
- <wsdl:input message="tns:RequestToken_InputMessage"/>
- <wsdl:output message="tns:RequestToken_OutputMessage"/>
- <wsdl:fault name="fault" message="tns:RequestModificationTokenFault"/>
- </wsdl:operation>
- <wsdl:operation name="CreateMandateState">
- <wsdl:input message="tns:CreateMandateStateRequest"/>
- <wsdl:output message="tns:CreateMandate_OutputMessage"/>
- <wsdl:fault name="fault" message="tns:CreateMandateStateFault"/>
- </wsdl:operation>
- </wsdl:portType>
- <wsdl:binding name="ISyncServiceEndpointBinding" type="tns:ISyncService">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
- <wsdl:operation name="TerminateMandateState">
- <soap:operation style="document" soapAction="TerminateMandateState"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- <wsdl:fault name="fault">
- <soap:fault use="literal" name="fault"/>
- </wsdl:fault>
- </wsdl:operation>
- <wsdl:operation name="TerminateMandate">
- <soap:operation style="document" soapAction="TerminateMandate"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- <wsdl:fault name="fault">
- <soap:fault use="literal" name="fault"/>
- </wsdl:fault>
- </wsdl:operation>
- <wsdl:operation name="CreateMandate">
- <soap:operation style="document" soapAction="CreateMandate"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- <wsdl:fault name="fault">
- <soap:fault use="literal" name="fault"/>
- </wsdl:fault>
- </wsdl:operation>
- <wsdl:operation name="ListMandates">
- <soap:operation style="document" soapAction="ListMandates"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- <wsdl:fault name="fault">
- <soap:fault use="literal" name="fault"/>
- </wsdl:fault>
- </wsdl:operation>
- <wsdl:operation name="RequestModificationToken">
- <soap:operation style="document" soapAction="RequestModificationToken"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- <wsdl:fault name="fault">
- <soap:fault use="literal" name="fault"/>
- </wsdl:fault>
- </wsdl:operation>
- <wsdl:operation name="CreateMandateState">
- <soap:operation style="document" soapAction="CreateMandateState"/>
- <wsdl:input>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:input>
- <wsdl:output>
- <soap:body use="literal" parts="parameters"/>
- </wsdl:output>
- <wsdl:fault name="fault">
- <soap:fault use="literal" name="fault"/>
- </wsdl:fault>
- </wsdl:operation>
- </wsdl:binding>
- <wsdl:message name="TerminateMandateStateRequest">
- <wsdl:part name="parameters" element="ns0:TerminateMandateAsyncResponse"/>
- </wsdl:message>
- <wsdl:message name="TerminateMandate_OutputMessage">
- <wsdl:part name="parameters" element="ns0:TerminateMandateAck"/>
- </wsdl:message>
- <wsdl:message name="TerminateMandateStateFault">
- <wsdl:part name="parameters" element="ns1:TerminateMandateStateFault"/>
- </wsdl:message>
- <wsdl:message name="TerminateMandate_InputMessage">
- <wsdl:part name="parameters" element="ns0:TerminateMandateRequest"/>
- </wsdl:message>
- <wsdl:message name="TerminateMandateFault">
- <wsdl:part name="parameters" element="ns1:TerminateMandateFault"/>
- </wsdl:message>
- <wsdl:message name="CreateMandate_InputMessage">
- <wsdl:part name="parameters" element="ns0:CreateMandateRequest"/>
- </wsdl:message>
- <wsdl:message name="CreateMandate_OutputMessage">
- <wsdl:part name="parameters" element="ns0:CreateMandateAck"/>
- </wsdl:message>
- <wsdl:message name="CreateMandateFault">
- <wsdl:part name="parameters" element="ns1:CreateMandateFault"/>
- </wsdl:message>
- <wsdl:message name="ListMandatesRequest">
- <wsdl:part name="parameters" element="ns0:ListMandatesRequest"/>
- </wsdl:message>
- <wsdl:message name="ListMandatesResponse">
- <wsdl:part name="parameters" element="ns0:ListMandatesResponse"/>
- </wsdl:message>
- <wsdl:message name="ListMandatesFault">
- <wsdl:part name="parameters" element="ns1:ListMandatesFault"/>
- </wsdl:message>
- <wsdl:message name="RequestToken_InputMessage">
- <wsdl:part name="parameters" element="ns2:ModificationTokenRequest"/>
- </wsdl:message>
- <wsdl:message name="RequestToken_OutputMessage">
- <wsdl:part name="parameters" element="ns2:ModificationTokenResponse"/>
- </wsdl:message>
- <wsdl:message name="RequestModificationTokenFault">
- <wsdl:part name="parameters" element="ns1:RequestModificationTokenFault"/>
- </wsdl:message>
- <wsdl:message name="CreateMandateStateRequest">
- <wsdl:part name="parameters" element="ns0:CreateMandateAsyncResponse"/>
- </wsdl:message>
- <wsdl:message name="CreateMandateStateFault">
- <wsdl:part name="parameters" element="ns1:CreateMandateStateFault"/>
- </wsdl:message>
-</wsdl:definitions> \ No newline at end of file
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TerminateMandateRequest" type="tns:MandateRequestType"/>
+ <xs:element name="TextProperties">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Property" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Value" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="ValueType" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="VariantAttributes">
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:attributeGroup>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="TerminateMandateStateRequest">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateAsyncResponse"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandate_OutputMessage">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateAck"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandateStateFault">
+ <wsdl:part name="parameters" element="ns1:TerminateMandateStateFault"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandate_InputMessage">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateRequest"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandateFault">
+ <wsdl:part name="parameters" element="ns1:TerminateMandateFault"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandate_InputMessage">
+ <wsdl:part name="parameters" element="ns0:CreateMandateRequest"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandate_OutputMessage">
+ <wsdl:part name="parameters" element="ns0:CreateMandateAck"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateFault">
+ <wsdl:part name="parameters" element="ns1:CreateMandateFault"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesRequest">
+ <wsdl:part name="parameters" element="ns0:ListMandatesRequest"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesResponse">
+ <wsdl:part name="parameters" element="ns0:ListMandatesResponse"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesFault">
+ <wsdl:part name="parameters" element="ns1:ListMandatesFault"/>
+ </wsdl:message>
+ <wsdl:message name="RequestToken_InputMessage">
+ <wsdl:part name="parameters" element="ns2:ModificationTokenRequest"/>
+ </wsdl:message>
+ <wsdl:message name="RequestToken_OutputMessage">
+ <wsdl:part name="parameters" element="ns2:ModificationTokenResponse"/>
+ </wsdl:message>
+ <wsdl:message name="RequestModificationTokenFault">
+ <wsdl:part name="parameters" element="ns1:RequestModificationTokenFault"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateStateRequest">
+ <wsdl:part name="parameters" element="ns0:CreateMandateAsyncResponse"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateStateFault">
+ <wsdl:part name="parameters" element="ns1:CreateMandateStateFault"/>
+ </wsdl:message>
+ <wsdl:portType name="ISyncService">
+ <wsdl:operation name="TerminateMandateState">
+ <wsdl:input message="tns:TerminateMandateStateRequest"/>
+ <wsdl:output message="tns:TerminateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:TerminateMandateStateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="TerminateMandate">
+ <wsdl:input message="tns:TerminateMandate_InputMessage"/>
+ <wsdl:output message="tns:TerminateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:TerminateMandateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandate">
+ <wsdl:input message="tns:CreateMandate_InputMessage"/>
+ <wsdl:output message="tns:CreateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:CreateMandateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="ListMandates">
+ <wsdl:input message="tns:ListMandatesRequest"/>
+ <wsdl:output message="tns:ListMandatesResponse"/>
+ <wsdl:fault name="fault" message="tns:ListMandatesFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="RequestModificationToken">
+ <wsdl:input message="tns:RequestToken_InputMessage"/>
+ <wsdl:output message="tns:RequestToken_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:RequestModificationTokenFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandateState">
+ <wsdl:input message="tns:CreateMandateStateRequest"/>
+ <wsdl:output message="tns:CreateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:CreateMandateStateFault"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ISyncServiceEndpointBinding" type="tns:ISyncService">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="TerminateMandateState">
+ <soap:operation soapAction="TerminateMandateState" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="TerminateMandate">
+ <soap:operation soapAction="TerminateMandate" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandate">
+ <soap:operation soapAction="CreateMandate" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="ListMandates">
+ <soap:operation soapAction="ListMandates" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="RequestModificationToken">
+ <soap:operation soapAction="RequestModificationToken" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandateState">
+ <soap:operation soapAction="CreateMandateState" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="synchronisation-service.serviceagent">
+ <wsdl:port name="ISyncServiceEndpoint" binding="tns:ISyncServiceEndpointBinding">
+ <soap:address location="http://localhost:7145/Synchronisation-Provide-WSDL"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/mis/usp_v2/Synchronisation-1_backup.wsdl b/src/main/resources/wsdl/mis/usp_v2/Synchronisation-1_backup.wsdl
new file mode 100644
index 0000000..9dc5848
--- /dev/null
+++ b/src/main/resources/wsdl/mis/usp_v2/Synchronisation-1_backup.wsdl
@@ -0,0 +1,2632 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Created by TIBCO WSDL-->
+<wsdl:definitions xmlns:ns6="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:ns5="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns7="http://www.usp.gv.at/namespace/mandates/20160301#" xmlns:tns="http://xmlns.example.com/1481028889472" xmlns:ns0="http://eai.brz.gv.at/services/vdds/sync-msgs" xmlns:ns2="http://eai.brz.gv.at/services/vdds/token" xmlns:ns1="http://eai.brz.gv.at/services/vdds/synchronisation" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="http://eai.brz.gv.at/services/vdds/common" name="Untitled" targetNamespace="http://xmlns.example.com/1481028889472">
+ <wsdl:types>
+ <xs:schema xmlns:tns="http://eai.brz.gv.at/services/vdds/token" xmlns:cm="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/token" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:simpleType name="ActionTypeType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CreateMandate"/>
+ <xs:enumeration value="TerminateMandate"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ModificationTokenResultType">
+ <xs:complexContent>
+ <xs:extension base="cm:ReferableResultType">
+ <xs:sequence>
+ <xs:element ref="tns:ModificationToken" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="ModificationTokenType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="IssuedAt" type="xs:dateTime"/>
+ <xs:attribute name="ValidUntil" type="xs:dateTime"/>
+ <xs:anyAttribute processContents="strict" namespace="##any"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:element name="ModificationToken" type="tns:ModificationTokenType"/>
+ <xs:element name="ModificationTokenRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any processContents="strict" namespace="##other"/>
+ </xs:sequence>
+ <xs:attribute name="ActionType" type="tns:ActionTypeType"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ModificationTokenResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Result" type="tns:ModificationTokenResultType"/>
+ <xs:any minOccurs="0" processContents="strict" namespace="##other"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/sync-msgs"/>
+ </xs:schema>
+ <xs:schema xmlns:tns="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/common" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:simpleType name="ActionType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="REQUEST_TOKEN"/>
+ <xs:enumeration value="CREATE_MANDATE"/>
+ <xs:enumeration value="TERMINATE_MANDATE"/>
+ <xs:enumeration value="SYNC_CREATE"/>
+ <xs:enumeration value="SYNC_TERMINATE"/>
+ <xs:enumeration value="COMMIT_CREATE"/>
+ <xs:enumeration value="COMMIT_TERMINATE"/>
+ <xs:enumeration value="ROLLBACK_CREATE"/>
+ <xs:enumeration value="ROLLBACK_TERMINATE"/>
+ <xs:enumeration value="NOTIFY_SUCCESS_CREATE"/>
+ <xs:enumeration value="NOTIFY_SUCCESS_TERMINATE"/>
+ <xs:enumeration value="NOTIFY_ROLLBACK_CREATE"/>
+ <xs:enumeration value="NOTIFY_ROLLBACK_TERMINATE"/>
+ <xs:enumeration value="NOOP"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Header">
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Value" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProcessStateType">
+ <xs:sequence>
+ <xs:element name="ProcessAction" type="tns:ActionType"/>
+ <xs:element name="ProcessState" type="tns:StateType"/>
+ <xs:element name="LastProcessingTS" type="xs:dateTime"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferableResultType">
+ <xs:complexContent>
+ <xs:extension base="tns:ResultType">
+ <xs:sequence>
+ <xs:element name="RefID" type="xs:string"/>
+ <xs:element name="State" type="tns:StateType"/>
+ <xs:element name="ProcessState" type="tns:ProcessStateType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="ResultType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="ErrorCode" type="xs:string"/>
+ <xs:element name="ErrorMessage" type="xs:string"/>
+ <xs:element name="ErrorLevel" default="ERROR" type="tns:SeverityType"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="SeverityType">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="DEBUG"/>
+ <xs:enumeration value="INFO"/>
+ <xs:enumeration value="WARNING"/>
+ <xs:enumeration value="ERROR"/>
+ <xs:enumeration value="FATAL"/>
+ <xs:enumeration value="BL_INFO"/>
+ <xs:enumeration value="BL_WARNING"/>
+ <xs:enumeration value="BL_ERROR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="StateType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="TOKEN"/>
+ <xs:enumeration value="RETRY"/>
+ <xs:enumeration value="PARTNER"/>
+ <xs:enumeration value="SYNC"/>
+ <xs:enumeration value="SYNCED"/>
+ <xs:enumeration value="COMMIT"/>
+ <xs:enumeration value="ROLLBACK"/>
+ <xs:enumeration value="APPLICABLE"/>
+ <xs:enumeration value="ERRONEOUS"/>
+ <xs:enumeration value="ROLLEDBACK"/>
+ <xs:enumeration value="TERMINATED"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="Headers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Header" type="tns:Header" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="##any"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <simpleType name="CryptoBinary">
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <simpleType name="DigestValueType">
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:MgmtData"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:X509Data"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ </complexType>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any processContents="lax" namespace="##any"/>
+ </sequence>
+ <attribute name="Encoding" type="anyURI"/>
+ <attribute name="Id" type="ID"/>
+ <attribute name="MimeType" type="string"/>
+ </complexType>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="base64Binary"/>
+ <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="base64Binary"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ <attribute name="Type" type="anyURI"/>
+ <attribute name="URI" type="anyURI"/>
+ </complexType>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ </sequence>
+ <attribute name="Type" type="anyURI"/>
+ <attribute name="URI" type="anyURI"/>
+ </complexType>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="base64Binary"/>
+ <any minOccurs="0" processContents="lax" namespace="##other"/>
+ </sequence>
+ </complexType>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="##other"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Id" type="ID"/>
+ <attribute name="Target" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="base64Binary">
+ <attribute name="Id" type="ID"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="XPath" type="string"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509CRL" type="base64Binary"/>
+ <element name="X509Certificate" type="base64Binary"/>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="base64Binary"/>
+ <element name="X509SubjectName" type="string"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <element name="KeyName" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <element name="MgmtData" type="string"/>
+ <element name="Object" type="ds:ObjectType"/>
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <element name="Reference" type="ds:ReferenceType"/>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <element name="Signature" type="ds:SignatureType"/>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <element name="Transform" type="ds:TransformType"/>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <element name="X509Data" type="ds:X509DataType"/>
+ </schema>
+ <xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:usp="http://www.usp.gv.at/namespace/mandates/20160301#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#" version="0.0.4" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:import namespace="http://www.usp.gv.at/namespace/mandates/20160301#"/>
+ <xs:simpleType name="DateType">
+ <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:complexType name="ParameterisedDescriptionType">
+ <xs:annotation>
+ <xs:documentation>complex type for a parameterised description
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="md:ParameterisedText">
+ <xs:annotation>
+ <xs:documentation>element contains parameterised text and the
+ definition of the annotation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:ParameterDefinition" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains the definition of parameters used
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ParameterisedTextType" mixed="true">
+ <xs:annotation>
+ <xs:documentation>complex type for describing a parameterised text
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="md:PasteParameter">
+ <xs:annotation>
+ <xs:documentation>element represent a parameter to be replaced in the
+ parameterised text</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PropertiesType">
+ <xs:annotation>
+ <xs:documentation>complex type for describing arbitrary properties of
+ mandates</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="usp:AdditionalMandateProperty">
+ <xs:annotation>
+ <xs:documentation>additional usp specific property for an electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SubstitutionAllowed" default="false" type="xs:boolean" minOccurs="0"/>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SimpleMandateContentType">
+ <xs:annotation>
+ <xs:documentation>complex type for describing the mandate using some
+ textual descriptions</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:ParameterisedDescription">
+ <xs:annotation>
+ <xs:documentation>element contains a parameterised description of a
+ mandate's
+ content
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:TextualDescription">
+ <xs:annotation>
+ <xs:documentation>element contians parameterised text
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element name="References" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="MandateID">
+ <xs:annotation>
+ <xs:documentation>the ID of the Mandate which is referenced by
+ the TextualDescription-Element</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:token"/>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:group ref="md:ConstraintsGroup">
+ <xs:annotation>
+ <xs:documentation>group of constraints applicable for a mandate
+ content</xs:documentation>
+ </xs:annotation>
+ </xs:group>
+ </xs:sequence>
+ <xs:attribute name="ContentIdentifier" type="xs:string"/>
+ </xs:complexType>
+ <xs:simpleType name="TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>simple type for textual descriptions of mandates,
+ constraints,..</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:whiteSpace value="collapse"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="Annotation">
+ <xs:annotation>
+ <xs:documentation>arbitrary annotation containing a short description
+ of the mandate</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:whiteSpace value="collapse"/>
+ <xs:maxLength value="255"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="AnyConstraints" type="md:TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Intermediary" type="pr:PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>personal data defining the intermediary
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Issued">
+ <xs:annotation>
+ <xs:documentation>the place and the date of issuing the mandate
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Place" type="xs:token"/>
+ <xs:element name="Date" type="md:DateType"/>
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Mandate">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="md:Annotation" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>arbitrary annotation containing a short description
+ of the mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:StatusInformationService" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>location to retrieve current status information
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Intermediary" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>personal data defining the intermediary
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Issued">
+ <xs:annotation>
+ <xs:documentation>the place and the date of issuing the mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Properties" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:SimpleMandateContent">
+ <xs:annotation>
+ <xs:documentation>element contains the content of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element ref="dsig:Signature" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="MandateID" use="required" type="xs:string"/>
+ <xs:attribute name="MandateType" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ParameterDefinition">
+ <xs:annotation>
+ <xs:documentation>element contains the definition of parameters used
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="md:SetParameter">
+ <xs:annotation>
+ <xs:documentation>element defines a parameter</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ParameterisedDescription" type="md:ParameterisedDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contains a parameterised description of a
+ mandate's
+ content
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ParameterisedText" type="md:ParameterisedTextType">
+ <xs:annotation>
+ <xs:documentation>element contains parameterised text and the
+ definition of the annotation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PasteParameter">
+ <xs:annotation>
+ <xs:documentation>element represent a parameter to be replaced in the
+ parameterised text</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="Name" type="xs:token"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Properties" type="md:PropertiesType">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SetParameter">
+ <xs:annotation>
+ <xs:documentation>element defines a parameter</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:token">
+ <xs:attribute name="Name" type="xs:token"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SimpleMandateContent" type="md:SimpleMandateContentType">
+ <xs:annotation>
+ <xs:documentation>element contains the content of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StatusInformationService" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>location to retrieve current status information
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TextualDescription" type="md:TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contians parameterised text
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ValidFrom" type="md:DateType">
+ <xs:annotation>
+ <xs:documentation>element describes beginning of the validity period
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ValidTo" type="md:DateType">
+ <xs:annotation>
+ <xs:documentation>element describes endpoint of the validity period
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:group name="ConstraintsGroup">
+ <xs:annotation>
+ <xs:documentation>group of constraints applicable for a mandate
+ content</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="TimeConstraint" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="md:ValidFrom">
+ <xs:annotation>
+ <xs:documentation>element describes beginning of the validity period
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:ValidTo">
+ <xs:annotation>
+ <xs:documentation>element describes endpoint of the validity period
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CollectiveConstraint" minOccurs="0">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:AnyConstraints">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TransactionLimit" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Amount" type="xs:float"/>
+ <xs:element name="Currency" default="EUR" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="md:AnyConstraints" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ </xs:schema>
+ <xs:schema xmlns="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" version="1.0.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>main structure of address data</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0">
+ <xs:element name="Identification" type="ns6:IdentificationType" 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"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element ref="ns6:AbstractSimpleIdentification" minOccurs="0" maxOccurs="unbounded">
+ <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="Identification" type="ns6:IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </xs:complexType>
+ <xs:simpleType name="AlternativeNameTypeType">
+ <xs:annotation>
+ <xs:documentation>known + any other alternative name types</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="ns6:xStringPatternExtensionType ns6:DefinedAlternativeNameTypeType"/>
+ </xs:simpleType>
+ <xs:complexType name="BankConnectionType">
+ <xs:annotation>
+ <xs:documentation>compare BankverbindungTyp</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Holder" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Account holder, compare Inhaber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare BankName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice>
+ <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: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:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CompactCorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </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="ns6:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="ns6:Person">
+ <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>
+ <xs:element ref="ns6:Address" minOccurs="0" maxOccurs="unbounded">
+ <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 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 processContents="lax" namespace="##any">
+ <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="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="prefix" type="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: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="position">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="type">
+ <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:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CompactPhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="ns6:CompactName">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:MaritalStatus" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Sex" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PlaceOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Nationality" minOccurs="0" maxOccurs="unbounded">
+ <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:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </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="ns6: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="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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="ns6:BankConnection" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <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="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="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="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>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID"/>
+ </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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </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="ns6: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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <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:complexType name="MobileTelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>like TelephoneAddresseType but with additional smsEnabled attribute</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:TelcomNumberType">
+ <xs:attribute name="smsEnabled" type="xs:boolean"/>
+ </xs:extension>
+ </xs:complexContent>
+ </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 processContents="lax" namespace="##other"/>
+ </xs:sequence>
+ </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="ns6:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="ns6:Person">
+ <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>
+ <xs:element ref="ns6:Address" minOccurs="0" maxOccurs="unbounded">
+ <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 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 processContents="lax" namespace="##any">
+ <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="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="prefix" type="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: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="position">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="type">
+ <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:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="ns6:Name" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:AlternativeName" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Former name, Artist name, changes of Given name ..., compare AlternativName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:MaritalStatus" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Sex" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PlaceOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:StateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>state of birth, comapre Geburtsbundesland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:CountryOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>country of birth, compare Geburtsland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfDeath" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Nationality" minOccurs="0" maxOccurs="unbounded">
+ <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 ref="ns6:Confession" minOccurs="0">
+ <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 ref="ns6:Occupation" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>occupation, compare Beruf</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:relatedPerson" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>relatives (parents, ...), compare Verwandter</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:BankConnection" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <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="ns6: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="ns6:string7"/>
+ <xs:element name="SubCode" type="ns6:string3" minOccurs="0"/>
+ <xs:element name="ObjectNumber" type="ns6: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="ns6: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:simpleType name="RelationType">
+ <xs:annotation>
+ <xs:documentation>known + any other relation</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="ns6:xStringPatternExtensionType ns6:DefinedRelationType"/>
+ </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:complexType name="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>formated number or set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ <xs:choice>
+ <xs:element ref="ns6:FormattedNumber">
+ <xs:annotation>
+ <xs:documentation>Complete number, ready formated - e.g. +43 1 5131345 4664 compare FormatierteNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:group ref="ns6:TelcomNumberGroup">
+ <xs:annotation>
+ <xs:documentation>set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ </xs:group>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>phone numbers, conmpare TelephoneAdresseTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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="ns6:TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </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="ns6: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="ns6:PostalAddress">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="integer5">
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="10000"/>
+ <xs:maxInclusive value="99999"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string100">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string20">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string30">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="30"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string4">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string50">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="50"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </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:element name="AbstractPersonData" type="ns6: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="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="Address" type="ns6: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="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="ns6:PersonNameType">
+ <xs:attribute name="Type" type="ns6:AlternativeNameTypeType"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AreaCityCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Vorwahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankConnection" type="ns6:BankConnectionType">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactCorporateBody" substitutionGroup="ns6:Person" type="ns6:CompactCorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactName" type="ns6:CompactPersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</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="ns6:CompactCorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:CompactPhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="ns6:CompactPostalAddress">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:InternetAddress">
+ <xs:annotation>
+ <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:TelephoneAddress">
+ <xs:annotation>
+ <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CompactPhysicalPerson" substitutionGroup="ns6:Person" type="ns6:CompactPhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactPostalAddress" substitutionGroup="ns6:Address" type="ns6:CompactPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</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="CorporateBody" substitutionGroup="ns6:Person" type="ns6:CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</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="DateOfBirth" type="ns6:DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfDeath" type="ns6:DateOfDeathType">
+ <xs:annotation>
+ <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Ergaenzungsregisterzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Ergänzungsregister für nicht-natürliche Personen (CorporateBody)</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>
+ <xs:element name="Fax" type="ns6:TelcomNumberType"/>
+ <xs:element name="Firmenbuchnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="InternationalCountryCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare InternationalerLaendercode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InternetAddress" substitutionGroup="ns6:Address" type="ns6:InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaritalStatus" type="ns6: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="Matrikelnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="Mobile" type="ns6:MobileTelcomNumberType"/>
+ <xs:element name="Name" type="ns6:PersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</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="Nationality" type="ns6: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="Occupation" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>occupation, compare Beruf</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Pager" type="ns6:TelcomNumberType"/>
+ <xs:element name="Person" type="ns6: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>
+ <xs:element name="PersonData" substitutionGroup="ns6:AbstractPersonData" type="ns6:PersonDataType">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PhysicalPerson" substitutionGroup="ns6:Person" type="ns6:PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</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="PostalAddress" substitutionGroup="ns6:Address" type="ns6:PostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sex" type="ns6:SexType">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sozialversicherungsnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="Stammzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="Steuernummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="SubscriberNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Anschlussnummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TTYTDD" type="ns6:TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>teletyper or telephone for the hearing impaired</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Telephone" type="ns6:TelcomNumberType"/>
+ <xs:element name="TelephoneAddress" substitutionGroup="ns6:Address" type="ns6:TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TypedPostalAddress" substitutionGroup="ns6:Address" type="ns6:TypedPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Typed Postal or ZMR Address, compare TypisiertePostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Vereinsnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="ZMRzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="ns6:RelationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>type of the relationship, compare Verwandschftsgrad</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="TelcomNumberGroup">
+ <xs:annotation>
+ <xs:documentation>set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="ns6:InternationalCountryCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare InternationalerLaendercode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:NationalNumber" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare NationalNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:AreaCityCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Vorwahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:SubscriberNumber">
+ <xs:annotation>
+ <xs:documentation>compare Anschlussnummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Extension" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Klappe</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ </xs:schema>
+ <xs:schema xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.usp.gv.at/namespace/mandates/20160301#" version="0.0.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:element name="AdditionalMandateProperty">
+ <xs:annotation>
+ <xs:documentation>additional usp specific property for an electronic mandate</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs="0">
+ <xs:element name="RepresentativeSubId" type="pr:IdentificationType"/>
+ <xs:element name="MandatorSubId" type="pr:IdentificationType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/synchronisation" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/sync-msgs"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:import namespace="http://www.usp.gv.at/namespace/mandates/20160301#"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/token"/>
+ <xs:import/>
+ <xs:element name="CreateMandateFault" type="ns3:ResultType"/>
+ <xs:element name="CreateMandateStateFault" type="ns3:ResultType"/>
+ <xs:element name="ListMandatesFault" type="ns3:ResultType"/>
+ <xs:element name="RequestModificationTokenFault" type="ns3:ResultType"/>
+ <xs:element name="TerminateMandateFault" type="ns3:ResultType"/>
+ <xs:element name="TerminateMandateStateFault" type="ns3:ResultType"/>
+ </xs:schema>
+ <xs:schema xmlns:pers="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:tk="http://eai.brz.gv.at/services/vdds/token" xmlns:tns="http://eai.brz.gv.at/services/vdds/sync-msgs" xmlns:cm="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/sync-msgs" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/token"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:simpleType name="DetailsType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Full"/>
+ <xs:enumeration value="Identifiers"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FilterType">
+ <xs:sequence>
+ <xs:element name="Filter" type="xs:anyType"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ListMandatesResponseType">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element ref="tns:Pagination" minOccurs="0"/>
+ <xs:element ref="tns:SearchResult"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
+ this is the general purpose response element used
+ to acknowledge several events
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:complexType>
+ <xs:complexType name="MandateAttributesSearchFilterType">
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:SearchCriteria" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="SearchCriteriaTestType">
+ <xs:sequence>
+ <xs:element ref="tns:SearchCriteria"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="SearchCriteria" type="tns:SearchCriteriaType" />
+ <xs:complexType name="SearchCriteriaType">
+ <xs:sequence maxOccurs="7">
+ <xs:choice>
+ <xs:element name="ActivationRange" type="tns:TimeRangeType"/>
+ <xs:element name="MandateType" type="md:TextualDescriptionType"/>
+ <xs:element name="MandatorID" type="pers:IdentificationType"/>
+ <xs:element name="RepresentativeID" type="pers:IdentificationType"/>
+ <xs:element name="TerminationRange" type="tns:TimeRangeType"/>
+ <xs:element name="ValidFromTo" type="tns:TimeRangeType"/>
+ <xs:element ref="md:Properties">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="MandateIDSearchFilterType">
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SearchCriteria">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MandateID" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="MandateListType">
+ <xs:choice minOccurs="0">
+ <xs:element ref="tns:MandateAttributes" maxOccurs="unbounded"/>
+ <xs:element ref="md:Mandate" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="MandateRequestType">
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="md:Mandate">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="tns:TextProperties" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OutputFilterType">
+ <xs:complexContent>
+ <xs:extension base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="ReferenceTypes">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Representative"/>
+ <xs:enumeration value="Mandator"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ReferencedMandatesType">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="md:Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:choice>
+ <xs:element ref="tns:MandateAttributes" maxOccurs="unbounded"/>
+ <xs:element ref="md:Mandate" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SimplePath">
+ <xs:sequence>
+ <xs:element name="PathTo">
+ <xs:complexType>
+ <xs:attribute name="recurse" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TimeRangeType">
+ <xs:sequence>
+ <xs:element name="From" type="md:DateType"/>
+ <xs:element name="To" default="9999-12-31" type="md:DateType"/>
+ </xs:sequence>
+ <xs:attribute name="strictRange" type="xs:boolean"/>
+ </xs:complexType>
+ <xs:element name="CreateMandateAck" type="cm:ReferableResultType"/>
+ <xs:element name="CreateMandateAsyncResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
+ this is the general purpose response element used
+ to acknowledge several events
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateMandateRequest" type="tns:MandateRequestType"/>
+ <xs:element name="ListMandatesRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:SearchFilter" maxOccurs="2"/>
+ <xs:element ref="tns:OutputFilter" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ListMandatesResponse" type="tns:ListMandatesResponseType"/>
+ <xs:element name="ListReferencedMandatesOutputFilter" substitutionGroup="tns:OutputFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:OutputFilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ReferencedBy" type="tns:ReferenceTypes"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MandateAttributes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MandateId" type="xs:string" minOccurs="0"/>
+ <xs:element name="MandateType" type="md:TextualDescriptionType" minOccurs="0"/>
+ <xs:element name="MandateText" type="md:ParameterisedDescriptionType" minOccurs="0"/>
+ <xs:element ref="md:Mandator" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Properties" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ActivationTime" type="xs:dateTime" minOccurs="0"/>
+ <xs:element name="TerminationTime" type="xs:dateTime" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MandateAttributesSearchFilter" substitutionGroup="tns:SearchFilter" type="tns:MandateAttributesSearchFilterType"/>
+ <xs:element name="MandateIDSearchFilter" substitutionGroup="tns:SearchFilter" type="tns:MandateIDSearchFilterType"/>
+ <xs:element name="MandateList" substitutionGroup="tns:SearchResult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Mandates" type="tns:MandateListType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OutputFilter" type="tns:OutputFilterType"/>
+ <xs:element name="Pagination">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StartRow" type="xs:integer"/>
+ <xs:element name="NumRows" type="xs:integer"/>
+ <xs:element name="HasMore" type="xs:boolean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaginationFilter" substitutionGroup="tns:SearchFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Pagination"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ProcessTypeOutputFilter" substitutionGroup="tns:OutputFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:OutputFilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ProcessIdentifier" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ReferencedMandatesResult" substitutionGroup="tns:SearchResult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ReferencedMandates" type="tns:ReferencedMandatesType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Result" type="cm:ReferableResultType">
+ <xs:annotation>
+ <xs:documentation>
+ this is the general purpose response element used
+ to acknowledge several events
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchFilter" type="tns:FilterType"/>
+ <xs:element name="SearchResult" type="xs:anyType"/>
+ <xs:element name="TerminateMandateAck" type="cm:ReferableResultType"/>
+ <xs:element name="TerminateMandateAsyncResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
+ this is the general purpose response element used
+ to acknowledge several events
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TerminateMandateRequest" type="tns:MandateRequestType"/>
+ <xs:element name="TextProperties">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Property" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Value" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="ValueType" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="VariantAttributes">
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:attributeGroup>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="TerminateMandateStateRequest">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateAsyncResponse"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandate_OutputMessage">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateAck"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandateStateFault">
+ <wsdl:part name="parameters" element="ns1:TerminateMandateStateFault"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandate_InputMessage">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateRequest"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandateFault">
+ <wsdl:part name="parameters" element="ns1:TerminateMandateFault"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandate_InputMessage">
+ <wsdl:part name="parameters" element="ns0:CreateMandateRequest"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandate_OutputMessage">
+ <wsdl:part name="parameters" element="ns0:CreateMandateAck"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateFault">
+ <wsdl:part name="parameters" element="ns1:CreateMandateFault"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesRequest">
+ <wsdl:part name="parameters" element="ns0:ListMandatesRequest"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesResponse">
+ <wsdl:part name="parameters" element="ns0:ListMandatesResponse"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesFault">
+ <wsdl:part name="parameters" element="ns1:ListMandatesFault"/>
+ </wsdl:message>
+ <wsdl:message name="RequestToken_InputMessage">
+ <wsdl:part name="parameters" element="ns2:ModificationTokenRequest"/>
+ </wsdl:message>
+ <wsdl:message name="RequestToken_OutputMessage">
+ <wsdl:part name="parameters" element="ns2:ModificationTokenResponse"/>
+ </wsdl:message>
+ <wsdl:message name="RequestModificationTokenFault">
+ <wsdl:part name="parameters" element="ns1:RequestModificationTokenFault"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateStateRequest">
+ <wsdl:part name="parameters" element="ns0:CreateMandateAsyncResponse"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateStateFault">
+ <wsdl:part name="parameters" element="ns1:CreateMandateStateFault"/>
+ </wsdl:message>
+ <wsdl:portType name="ISyncService">
+ <wsdl:operation name="TerminateMandateState">
+ <wsdl:input message="tns:TerminateMandateStateRequest"/>
+ <wsdl:output message="tns:TerminateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:TerminateMandateStateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="TerminateMandate">
+ <wsdl:input message="tns:TerminateMandate_InputMessage"/>
+ <wsdl:output message="tns:TerminateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:TerminateMandateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandate">
+ <wsdl:input message="tns:CreateMandate_InputMessage"/>
+ <wsdl:output message="tns:CreateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:CreateMandateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="ListMandates">
+ <wsdl:input message="tns:ListMandatesRequest"/>
+ <wsdl:output message="tns:ListMandatesResponse"/>
+ <wsdl:fault name="fault" message="tns:ListMandatesFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="RequestModificationToken">
+ <wsdl:input message="tns:RequestToken_InputMessage"/>
+ <wsdl:output message="tns:RequestToken_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:RequestModificationTokenFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandateState">
+ <wsdl:input message="tns:CreateMandateStateRequest"/>
+ <wsdl:output message="tns:CreateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:CreateMandateStateFault"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ISyncServiceEndpointBinding" type="tns:ISyncService">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="TerminateMandateState">
+ <soap:operation soapAction="TerminateMandateState" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="TerminateMandate">
+ <soap:operation soapAction="TerminateMandate" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandate">
+ <soap:operation soapAction="CreateMandate" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="ListMandates">
+ <soap:operation soapAction="ListMandates" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="RequestModificationToken">
+ <soap:operation soapAction="RequestModificationToken" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandateState">
+ <soap:operation soapAction="CreateMandateState" style="document"/>
+ <wsdl:input>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body parts="parameters" use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault name="fault" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="synchronisation-service.serviceagent">
+ <wsdl:port name="ISyncServiceEndpoint" binding="tns:ISyncServiceEndpointBinding">
+ <soap:address location="http://localhost:7145/Synchronisation-Provide-WSDL"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/mis/usp_v2/Synchronisation.wsdl b/src/main/resources/wsdl/mis/usp_v2/Synchronisation.wsdl
new file mode 100644
index 0000000..8142d4a
--- /dev/null
+++ b/src/main/resources/wsdl/mis/usp_v2/Synchronisation.wsdl
@@ -0,0 +1,2627 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Created by TIBCO WSDL-->
+<wsdl:definitions xmlns:ns6="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:ns5="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns7="http://www.usp.gv.at/namespace/mandates/20160301#" xmlns:tns="http://xmlns.example.com/1481028889472" xmlns:ns0="http://eai.brz.gv.at/services/vdds/sync-msgs" xmlns:ns2="http://eai.brz.gv.at/services/vdds/token" xmlns:ns1="http://eai.brz.gv.at/services/vdds/synchronisation" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="http://eai.brz.gv.at/services/vdds/common" name="Untitled" targetNamespace="http://xmlns.example.com/1481028889472">
+ <wsdl:types>
+ <xs:schema xmlns:tns="http://eai.brz.gv.at/services/vdds/token" xmlns:cm="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/token" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:simpleType name="ActionTypeType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="CreateMandate"/>
+ <xs:enumeration value="TerminateMandate"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ModificationTokenResultType">
+ <xs:complexContent>
+ <xs:extension base="cm:ReferableResultType">
+ <xs:sequence>
+ <xs:element ref="tns:ModificationToken" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="ModificationTokenType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="IssuedAt" type="xs:dateTime"/>
+ <xs:attribute name="ValidUntil" type="xs:dateTime"/>
+ <xs:anyAttribute processContents="strict" namespace="##any"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:element name="ModificationToken" type="tns:ModificationTokenType"/>
+ <xs:element name="ModificationTokenRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any processContents="strict" namespace="##other"/>
+ </xs:sequence>
+ <xs:attribute name="ActionType" type="tns:ActionTypeType"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ModificationTokenResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Result" type="tns:ModificationTokenResultType"/>
+ <xs:any minOccurs="0" processContents="strict" namespace="##other"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/sync-msgs"/>
+ </xs:schema>
+ <xs:schema xmlns:tns="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/common" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:simpleType name="ActionType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="REQUEST_TOKEN"/>
+ <xs:enumeration value="CREATE_MANDATE"/>
+ <xs:enumeration value="TERMINATE_MANDATE"/>
+ <xs:enumeration value="SYNC_CREATE"/>
+ <xs:enumeration value="SYNC_TERMINATE"/>
+ <xs:enumeration value="COMMIT_CREATE"/>
+ <xs:enumeration value="COMMIT_TERMINATE"/>
+ <xs:enumeration value="ROLLBACK_CREATE"/>
+ <xs:enumeration value="ROLLBACK_TERMINATE"/>
+ <xs:enumeration value="NOTIFY_SUCCESS_CREATE"/>
+ <xs:enumeration value="NOTIFY_SUCCESS_TERMINATE"/>
+ <xs:enumeration value="NOTIFY_ROLLBACK_CREATE"/>
+ <xs:enumeration value="NOTIFY_ROLLBACK_TERMINATE"/>
+ <xs:enumeration value="NOOP"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="Header">
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Value" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ProcessStateType">
+ <xs:sequence>
+ <xs:element name="ProcessAction" type="tns:ActionType"/>
+ <xs:element name="ProcessState" type="tns:StateType"/>
+ <xs:element name="LastProcessingTS" type="xs:dateTime"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ReferableResultType">
+ <xs:complexContent>
+ <xs:extension base="tns:ResultType">
+ <xs:sequence>
+ <xs:element name="RefID" type="xs:string"/>
+ <xs:element name="State" type="tns:StateType"/>
+ <xs:element name="ProcessState" type="tns:ProcessStateType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="ResultType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="ErrorCode" type="xs:string"/>
+ <xs:element name="ErrorMessage" type="xs:string"/>
+ <xs:element name="ErrorLevel" default="ERROR" type="tns:SeverityType"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="SeverityType">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="DEBUG"/>
+ <xs:enumeration value="INFO"/>
+ <xs:enumeration value="WARNING"/>
+ <xs:enumeration value="ERROR"/>
+ <xs:enumeration value="FATAL"/>
+ <xs:enumeration value="BL_INFO"/>
+ <xs:enumeration value="BL_WARNING"/>
+ <xs:enumeration value="BL_ERROR"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="StateType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="TOKEN"/>
+ <xs:enumeration value="RETRY"/>
+ <xs:enumeration value="PARTNER"/>
+ <xs:enumeration value="SYNC"/>
+ <xs:enumeration value="SYNCED"/>
+ <xs:enumeration value="COMMIT"/>
+ <xs:enumeration value="ROLLBACK"/>
+ <xs:enumeration value="APPLICABLE"/>
+ <xs:enumeration value="ERRONEOUS"/>
+ <xs:enumeration value="ROLLEDBACK"/>
+ <xs:enumeration value="TERMINATED"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="Headers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Header" type="tns:Header" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="##any"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <simpleType name="CryptoBinary">
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <simpleType name="DigestValueType">
+ <restriction base="base64Binary"/>
+ </simpleType>
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:MgmtData"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:X509Data"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ </complexType>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any processContents="lax" namespace="##any"/>
+ </sequence>
+ <attribute name="Encoding" type="anyURI"/>
+ <attribute name="Id" type="ID"/>
+ <attribute name="MimeType" type="string"/>
+ </complexType>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="base64Binary"/>
+ <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="base64Binary"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ <attribute name="Type" type="anyURI"/>
+ <attribute name="URI" type="anyURI"/>
+ </complexType>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ </sequence>
+ <attribute name="Type" type="anyURI"/>
+ <attribute name="URI" type="anyURI"/>
+ </complexType>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="base64Binary"/>
+ <any minOccurs="0" processContents="lax" namespace="##other"/>
+ </sequence>
+ </complexType>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="##other"/>
+ </sequence>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Id" type="ID"/>
+ <attribute name="Target" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="base64Binary">
+ <attribute name="Id" type="ID"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID"/>
+ </complexType>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element name="XPath" type="string"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ <attribute name="Algorithm" use="required" type="anyURI"/>
+ </complexType>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509CRL" type="base64Binary"/>
+ <element name="X509Certificate" type="base64Binary"/>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="base64Binary"/>
+ <element name="X509SubjectName" type="string"/>
+ <any processContents="lax" namespace="##other"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <element name="KeyName" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <element name="MgmtData" type="string"/>
+ <element name="Object" type="ds:ObjectType"/>
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <element name="Reference" type="ds:ReferenceType"/>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <element name="Signature" type="ds:SignatureType"/>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <element name="Transform" type="ds:TransformType"/>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <element name="X509Data" type="ds:X509DataType"/>
+ </schema>
+ <xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:usp="http://www.usp.gv.at/namespace/mandates/20160301#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#" version="0.0.4" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:import namespace="http://www.usp.gv.at/namespace/mandates/20160301#"/>
+ <xs:simpleType name="DateType">
+ <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:complexType name="ParameterisedDescriptionType">
+ <xs:annotation>
+ <xs:documentation>complex type for a parameterised description
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="md:ParameterisedText">
+ <xs:annotation>
+ <xs:documentation>element contains parameterised text and the
+ definition of the annotation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:ParameterDefinition" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains the definition of parameters used
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ParameterisedTextType" mixed="true">
+ <xs:annotation>
+ <xs:documentation>complex type for describing a parameterised text
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="md:PasteParameter">
+ <xs:annotation>
+ <xs:documentation>element represent a parameter to be replaced in the
+ parameterised text</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PropertiesType">
+ <xs:annotation>
+ <xs:documentation>complex type for describing arbitrary properties of
+ mandates</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="usp:AdditionalMandateProperty">
+ <xs:annotation>
+ <xs:documentation>additional usp specific property for an electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SubstitutionAllowed" default="false" type="xs:boolean" minOccurs="0"/>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SimpleMandateContentType">
+ <xs:annotation>
+ <xs:documentation>complex type for describing the mandate using some
+ textual descriptions</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:ParameterisedDescription">
+ <xs:annotation>
+ <xs:documentation>element contains a parameterised description of a
+ mandate's
+ content
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:TextualDescription">
+ <xs:annotation>
+ <xs:documentation>element contians parameterised text
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element name="References" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="MandateID">
+ <xs:annotation>
+ <xs:documentation>the ID of the Mandate which is referenced by
+ the TextualDescription-Element</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:token"/>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:group ref="md:ConstraintsGroup">
+ <xs:annotation>
+ <xs:documentation>group of constraints applicable for a mandate
+ content</xs:documentation>
+ </xs:annotation>
+ </xs:group>
+ </xs:sequence>
+ <xs:attribute name="ContentIdentifier" type="xs:string"/>
+ </xs:complexType>
+ <xs:simpleType name="TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>simple type for textual descriptions of mandates,
+ constraints,..</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:whiteSpace value="collapse"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="Annotation">
+ <xs:annotation>
+ <xs:documentation>arbitrary annotation containing a short description
+ of the mandate</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:whiteSpace value="collapse"/>
+ <xs:maxLength value="255"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="AnyConstraints" type="md:TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Intermediary" type="pr:PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>personal data defining the intermediary
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Issued">
+ <xs:annotation>
+ <xs:documentation>the place and the date of issuing the mandate
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Place" type="xs:token"/>
+ <xs:element name="Date" type="md:DateType"/>
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Mandate">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="md:Annotation" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>arbitrary annotation containing a short description
+ of the mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:StatusInformationService" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>location to retrieve current status information
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Intermediary" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>personal data defining the intermediary
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Issued">
+ <xs:annotation>
+ <xs:documentation>the place and the date of issuing the mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Properties" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:SimpleMandateContent">
+ <xs:annotation>
+ <xs:documentation>element contains the content of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:element ref="dsig:Signature" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="MandateID" use="required" type="xs:string"/>
+ <xs:attribute name="MandateType" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ParameterDefinition">
+ <xs:annotation>
+ <xs:documentation>element contains the definition of parameters used
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="md:SetParameter">
+ <xs:annotation>
+ <xs:documentation>element defines a parameter</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ParameterisedDescription" type="md:ParameterisedDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contains a parameterised description of a
+ mandate's
+ content
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ParameterisedText" type="md:ParameterisedTextType">
+ <xs:annotation>
+ <xs:documentation>element contains parameterised text and the
+ definition of the annotation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PasteParameter">
+ <xs:annotation>
+ <xs:documentation>element represent a parameter to be replaced in the
+ parameterised text</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="Name" type="xs:token"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Properties" type="md:PropertiesType">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SetParameter">
+ <xs:annotation>
+ <xs:documentation>element defines a parameter</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:token">
+ <xs:attribute name="Name" type="xs:token"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SimpleMandateContent" type="md:SimpleMandateContentType">
+ <xs:annotation>
+ <xs:documentation>element contains the content of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StatusInformationService" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>location to retrieve current status information
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TextualDescription" type="md:TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contians parameterised text
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ValidFrom" type="md:DateType">
+ <xs:annotation>
+ <xs:documentation>element describes beginning of the validity period
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ValidTo" type="md:DateType">
+ <xs:annotation>
+ <xs:documentation>element describes endpoint of the validity period
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:group name="ConstraintsGroup">
+ <xs:annotation>
+ <xs:documentation>group of constraints applicable for a mandate
+ content</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="TimeConstraint" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="md:ValidFrom">
+ <xs:annotation>
+ <xs:documentation>element describes beginning of the validity period
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:ValidTo">
+ <xs:annotation>
+ <xs:documentation>element describes endpoint of the validity period
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CollectiveConstraint" minOccurs="0">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:AnyConstraints">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:CorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="pr:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TransactionLimit" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Amount" type="xs:float"/>
+ <xs:element name="Currency" default="EUR" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="md:AnyConstraints" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ </xs:schema>
+ <xs:schema xmlns="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" version="1.0.0" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>main structure of address data</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0">
+ <xs:element name="Identification" type="ns6:IdentificationType" 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"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element ref="ns6:AbstractSimpleIdentification" minOccurs="0" maxOccurs="unbounded">
+ <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="Identification" type="ns6:IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </xs:complexType>
+ <xs:simpleType name="AlternativeNameTypeType">
+ <xs:annotation>
+ <xs:documentation>known + any other alternative name types</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="ns6:xStringPatternExtensionType ns6:DefinedAlternativeNameTypeType"/>
+ </xs:simpleType>
+ <xs:complexType name="BankConnectionType">
+ <xs:annotation>
+ <xs:documentation>compare BankverbindungTyp</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Holder" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Account holder, compare Inhaber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare BankName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice>
+ <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: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:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CompactCorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </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="ns6:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="ns6:Person">
+ <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>
+ <xs:element ref="ns6:Address" minOccurs="0" maxOccurs="unbounded">
+ <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 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 processContents="lax" namespace="##any">
+ <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="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="prefix" type="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: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="position">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="type">
+ <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:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CompactPhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="ns6:CompactName">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:MaritalStatus" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Sex" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PlaceOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Nationality" minOccurs="0" maxOccurs="unbounded">
+ <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:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </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="ns6: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="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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="ns6:BankConnection" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <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="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="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="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>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID"/>
+ </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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID"/>
+ <xs:anyAttribute processContents="strict" namespace="##other"/>
+ </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="ns6: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 minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <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:complexType name="MobileTelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>like TelephoneAddresseType but with additional smsEnabled attribute</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:TelcomNumberType">
+ <xs:attribute name="smsEnabled" type="xs:boolean"/>
+ </xs:extension>
+ </xs:complexContent>
+ </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 processContents="lax" namespace="##other"/>
+ </xs:sequence>
+ </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="ns6:AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="ns6:Person">
+ <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>
+ <xs:element ref="ns6:Address" minOccurs="0" maxOccurs="unbounded">
+ <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 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 processContents="lax" namespace="##any">
+ <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="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="prefix" type="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: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="position">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="type">
+ <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:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6:AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="ns6:Name" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:AlternativeName" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Former name, Artist name, changes of Given name ..., compare AlternativName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:MaritalStatus" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Sex" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PlaceOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:StateOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>state of birth, comapre Geburtsbundesland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:CountryOfBirth" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>country of birth, compare Geburtsland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:DateOfDeath" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Nationality" minOccurs="0" maxOccurs="unbounded">
+ <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 ref="ns6:Confession" minOccurs="0">
+ <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 ref="ns6:Occupation" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>occupation, compare Beruf</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:relatedPerson" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>relatives (parents, ...), compare Verwandter</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:BankConnection" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <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="ns6: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="ns6:string7"/>
+ <xs:element name="SubCode" type="ns6:string3" minOccurs="0"/>
+ <xs:element name="ObjectNumber" type="ns6: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="ns6: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:simpleType name="RelationType">
+ <xs:annotation>
+ <xs:documentation>known + any other relation</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="ns6:xStringPatternExtensionType ns6:DefinedRelationType"/>
+ </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:complexType name="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>formated number or set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ <xs:choice>
+ <xs:element ref="ns6:FormattedNumber">
+ <xs:annotation>
+ <xs:documentation>Complete number, ready formated - e.g. +43 1 5131345 4664 compare FormatierteNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:group ref="ns6:TelcomNumberGroup">
+ <xs:annotation>
+ <xs:documentation>set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ </xs:group>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>phone numbers, conmpare TelephoneAdresseTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="ns6: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="ns6:TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </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="ns6: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="ns6:PostalAddress">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" namespace="##other">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="integer5">
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="10000"/>
+ <xs:maxInclusive value="99999"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string100">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string20">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string30">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="30"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string4">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string50">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="50"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </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:element name="AbstractPersonData" type="ns6: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="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="Address" type="ns6: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="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="ns6:PersonNameType">
+ <xs:attribute name="Type" type="ns6:AlternativeNameTypeType"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AreaCityCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Vorwahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankConnection" type="ns6:BankConnectionType">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactCorporateBody" substitutionGroup="ns6:Person" type="ns6:CompactCorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactName" type="ns6:CompactPersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</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="ns6:CompactCorporateBody">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:CompactPhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="ns6:CompactPostalAddress">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:InternetAddress">
+ <xs:annotation>
+ <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:TelephoneAddress">
+ <xs:annotation>
+ <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CompactPhysicalPerson" substitutionGroup="ns6:Person" type="ns6:CompactPhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactPostalAddress" substitutionGroup="ns6:Address" type="ns6:CompactPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</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="CorporateBody" substitutionGroup="ns6:Person" type="ns6:CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</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="DateOfBirth" type="ns6:DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfDeath" type="ns6:DateOfDeathType">
+ <xs:annotation>
+ <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Ergaenzungsregisterzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Ergänzungsregister für nicht-natürliche Personen (CorporateBody)</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>
+ <xs:element name="Fax" type="ns6:TelcomNumberType"/>
+ <xs:element name="Firmenbuchnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="InternationalCountryCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare InternationalerLaendercode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InternetAddress" substitutionGroup="ns6:Address" type="ns6:InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaritalStatus" type="ns6: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="Matrikelnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="Mobile" type="ns6:MobileTelcomNumberType"/>
+ <xs:element name="Name" type="ns6:PersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</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="Nationality" type="ns6: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="Occupation" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>occupation, compare Beruf</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Pager" type="ns6:TelcomNumberType"/>
+ <xs:element name="Person" type="ns6: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>
+ <xs:element name="PersonData" substitutionGroup="ns6:AbstractPersonData" type="ns6:PersonDataType">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PhysicalPerson" substitutionGroup="ns6:Person" type="ns6:PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</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="PostalAddress" substitutionGroup="ns6:Address" type="ns6:PostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sex" type="ns6:SexType">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sozialversicherungsnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="Stammzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="Steuernummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="SubscriberNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Anschlussnummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TTYTDD" type="ns6:TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>teletyper or telephone for the hearing impaired</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Telephone" type="ns6:TelcomNumberType"/>
+ <xs:element name="TelephoneAddress" substitutionGroup="ns6:Address" type="ns6:TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TypedPostalAddress" substitutionGroup="ns6:Address" type="ns6:TypedPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>Typed Postal or ZMR Address, compare TypisiertePostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Vereinsnummer" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="ZMRzahl" substitutionGroup="ns6:AbstractSimpleIdentification" type="xs:string"/>
+ <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="ns6:RelationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>type of the relationship, compare Verwandschftsgrad</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:PhysicalPerson">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:group name="TelcomNumberGroup">
+ <xs:annotation>
+ <xs:documentation>set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="ns6:InternationalCountryCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare InternationalerLaendercode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:NationalNumber" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare NationalNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:AreaCityCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Vorwahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:SubscriberNumber">
+ <xs:annotation>
+ <xs:documentation>compare Anschlussnummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="ns6:Extension" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Klappe</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:group>
+ </xs:schema>
+ <xs:schema xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.usp.gv.at/namespace/mandates/20160301#" version="0.0.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:element name="AdditionalMandateProperty">
+ <xs:annotation>
+ <xs:documentation>additional usp specific property for an electronic mandate</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs="0">
+ <xs:element name="RepresentativeSubId" type="pr:IdentificationType"/>
+ <xs:element name="MandatorSubId" type="pr:IdentificationType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/synchronisation" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/sync-msgs"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+ <xs:import namespace="http://www.usp.gv.at/namespace/mandates/20160301#"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/token"/>
+ <xs:import/>
+ <xs:element name="CreateMandateFault" type="ns3:ResultType"/>
+ <xs:element name="CreateMandateStateFault" type="ns3:ResultType"/>
+ <xs:element name="ListMandatesFault" type="ns3:ResultType"/>
+ <xs:element name="RequestModificationTokenFault" type="ns3:ResultType"/>
+ <xs:element name="TerminateMandateFault" type="ns3:ResultType"/>
+ <xs:element name="TerminateMandateStateFault" type="ns3:ResultType"/>
+ </xs:schema>
+ <xs:schema xmlns:pers="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:tk="http://eai.brz.gv.at/services/vdds/token" xmlns:tns="http://eai.brz.gv.at/services/vdds/sync-msgs" xmlns:cm="http://eai.brz.gv.at/services/vdds/common" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://eai.brz.gv.at/services/vdds/sync-msgs" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/token"/>
+ <xs:import namespace="http://eai.brz.gv.at/services/vdds/common"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#"/>
+ <xs:simpleType name="DetailsType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Full"/>
+ <xs:enumeration value="Identifiers"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="FilterType">
+ <xs:sequence>
+ <xs:element name="Filter" type="xs:anyType"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ListMandatesResponseType">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element ref="tns:Pagination" minOccurs="0"/>
+ <xs:element ref="tns:SearchResult"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
+ this is the general purpose response element used
+ to acknowledge several events
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:complexType>
+ <xs:complexType name="MandateAttributesSearchFilterType">
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SearchCriteria">
+ <xs:complexType>
+ <xs:sequence maxOccurs="7">
+ <xs:choice>
+ <xs:element name="ActivationRange" type="tns:TimeRangeType"/>
+ <xs:element name="MandateType" type="md:TextualDescriptionType"/>
+ <xs:element name="MandatorID" type="pers:IdentificationType"/>
+ <xs:element name="RepresentativeID" type="pers:IdentificationType"/>
+ <xs:element name="TerminationRange" type="tns:TimeRangeType"/>
+ <xs:element name="ValidFromTo" type="tns:TimeRangeType"/>
+ <xs:element ref="md:Properties">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="MandateIDSearchFilterType">
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SearchCriteria">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MandateID" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="MandateListType">
+ <xs:choice minOccurs="0">
+ <xs:element ref="tns:MandateAttributes" maxOccurs="unbounded"/>
+ <xs:element ref="md:Mandate" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="MandateRequestType">
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="md:Mandate">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="tns:TextProperties" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="OutputFilterType">
+ <xs:complexContent>
+ <xs:extension base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="ReferenceTypes">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Representative"/>
+ <xs:enumeration value="Mandator"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ReferencedMandatesType">
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="md:Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:choice>
+ <xs:element ref="tns:MandateAttributes" maxOccurs="unbounded"/>
+ <xs:element ref="md:Mandate" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SimplePath">
+ <xs:sequence>
+ <xs:element name="PathTo">
+ <xs:complexType>
+ <xs:attribute name="recurse" type="xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TimeRangeType">
+ <xs:sequence>
+ <xs:element name="From" type="md:DateType"/>
+ <xs:element name="To" default="9999-12-31" type="md:DateType"/>
+ </xs:sequence>
+ <xs:attribute name="strictRange" type="xs:boolean"/>
+ </xs:complexType>
+ <xs:element name="CreateMandateAck" type="cm:ReferableResultType"/>
+ <xs:element name="CreateMandateAsyncResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
+ this is the general purpose response element used
+ to acknowledge several events
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateMandateRequest" type="tns:MandateRequestType"/>
+ <xs:element name="ListMandatesRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:SearchFilter" maxOccurs="2"/>
+ <xs:element ref="tns:OutputFilter" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ListMandatesResponse" type="tns:ListMandatesResponseType"/>
+ <xs:element name="ListReferencedMandatesOutputFilter" substitutionGroup="tns:OutputFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:OutputFilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ReferencedBy" type="tns:ReferenceTypes"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MandateAttributes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MandateId" type="xs:string" minOccurs="0"/>
+ <xs:element name="MandateType" type="md:TextualDescriptionType" minOccurs="0"/>
+ <xs:element name="MandateText" type="md:ParameterisedDescriptionType" minOccurs="0"/>
+ <xs:element ref="md:Mandator" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Representative" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="md:Properties" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ActivationTime" type="xs:dateTime" minOccurs="0"/>
+ <xs:element name="TerminationTime" type="xs:dateTime" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MandateAttributesSearchFilter" substitutionGroup="tns:SearchFilter" type="tns:MandateAttributesSearchFilterType"/>
+ <xs:element name="MandateIDSearchFilter" substitutionGroup="tns:SearchFilter" type="tns:MandateIDSearchFilterType"/>
+ <xs:element name="MandateList" substitutionGroup="tns:SearchResult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Mandates" type="tns:MandateListType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OutputFilter" type="tns:OutputFilterType"/>
+ <xs:element name="Pagination">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StartRow" type="xs:integer"/>
+ <xs:element name="NumRows" type="xs:integer"/>
+ <xs:element name="HasMore" type="xs:boolean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaginationFilter" substitutionGroup="tns:SearchFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:FilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Pagination"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ProcessTypeOutputFilter" substitutionGroup="tns:OutputFilter">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="tns:OutputFilterType">
+ <xs:sequence>
+ <xs:element name="Filter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ProcessIdentifier" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Details" type="tns:DetailsType"/>
+ </xs:sequence>
+ </xs:restriction>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ReferencedMandatesResult" substitutionGroup="tns:SearchResult">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ReferencedMandates" type="tns:ReferencedMandatesType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Result" type="cm:ReferableResultType">
+ <xs:annotation>
+ <xs:documentation>
+ this is the general purpose response element used
+ to acknowledge several events
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchFilter" type="tns:FilterType"/>
+ <xs:element name="SearchResult" type="xs:anyType"/>
+ <xs:element name="TerminateMandateAck" type="cm:ReferableResultType"/>
+ <xs:element name="TerminateMandateAsyncResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tk:ModificationToken"/>
+ <xs:element ref="tns:Result">
+ <xs:annotation>
+ <xs:documentation>
+ this is the general purpose response element used
+ to acknowledge several events
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TerminateMandateRequest" type="tns:MandateRequestType"/>
+ <xs:element name="TextProperties">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Property" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Value" type="xs:string"/>
+ </xs:sequence>
+ <xs:attribute name="ValueType" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:attributeGroup name="VariantAttributes">
+ <xs:attribute name="variantType" type="xs:string"/>
+ <xs:attribute name="version" type="xs:string"/>
+ </xs:attributeGroup>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:service name="synchronisation-service.serviceagent">
+ <wsdl:port name="ISyncServiceEndpoint" binding="tns:ISyncServiceEndpointBinding">
+ <soap:address location="http://localhost:7145/Synchronisation-Provide-WSDL"/>
+ </wsdl:port>
+ </wsdl:service>
+ <wsdl:portType name="ISyncService">
+ <wsdl:operation name="TerminateMandateState">
+ <wsdl:input message="tns:TerminateMandateStateRequest"/>
+ <wsdl:output message="tns:TerminateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:TerminateMandateStateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="TerminateMandate">
+ <wsdl:input message="tns:TerminateMandate_InputMessage"/>
+ <wsdl:output message="tns:TerminateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:TerminateMandateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandate">
+ <wsdl:input message="tns:CreateMandate_InputMessage"/>
+ <wsdl:output message="tns:CreateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:CreateMandateFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="ListMandates">
+ <wsdl:input message="tns:ListMandatesRequest"/>
+ <wsdl:output message="tns:ListMandatesResponse"/>
+ <wsdl:fault name="fault" message="tns:ListMandatesFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="RequestModificationToken">
+ <wsdl:input message="tns:RequestToken_InputMessage"/>
+ <wsdl:output message="tns:RequestToken_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:RequestModificationTokenFault"/>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandateState">
+ <wsdl:input message="tns:CreateMandateStateRequest"/>
+ <wsdl:output message="tns:CreateMandate_OutputMessage"/>
+ <wsdl:fault name="fault" message="tns:CreateMandateStateFault"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ISyncServiceEndpointBinding" type="tns:ISyncService">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="TerminateMandateState">
+ <soap:operation style="document" soapAction="TerminateMandateState"/>
+ <wsdl:input>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault use="literal" name="fault"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="TerminateMandate">
+ <soap:operation style="document" soapAction="TerminateMandate"/>
+ <wsdl:input>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault use="literal" name="fault"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandate">
+ <soap:operation style="document" soapAction="CreateMandate"/>
+ <wsdl:input>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault use="literal" name="fault"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="ListMandates">
+ <soap:operation style="document" soapAction="ListMandates"/>
+ <wsdl:input>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault use="literal" name="fault"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="RequestModificationToken">
+ <soap:operation style="document" soapAction="RequestModificationToken"/>
+ <wsdl:input>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault use="literal" name="fault"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="CreateMandateState">
+ <soap:operation style="document" soapAction="CreateMandateState"/>
+ <wsdl:input>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" parts="parameters"/>
+ </wsdl:output>
+ <wsdl:fault name="fault">
+ <soap:fault use="literal" name="fault"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:message name="TerminateMandateStateRequest">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateAsyncResponse"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandate_OutputMessage">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateAck"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandateStateFault">
+ <wsdl:part name="parameters" element="ns1:TerminateMandateStateFault"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandate_InputMessage">
+ <wsdl:part name="parameters" element="ns0:TerminateMandateRequest"/>
+ </wsdl:message>
+ <wsdl:message name="TerminateMandateFault">
+ <wsdl:part name="parameters" element="ns1:TerminateMandateFault"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandate_InputMessage">
+ <wsdl:part name="parameters" element="ns0:CreateMandateRequest"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandate_OutputMessage">
+ <wsdl:part name="parameters" element="ns0:CreateMandateAck"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateFault">
+ <wsdl:part name="parameters" element="ns1:CreateMandateFault"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesRequest">
+ <wsdl:part name="parameters" element="ns0:ListMandatesRequest"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesResponse">
+ <wsdl:part name="parameters" element="ns0:ListMandatesResponse"/>
+ </wsdl:message>
+ <wsdl:message name="ListMandatesFault">
+ <wsdl:part name="parameters" element="ns1:ListMandatesFault"/>
+ </wsdl:message>
+ <wsdl:message name="RequestToken_InputMessage">
+ <wsdl:part name="parameters" element="ns2:ModificationTokenRequest"/>
+ </wsdl:message>
+ <wsdl:message name="RequestToken_OutputMessage">
+ <wsdl:part name="parameters" element="ns2:ModificationTokenResponse"/>
+ </wsdl:message>
+ <wsdl:message name="RequestModificationTokenFault">
+ <wsdl:part name="parameters" element="ns1:RequestModificationTokenFault"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateStateRequest">
+ <wsdl:part name="parameters" element="ns0:CreateMandateAsyncResponse"/>
+ </wsdl:message>
+ <wsdl:message name="CreateMandateStateFault">
+ <wsdl:part name="parameters" element="ns1:CreateMandateStateFault"/>
+ </wsdl:message>
+</wsdl:definitions> \ No newline at end of file
diff --git a/src/test/java/at/gv/util/demo/Clienttests.java b/src/test/java/at/gv/util/demo/Clienttests.java
index 7cf0fe0..c439d2d 100644
--- a/src/test/java/at/gv/util/demo/Clienttests.java
+++ b/src/test/java/at/gv/util/demo/Clienttests.java
@@ -30,6 +30,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Properties;
import java.util.TimeZone;
+import java.util.regex.Pattern;
import javax.xml.bind.JAXBElement;
import javax.xml.namespace.QName;
@@ -42,6 +43,7 @@ import org.w3c.dom.Element;
import at.gv.util.BpkUtil;
import at.gv.util.DOMUtils;
import at.gv.util.MiscUtil;
+import at.gv.util.client.mis.usp_v2.USPClient;
import at.gv.util.client.szr.SZRClient;
import at.gv.util.client.ur_V5.URClient;
import at.gv.util.client.ur_V5.URClient.URSearchResult;
@@ -50,6 +52,7 @@ import at.gv.util.config.EgovUtilPropertiesConfiguration;
import at.gv.util.data.BPK;
import at.gv.util.ex.EgovUtilException;
import at.gv.util.wsdl.szr.SZRException;
+import at.gv.util.xsd.szr.FremdBPKType;
import at.gv.util.xsd.szr.GetIdentityLink;
import at.gv.util.xsd.szr.IdentityLinkType;
import at.gv.util.xsd.szr.PersonInfoType;
@@ -93,10 +96,14 @@ public class Clienttests {
public static final String DOCUMENT_TYPE = "ELEKTR_DOKUMENT";
public static final String ERnB_ISSUEDATE = "2014-01-01";
public static final String ERnB_ISSUINGAUTHORITY = "SZR-Gateway";
+
+ public final static Pattern URN_PATTERN = Pattern.compile(
+ "^urn:[a-z0-9][a-z0-9-]{0,31}:([a-z0-9()+,\\-.:=@;$_!*']|%[0-9a-f]{2})+$",
+ Pattern.CASE_INSENSITIVE);
@SuppressWarnings("unused")
public static void main(String[] args) throws IOException {
-
+
String propertiesFileLocation = System.getProperty("mis.configuration");
if (propertiesFileLocation == null) {
@@ -138,21 +145,29 @@ public class Clienttests {
// id.setValue("U/wThc0XOTZp9Tvsxrh8DhGTXsU=");
// person.setIdentification(id);
- personName.setFamilyName("Lenz");
- personName.setGivenName("Thomas");
- person.setDateOfBirth("1982-09-06");
-
- personName.setFamilyName("ALLMBlasznig ELGATest");
- personName.setGivenName("Reinfried");
- person.setDateOfBirth("1943-06-26");
-
- personName.setFamilyName("Buxbaum");
- personName.setGivenName("Georg");
- person.setDateOfBirth("1964-10-09");
-
- personName.setFamilyName("Eder");
- personName.setGivenName("Michaela");
- person.setDateOfBirth("1971-04-25");
+// personName.setFamilyName("Lenz");
+// personName.setGivenName("Thomas");
+// person.setDateOfBirth("1982-09-06");
+
+// personName.setFamilyName("XXXTüzekçi");
+// personName.setGivenName("XXXŐzgür");
+// person.setDateOfBirth("1973-06-04");
+
+// personName.setFamilyName("Tauber");
+// personName.setGivenName("Arne");
+// person.setDateOfBirth("1979-08-21");
+//
+// personName.setFamilyName("ALLMBlasznig ELGATest");
+// personName.setGivenName("Reinfried");
+// person.setDateOfBirth("1943-06-26");
+//
+// personName.setFamilyName("Buxbaum");
+// personName.setGivenName("Georg");
+// person.setDateOfBirth("1964-10-09");
+//
+// personName.setFamilyName("Eder");
+// personName.setGivenName("Michaela");
+// person.setDateOfBirth("1971-04-25");
// id.setType(SSPIN_PREFIX + "ZP");
// id.setValue("T2wnifoq7CJDyhhWod7+YiZilLA=");
// person.setIdentification(id);
@@ -179,6 +194,10 @@ public class Clienttests {
// personName.setGivenName("Franz");
// person.setDateOfBirth("1973-04-18");
+// personName.setFamilyName("Drabina");
+// personName.setGivenName("Sonja");
+// person.setDateOfBirth("1969-09-23");
+
// personName.setFamilyName("Pointner");
// personName.setGivenName("Johann");
//// person.setDateOfBirth("1954-07-07");
@@ -189,72 +208,126 @@ public class Clienttests {
// address.setPostalCode("4030");
- //String bpks = szrClient.getBPK(personInfo, SSPIN_PREFIX + "ZP", "BBA-STA");
+// String bpks = szrClient.getBPK(personInfo, SSPIN_PREFIX + "ZP-MH", "BKA");
// String bpks = szrClient.getBPK(personInfo, SSPIN_PREFIX + "ZU", "BBA-STA");
//
//
//InputStream is = Clienttests.class.getResourceAsStream("/clearing_geburtstage_mit_UTC_versatz_20180214.csv");
- InputStream is = Clienttests.class.getResourceAsStream("/clearing_geburtstage_mit_UTC_versatz_20180305.csv");
- String data = IOUtils.toString(is);
- for (String line : data.split("\\n")) {
- try {
- String[] el = line.split(",");
-
- personName.setFamilyName(el[4]);
- personName.setGivenName(el[3]);
-
- String date = el[5].substring(1, el[5].length()-1);
- Date test = MiscUtil.parseDate(date, "yyyy-MM-dd", TimeZone.getTimeZone("UTC"));
- Date tomorrow = new Date(test.getTime() + (1000 * 60 * 60 * 24));
- person.setDateOfBirth(MiscUtil.formatDate(tomorrow, "yyyy-MM-dd"));
-
-
- String baseID = szrClient.getStammzahl(personInfo );
- System.out.println("OK!!! " + person.getName().getGivenName() + " " + person.getName().getFamilyName());
-
-
- } catch ( Exception e) {
- e.printStackTrace();
- }
-
-
- }
+// InputStream is = Clienttests.class.getResourceAsStream("/clearing_geburtstage_mit_UTC_versatz_20180305.csv");
+// String data = IOUtils.toString(is);
+// for (String line : data.split("\\n")) {
+// try {
+// String[] el = line.split(",");
+//
+// personName.setFamilyName(el[4]);
+// personName.setGivenName(el[3]);
+//
+// String date = el[5].substring(1, el[5].length()-1);
+// Date test = MiscUtil.parseDate(date, "yyyy-MM-dd", TimeZone.getTimeZone("UTC"));
+// Date tomorrow = new Date(test.getTime() + (1000 * 60 * 60 * 24));
+// person.setDateOfBirth(MiscUtil.formatDate(tomorrow, "yyyy-MM-dd"));
+//
+//
+// String baseID = szrClient.getStammzahl(personInfo );
+// System.out.println("OK!!! " + person.getName().getGivenName() + " " + person.getName().getFamilyName());
+//
+//
+// } catch ( Exception e) {
+// e.printStackTrace();
+// }
+//
+//
+// }
+
+
+
+
+// personName.setFamilyName("Hembach");
+// personName.setGivenName("Alfred");
+// person.setDateOfBirth("1975-03-02");
+//
+// personName.setFamilyName("Atzlinger");
+// personName.setGivenName("Manfred");
+// person.setDateOfBirth("1964-01-29");
+//
+// personName.setFamilyName("Doppler");
+// personName.setGivenName("Dominik");
+// person.setDateOfBirth("1998-04-14");
+ ///Datenschutzbehörde
+// personName.setFamilyName("Wollrab");
+// personName.setGivenName("Michael");
+// person.setDateOfBirth("1981-04-27");
- personName.setFamilyName("Hembach");
- personName.setGivenName("Alfred");
- person.setDateOfBirth("1975-03-02");
+// personName.setFamilyName("Sollinger");
+// personName.setGivenName("Moritz");
+// //person.setDateOfBirth("1997-08-09");
+// IdentificationType eid = new IdentificationType();
+// eid.setType("urn:publicid:gv.at:cdid+ZP");
+// eid.setValue("gd4u4WNDjV3xBYMcuBmj2vwhH88=");
+// person.setIdentification(eid );
+//
+// personName.setFamilyName("Ruzizka");
+// personName.setGivenName("Nina Christina");
+// person.setDateOfBirth("1982-08-27");
- personName.setFamilyName("Atzlinger");
- personName.setGivenName("Manfred");
- person.setDateOfBirth("1964-01-29");
+// personName.setFamilyName("El Fohail");
+// personName.setGivenName("Samraa");
+// person.setDateOfBirth("1975-01-13");
- personName.setFamilyName("Doppler");
- personName.setGivenName("Dominik");
- person.setDateOfBirth("1998-04-14");
+// personName.setFamilyName("Allwgeppert Elgatest");
+// personName.setGivenName("Amèlîè");
+// person.setDateOfBirth("1943-07-03");
+
+ personName.setFamilyName("Mustermann");
+ personName.setGivenName("Max");
+ person.setDateOfBirth("1940-01-01");
String baseID = szrClient.getStammzahl(personInfo );
-//
+
BPK zpBpk = BpkUtil.createBPK(baseID, "ZP");
+// BPK zpBpk = BpkUtil.createBPK(baseID, "ZP-MH");
+// System.out.print(zpBpk);
+
//
// personInfo.getPerson().setDateOfBirth(null);
// String test = szrClient.getBPK(personInfo, "BF", "BBA-STA");
// String encryptedbPK = szrClient.transformBPK(personInfo, zpBpk.getBpk(), SSPIN_PREFIX + "ZP", SSPIN_PREFIX + "WT-UR", "BBA-STA");
+ FremdBPKType encryptedbPK = szrClient.transformBPK(personInfo, zpBpk.getBpk(), SSPIN_PREFIX + "ZP", SSPIN_PREFIX + "WT-UR", "BMF");
+// String encryptedbPK = szrClient.transformBPK(personInfo, zpBpk.getBpk(), SSPIN_PREFIX + "ZP", SSPIN_PREFIX + "ZU", "ZUSETNVZ");
+
+
+
+ /*
+ *USP V2 Client tests
+ *
+ */
+ USPClient uspClient = new USPClient(egovUtilConfiguration, true);
+
+// uspClient.getMandates(
+// encryptedbPK.getBereichsKennung(),
+// encryptedbPK.getFremdBPK(),
+// Arrays.asList("MPK_Postvollmacht"));
+
+// uspClient.getMandates(
+// "urn:publicid:gv.at:ecdid+BMF+WT-UR",
+// "CfAUGvuKyy8q9ZGLKI1WloY3ihkQ3vJis40grN9M6Eud+YU9EDXWkqdsVnznIpHaCc1cCUMA5+YorDhIZyvabxvty8Rwiq3PBHVMVc4/+jjkx2qkqOodM3gOQHG1TsPbSRl7tysCukGpdgK7NJFdh0mTlsYUwLatSsi+Qv0lTYU=",
+// Arrays.asList("MPK_Postvollmacht"));
// GetIdentityLink idlReq = createGetIdentityLink();
////
-////// String baseIDResp = szrClient.getStammzahl(personInfo);
+/// String baseIDResp = szrClient.getStammzahl(personInfo);
//////
// IdentityLinkType idlResp = szrClient.getIdentityLink(
// idlReq.getPersonInfo(),
// idlReq.getKeyValue(),
-// false);
+// true);
// Element idl = (Element)idlResp.getAssertion();
// System.out.println(DOMUtils.serializeNode(idl));
@@ -264,6 +337,7 @@ public class Clienttests {
// List<NichtNatuerlichePersonTyp> urResult = urClient.searchByRegisterNumber("9110008265019", "ERJ", 10);
+ List<NichtNatuerlichePersonTyp> urResult = urClient.searchByRegisterNumber("9110008265019", "ERK", 10);
// urResult = urClient.searchByName("Bundesministerium*", null, 10);
@@ -277,7 +351,7 @@ public class Clienttests {
}
}
- private static GetIdentityLink createGetIdentityLink() throws CertificateException, IOException{
+ private static GetIdentityLink createGetIdentityLink() throws CertificateException, IOException, InvalidKeyException{
// set parameter
GetIdentityLink getIdentityLink = new GetIdentityLink();
@@ -302,47 +376,53 @@ public class Clienttests {
// String birthday = "1954-07-07";
// String birthday = "1928-04-10";
- personName.setFamilyName("Kern");
- personName.setGivenName("Thomas");
- String birthday = null;
- address.setMunicipality("Obdach");
- address.setPostalCode("8742");
+// personName.setFamilyName("Lenz");
+// personName.setGivenName("Thomas");
+// String birthday = null;
+// birthday = "1982-09-06";
+// address.setMunicipality("Obdach");
+// address.setPostalCode("8742");
-
+
+ personName.setFamilyName("Farbenfroh");
+ personName.setGivenName("Jonatan");
+ String birthday = null;
+ birthday = "1978-08-25";
- //String birthday = "1998-12-06";
+
if (birthday != null)
physicalPerson.setDateOfBirth(birthday);
physicalPerson.setName(personName);
- if (address != null)
- personInfo.setRegularDomicile(address);
+// if (address != null)
+// personInfo.setRegularDomicile(address);
+
personInfo.setPerson(physicalPerson);
// add Traveldocument
-// TravelDocumentType trvlDoc = new TravelDocumentType();
+ TravelDocumentType trvlDoc = new TravelDocumentType();
//
// // parse STORK-eID to his components
// //ERnB allows only eIDs with a maximum length of 54 signs
-// trvlDoc.setDocumentNumber("33333333");
-// trvlDoc.setIssuingCountry("SI");
-// trvlDoc.setDocumentType(DOCUMENT_TYPE);
+ trvlDoc.setDocumentNumber("12345678abcde");
+ trvlDoc.setIssuingCountry("SI");
+ trvlDoc.setDocumentType(DOCUMENT_TYPE);
//
// //set default values from SZR because certificate for mandator natural person is not
// //available in case of authentication with electronic mandates.
// trvlDoc.setIssueDate(ERnB_ISSUEDATE);
// trvlDoc.setIssuingAuthority(ERnB_ISSUINGAUTHORITY);
//
-// JAXBElement<TravelDocumentType> jaxbtrvlDoc = personInfo.getTravelDocument();
-//
-// if (jaxbtrvlDoc == null)
-// jaxbtrvlDoc = new JAXBElement<TravelDocumentType>(new QName("urn:SZRServices", "TravelDocument"), TravelDocumentType.class, trvlDoc);
-// else
-// jaxbtrvlDoc.setValue(trvlDoc);
+ JAXBElement<TravelDocumentType> jaxbtrvlDoc = personInfo.getTravelDocument();
- //personInfo.setTravelDocument(jaxbtrvlDoc);
+ if (jaxbtrvlDoc == null)
+ jaxbtrvlDoc = new JAXBElement<TravelDocumentType>(new QName("urn:SZRServices", "TravelDocument"), TravelDocumentType.class, trvlDoc);
+ else
+ jaxbtrvlDoc.setValue(trvlDoc);
+
+ personInfo.setTravelDocument(jaxbtrvlDoc);
// Personendaten setzen
getIdentityLink.setPersonInfo(personInfo);
@@ -355,17 +435,24 @@ public class Clienttests {
keyvalueList = new ArrayList<KeyValueType>();
- InputStream importCertStream = new FileInputStream("F:/local_work/zertifikate/mocca_testcards/BRZ_testcards/test_identities/Achim XXXZastrow/secure.crt");
- X509Certificate importCert = new X509Certificate(importCertStream );
- pb = importCert.getPublicKey();
+// InputStream importCertStream = new FileInputStream("F:/local_work/zertifikate/mocca_testcards/BRZ_testcards/test_identities/Achim XXXZastrow/secure.crt");
+// X509Certificate importCert = new X509Certificate(importCertStream );
+// pb = importCert.getPublicKey();
- //pb = new iaik.security.rsa.RSAPublicKey(DEFAULT_PUBL_KEY);
+ pb = new iaik.security.rsa.RSAPublicKey(DEFAULT_PUBL_KEY);
List<KeyValueType> keys = getKeyValueTypes(pb);
keyvalueList.addAll(keys);
+// KeyValueType testvalue = new KeyValueType();
+// RSAKeyValueType rsaKeyValue = new RSAKeyValueType();
+// rsaKeyValue.setExponent("Forever");
+// rsaKeyValue.setModulus("Kandi");;
+// testvalue.setRSAKeyValue(rsaKeyValue );
+// keyvalueList.add(testvalue);
+
// set Insert ERnP flag
- getIdentityLink.setInsertERnP(false);
+ getIdentityLink.setInsertERnP(true);
// Constants.DATA_LOGGER.debug("Person wird im SZR und ERnP gesucht bzw. gegebenenfalls im ERnP eingetragen: "
// + natPerson.getFamilyName() + " " + natPerson.getGivenName() + " " + natPerson.getBirthday()
diff --git a/src/test/java/at/gv/util/demo/ZuseSSLTest.java b/src/test/java/at/gv/util/demo/ZuseSSLTest.java
new file mode 100644
index 0000000..359cb4e
--- /dev/null
+++ b/src/test/java/at/gv/util/demo/ZuseSSLTest.java
@@ -0,0 +1,136 @@
+package at.gv.util.demo;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.Socket;
+import java.security.Key;
+import java.security.KeyManagementException;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.Provider;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.CertificateException;
+import java.util.Base64;
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.ssl.PrivateKeyDetails;
+import org.apache.http.ssl.PrivateKeyStrategy;
+import org.apache.http.ssl.SSLContextBuilder;
+import org.apache.http.util.EntityUtils;
+import org.apache.log4j.lf5.util.StreamUtils;
+
+import at.gv.util.xsd.szr.pvp.sec.Security;
+
+public class ZuseSSLTest {
+
+ public static void main(String[] args) {
+ String keyStoreFile = "F:/Projekte/configs/mis/egiz.gv.at-816-2018-06-07.jks";
+ char[] keyStorePassword = "OSgmSn!".toCharArray();
+ char[] keyPassword = "nichts".toCharArray();
+
+ //String serviceURL = "https://pamgate2.portal.at/at.gv.usp.vdds-ws-q/Synchronisation?wsdl";
+ String serviceURL = "https://pamgate2.portal.at/at.gv.usp.vdds-ws-q/Synchronisation";
+ //serviceURL = "https://eid.egiz.gv.at/sslclientcertdemo/";
+
+ //String payLoadB64 = "PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPg0KCTxzb2FwOkJvZHk+DQoJCTxuczM6TGlzdE1hbmRhdGVzUmVxdWVzdCB4bWxuczpuczM9Imh0dHA6Ly9lYWkuYnJ6Lmd2LmF0L3NlcnZpY2VzL3ZkZHMvc3luYy1tc2dzIiB4bWxucz0iaHR0cDovL2VhaS5icnouZ3YuYXQvc2VydmljZXMvdmRkcy90b2tlbiIgeG1sbnM6bnMyPSJodHRwOi8vZWFpLmJyei5ndi5hdC9zZXJ2aWNlcy92ZGRzL2NvbW1vbiIgeG1sbnM6bnM0PSJodHRwOi8vcmVmZXJlbmNlLmUtZ292ZXJubWVudC5ndi5hdC9uYW1lc3BhY2UvbWFuZGF0ZXMvMjAwNDA3MDEjIiB4bWxuczpuczU9Imh0dHA6Ly9yZWZlcmVuY2UuZS1nb3Zlcm5tZW50Lmd2LmF0L25hbWVzcGFjZS9wZXJzb25kYXRhLzIwMDIwMjI4IyIgeG1sbnM6bnM2PSJodHRwOi8vd3d3LnVzcC5ndi5hdC9uYW1lc3BhY2UvbWFuZGF0ZXMvMjAxNjAzMDEjIiB4bWxuczpuczc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiIHhtbG5zOm5zOD0iaHR0cDovL2VhaS5icnouZ3YuYXQvc2VydmljZXMvdmRkcy9zeW5jaHJvbmlzYXRpb24iPg0KCQkJPG5zMzpNYW5kYXRlQXR0cmlidXRlc1NlYXJjaEZpbHRlcj4NCgkJCQk8bnMzOkZpbHRlciB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6dHlwZT0ibnMzOlNlYXJjaENyaXRlcmlhVGVzdFR5cGUiPg0KCQkJCQk8bnMzOlNlYXJjaENyaXRlcmlhPg0KCQkJCQkJPG5zMzpSZXByZXNlbnRhdGl2ZUlEPg0KCQkJCQkJCTxuczU6VmFsdWU+Z2Q0dTRXTkRqVjN4QllNY3VCbWoydndoSDg4PTwvbnM1OlZhbHVlPg0KCQkJCQkJCTxuczU6VHlwZT51cm46cHVibGljaWQ6Z3YuYXQ6Y2RpZCtaUDwvbnM1OlR5cGU+DQoJCQkJCQk8L25zMzpSZXByZXNlbnRhdGl2ZUlEPg0KCQkJCQk8L25zMzpTZWFyY2hDcml0ZXJpYT4NCgkJCQk8L25zMzpGaWx0ZXI+DQoJCQk8L25zMzpNYW5kYXRlQXR0cmlidXRlc1NlYXJjaEZpbHRlcj4NCgkJPC9uczM6TGlzdE1hbmRhdGVzUmVxdWVzdD4NCgk8L3NvYXA6Qm9keT4NCjwvc29hcDpFbnZlbG9wZT4=";
+ String payLoadB64 = "PHNvYXA6RW52ZWxvcGUgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPg0KCTxzb2FwOkJvZHk+DQoJCTxuczM6TGlzdE1hbmRhdGVzUmVxdWVzdCB4bWxuczpuczM9Imh0dHA6Ly9lYWkuYnJ6Lmd2LmF0L3NlcnZpY2VzL3ZkZHMvc3luYy1tc2dzIiB4bWxucz0iaHR0cDovL2VhaS5icnouZ3YuYXQvc2VydmljZXMvdmRkcy90b2tlbiIgeG1sbnM6bnMyPSJodHRwOi8vZWFpLmJyei5ndi5hdC9zZXJ2aWNlcy92ZGRzL2NvbW1vbiIgeG1sbnM6bnM0PSJodHRwOi8vcmVmZXJlbmNlLmUtZ292ZXJubWVudC5ndi5hdC9uYW1lc3BhY2UvbWFuZGF0ZXMvMjAwNDA3MDEjIiB4bWxuczpuczU9Imh0dHA6Ly9yZWZlcmVuY2UuZS1nb3Zlcm5tZW50Lmd2LmF0L25hbWVzcGFjZS9wZXJzb25kYXRhLzIwMDIwMjI4IyIgeG1sbnM6bnM2PSJodHRwOi8vd3d3LnVzcC5ndi5hdC9uYW1lc3BhY2UvbWFuZGF0ZXMvMjAxNjAzMDEjIiB4bWxuczpuczc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiIHhtbG5zOm5zOD0iaHR0cDovL2VhaS5icnouZ3YuYXQvc2VydmljZXMvdmRkcy9zeW5jaHJvbmlzYXRpb24iPg0KCQkJPG5zMzpNYW5kYXRlQXR0cmlidXRlc1NlYXJjaEZpbHRlcj4NCgkJCQk8bnMzOkZpbHRlcj4NCgkJCQkJPG5zMzpTZWFyY2hDcml0ZXJpYT4NCgkJCQkJCTxuczM6UmVwcmVzZW50YXRpdmVJRD4NCgkJCQkJCQk8bnM1OlZhbHVlPmdkNHU0V05EalYzeEJZTWN1Qm1qMnZ3aEg4OD08L25zNTpWYWx1ZT4NCgkJCQkJCQk8bnM1OlR5cGU+dXJuOnB1YmxpY2lkOmd2LmF0OmNkaWQrWlA8L25zNTpUeXBlPg0KCQkJCQkJPC9uczM6UmVwcmVzZW50YXRpdmVJRD4NCgkJCQkJPC9uczM6U2VhcmNoQ3JpdGVyaWE+DQoJCQkJPC9uczM6RmlsdGVyPg0KCQkJPC9uczM6TWFuZGF0ZUF0dHJpYnV0ZXNTZWFyY2hGaWx0ZXI+DQoJCTwvbnMzOkxpc3RNYW5kYXRlc1JlcXVlc3Q+DQoJPC9zb2FwOkJvZHk+DQo8L3NvYXA6RW52ZWxvcGU+";
+ try {
+
+ SSLContextBuilder sslContext = new SSLContextBuilder();
+ KeyStore keyStore = KeyStore.getInstance("JKS", "SUN");
+ keyStore.load(new FileInputStream(new File(keyStoreFile)), keyStorePassword);
+
+
+
+ PrivateKeyStrategy aliasStrategy = new PrivateKeyStrategy() {
+ @Override
+ public String chooseAlias(Map<String, PrivateKeyDetails> aliases, Socket socket) {
+ if (aliases != null && !aliases.isEmpty())
+ return aliases.keySet().iterator().next();
+
+ return null;
+ }
+
+ };
+
+ sslContext.loadKeyMaterial(keyStore, keyPassword, aliasStrategy);
+ sslContext.loadTrustMaterial(null, (certificate, authType) -> true);
+
+ CloseableHttpClient client = HttpClients.custom()
+ .setSSLContext(sslContext.build())
+ .setSSLHostnameVerifier(new NoopHostnameVerifier())
+ .build();
+
+ HttpPost httpGet = new HttpPost(serviceURL);
+ //HttpGet httpGet = new HttpGet(serviceURL);
+ //httpGet.setHeader("Accept", "application/xml");
+
+ httpGet.setHeader("SOAPAction", "ListMandates");
+ httpGet.setHeader("Accept", "*/*");
+
+
+ //PVP 1.x header
+ httpGet.setHeader("X-VERSION", "1.8");
+ httpGet.setHeader("X-AUTHENTICATE-UserID", "egiz@egiz.gv.at");
+ httpGet.setHeader("X-AUTHENTICATE-GVGID", "gvGid");
+ httpGet.setHeader("X-AUTHENTICATE-PARTICIPANTID", "AT:B:111");
+ httpGet.setHeader("X-AUTHENTICATE-GVOUID", "EGIZ");
+ httpGet.setHeader("X-AUTHENTICATE-OU", "EGIZ");
+ httpGet.setHeader("X-AUTHENTICATE-GVFUNCTION", "gvFunctio");
+ httpGet.setHeader("X-AUTHORIZE-ROLES", "VDDS-USP-VDDS-PARTNER");
+ httpGet.setHeader("X-AUTHENTICATE-gvSecClass", "2");
+ httpGet.setHeader("X-AUTHENTICATE-cn","E-Government Innovationszentrum");
+ httpGet.setHeader("X-ACCOUNTING-CostCenterId", null);
+ httpGet.setHeader("X-ACCOUNTING-InvoiceRecptId", null);
+
+
+ //PVP 2.x header
+ httpGet.setHeader("X-PVP-EGOVTOKEN-VERSION", "2.1.2");
+ httpGet.setHeader("X-PVP-USERID", "egiz@egiz.gv.at");
+ httpGet.setHeader("X-PVP-GID", "gvGid");
+ httpGet.setHeader("X-PVP-PARTICIPANT-ID", "AT:B:111");
+ httpGet.setHeader("X-PVP-OU-GV-OU-ID", "EGIZ");
+ httpGet.setHeader("X-PVP-OU", "EGIZ");
+ httpGet.setHeader("X-PVP-FUNCTION", "gvFunctio");
+ httpGet.setHeader("X-PVP-ROLES", "VDDS-USP-VDDS-PARTNER");
+ httpGet.setHeader("X-PVP-SECCLASS", "2");
+ httpGet.setHeader("X-PVP-PRINCIPAL-NAME","E-Government Innovationszentrum");
+ httpGet.setHeader("X-PVP-COST-CENTER-ID", null);
+ httpGet.setHeader("X-PVP-INVOICE-RECPT-ID", null);
+ httpGet.setHeader("X-PVP-BINDING", "http");
+
+ StringEntity se = new StringEntity(new String(Base64.getDecoder().decode(payLoadB64), "UTF-8"));
+ httpGet.setEntity(se);
+ System.out.println("Request: " + EntityUtils.toString(httpGet.getEntity()));
+
+ HttpResponse response = client.execute(httpGet);
+
+ System.out.println("HTTP StatusCode: " + response.getStatusLine().getStatusCode());
+
+ if (response.getEntity().getContent() != null )
+ System.out.println("Body: " + org.apache.commons.codec.binary.StringUtils.newStringUtf8(StreamUtils.getBytes(response.getEntity().getContent())));
+
+
+ System.out.println("Test finished");
+
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ }
+
+
+ }
+
+}