diff options
author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2019-07-19 10:35:29 +0200 |
---|---|---|
committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2019-07-19 10:35:29 +0200 |
commit | 2c3c1d6bb748a0655a83fdf4cd26135042d898b9 (patch) | |
tree | 6feabd6d3a6a3aed7751154053b3487de4959d6d /src | |
parent | 2d03e741a91f6155dce75952b0174e3e52a12740 (diff) | |
download | egovutils-2c3c1d6bb748a0655a83fdf4cd26135042d898b9.tar.gz egovutils-2c3c1d6bb748a0655a83fdf4cd26135042d898b9.tar.bz2 egovutils-2c3c1d6bb748a0655a83fdf4cd26135042d898b9.zip |
USP client integration2.0.7
switch to v2.0.7
Diffstat (limited to 'src')
56 files changed, 8925 insertions, 2854 deletions
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; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="SearchCriteria"> - * <complexType> - * <complexContent> - * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <sequence maxOccurs="7"> - * <choice> - * <element name="ActivationRange" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/> - * <element name="MandateType" type="{http://reference.e-government.gv.at/namespace/mandates/20040701#}TextualDescriptionType"/> - * <element name="MandatorID" type="{http://reference.e-government.gv.at/namespace/persondata/20020228#}IdentificationType"/> - * <element name="RepresentativeID" type="{http://reference.e-government.gv.at/namespace/persondata/20020228#}IdentificationType"/> - * <element name="TerminationRange" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/> - * <element name="ValidFromTo" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/> - * <element ref="{http://reference.e-government.gv.at/namespace/mandates/20040701#}Properties"/> - * </choice> - * </sequence> - * </restriction> - * </complexContent> - * </complexType> - * </element> + * <element ref="{http://eai.brz.gv.at/services/vdds/sync-msgs}SearchCriteria"/> * </sequence> * </restriction> * </complexContent> @@ -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> + * <complexType name="SearchCriteriaTestType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{http://eai.brz.gv.at/services/vdds/sync-msgs}SearchCriteria"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </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> + * <complexType name="SearchCriteriaType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence maxOccurs="7"> + * <choice> + * <element name="ActivationRange" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/> + * <element name="MandateType" type="{http://reference.e-government.gv.at/namespace/mandates/20040701#}TextualDescriptionType"/> + * <element name="MandatorID" type="{http://reference.e-government.gv.at/namespace/persondata/20020228#}IdentificationType"/> + * <element name="RepresentativeID" type="{http://reference.e-government.gv.at/namespace/persondata/20020228#}IdentificationType"/> + * <element name="TerminationRange" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/> + * <element name="ValidFromTo" type="{http://eai.brz.gv.at/services/vdds/sync-msgs}TimeRangeType"/> + * <element ref="{http://reference.e-government.gv.at/namespace/mandates/20040701#}Properties"/> + * </choice> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </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(); + + } + + + } + +} |