You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by bu...@apache.org on 2001/11/16 11:38:55 UTC
DO NOT REPLY [Bug 4914] New: -
Unique Particle Constraint too strong in Xerces 1.4.3?
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4914>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4914
Unique Particle Constraint too strong in Xerces 1.4.3?
Summary: Unique Particle Constraint too strong in Xerces 1.4.3?
Product: Xerces-J
Version: 1.4.3
Platform: All
OS/Version: All
Status: NEW
Severity: Minor
Priority: Other
Component: Schema-Structures
AssignedTo: xerces-j-dev@xml.apache.org
ReportedBy: uwe.meyer-gruhl@congenio.de
CC: uwe.meyer-gruhl@congenio.de
I have the following XML Schema (sorry that it's so long, but I stripped it down
already!):
<?xml version = "1.0" encoding = "ISO-8859-1"?>
<!--Generated by XML Authority. Conforms to w3c
http://www.w3.org/2001/XMLSchema-->
<xsd:schema xmlns = "http://www.congenio.de/schema/BankingRequest"
targetNamespace = "http://www.congenio.de/schema/BankingRequest"
xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
elementFormDefault = "qualified">
<!-- Anfang der Include-Datei. -->
<xsd:group name = "Freigabedaten">
<xsd:annotation>
<xsd:documentation>Beinhaltet zur Zeit nur die
TAN</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name = "TAN" type = "TypTAN"/>
</xsd:sequence>
</xsd:group>
<xsd:group name = "Anmeldedaten">
<xsd:annotation>
<xsd:documentation>Beinhaltet alle Daten, die bei jedem
Request mitgegeben werden. Entweder Sitzungs-ID als Surrogat der Anmeldung oder
die eigentlichen Anmeldedaten. Diese Struktur k�nnte sp�ter ggf. noch mehrere
Alternativen bekommen!</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name = "Anmeldung" type =
"TypAnmeldungsdaten"/>
<xsd:element name = "Sitzungs-ID" type = "TypSitzung"/>
</xsd:choice>
</xsd:group>
<xsd:group name = "Bezugskonto">
<xsd:annotation>
<xsd:documentation>Dies ist das fachliche Konto, mit dem
die Operation durchgef�hrt werden soll.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name = "Kontonummer" type =
"TypKontonummer"/>
<xsd:element name = "Bankleitzahl" type =
"TypBankleitzahl" minOccurs = "0"/>
</xsd:sequence>
</xsd:group>
<xsd:group name = "Auslandsempfaenger">
<xsd:sequence>
<xsd:element name = "A-Empfaengername" type =
"TypAuslandsadresszeile" maxOccurs = "2"/>
<xsd:element name = "A-Empfaengerstrasse" type =
"TypAuslandsadresszeile"/>
<xsd:element name = "A-Empfaengerort" type =
"TypAuslandsadresszeile"/>
<xsd:element name = "A-Empfaengerlandeskennung" type =
"TypLandeskennung"/>
</xsd:sequence>
</xsd:group>
<xsd:group name = "Auslandsbankverbindung">
<xsd:sequence>
<xsd:element name = "Bankkonto" type =
"TypAuslandskontonummer"/>
<xsd:element name = "Bankcode" type =
"TypAuslandsbankleitzahl"/>
<xsd:element name = "Bankname" type =
"TypAuslandsadresszeile" maxOccurs = "2"/>
<xsd:element name = "Bankstrasse" type =
"TypAuslandsadresszeile"/>
<xsd:element name = "Bankort" type =
"TypAuslandsadresszeile"/>
<xsd:element name = "Banklandeskennung" type =
"TypLandeskennung" minOccurs = "0"/>
</xsd:sequence>
</xsd:group>
<xsd:group name = "Auslandsanweisung">
<xsd:sequence>
<xsd:element name = "Kostenart" type = "TypKostenart"/>
<xsd:element name = "Betrag" type =
"TypWaehrungsbetrag"/>
<xsd:element name = "Zielwaehrung" type =
"TypWaehrungskennzeichen"/>
<xsd:element name = "Verwendungszweck" type =
"TypAuslandsadresszeile" minOccurs = "0" maxOccurs = "4"/>
<xsd:element name = "Termin" type = "TypDatum" minOccurs
= "0"/>
</xsd:sequence>
</xsd:group>
<xsd:group name = "Auslandsueberweisungsdaten">
<xsd:annotation>
<xsd:documentation>Alle fachlichen Daten f�r eine
Auslands�berweisung</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref = "Auslandsempfaenger"/>
<xsd:group ref = "Auslandsbankverbindung"/>
<xsd:group ref = "Auslandsanweisung"/>
</xsd:sequence>
</xsd:group>
<xsd:group name = "Auslandsanweisungsdaten">
<xsd:annotation>
<xsd:documentation>Alle fachlichen Daten f�r eine
Auslandsanweisung</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref = "Auslandsempfaenger"/>
<xsd:group ref = "Auslandsanweisung"/>
</xsd:sequence>
</xsd:group>
<xsd:complexType name = "TypAnmeldungsdaten">
<xsd:sequence>
<xsd:element name = "Loginkonto" type =
"TypKontonummer"/>
<xsd:element name = "Bankleitzahl" type =
"TypBankleitzahl" minOccurs = "0"/>
<xsd:element name = "PIN" type = "TypPIN"/>
</xsd:sequence>
</xsd:complexType>
<!-- Wiederverwendbare Gruppen von Elementen -->
<xsd:simpleType name = "TypUserAgent">
<xsd:annotation>
<xsd:documentation>Dieses Feld identifiziert die
Client-Software (auch Version)</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "100"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypSitzung">
<xsd:annotation>
<xsd:documentation>Dieses Feld wird ggf. bei der
Anmeldung vom Host zum Client gereicht und mu� genau dann bei jedem Request
mitgegeben werden.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "1000"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypErgebnis">
<xsd:restriction base = "xsd:string">
<xsd:enumeration value = "RC_OK"/>
<xsd:enumeration value = "RC_SYSTEMFEHLER"/>
<xsd:enumeration value = "RC_ANDERER_FEHLER"/>
<xsd:enumeration value = "RC_GESPERRT"/>
<xsd:enumeration value = "RC_PIN_FALSCH"/>
<xsd:enumeration value = "RC_TAN_FALSCH"/>
<xsd:enumeration value = "RC_LETZTE_TAN"/>
<xsd:enumeration value = "RC_NICHT_ANWENDBAR"/>
<xsd:enumeration value = "RC_LIMIT"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypMeldungstext">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "1000"/>
<xsd:whiteSpace value = "preserve"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypKontonummer">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "10"/>
<xsd:minLength value = "1"/>
<xsd:pattern value = "[0-9]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypBankleitzahl">
<xsd:restriction base = "xsd:string">
<xsd:length value = "8"/>
<xsd:pattern value = "[0-9]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypPIN">
<xsd:restriction base = "xsd:string">
<xsd:length value = "5"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypTAN">
<xsd:restriction base = "xsd:string">
<xsd:length value = "6"/>
<xsd:pattern value = "[0-9]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypDTAString">
<xsd:annotation>
<xsd:documentation>DTA-String mit beschr�nktem
Zeichensatz.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:string">
<xsd:pattern value = "[�������A-Za-z0-9
\.,\-/\+\*$%&]*"/>
<xsd:whiteSpace value = "preserve"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypAuslandsadresszeile">
<xsd:restriction base = "TypDTAString">
<xsd:maxLength value = "35"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypEmpfaengername">
<xsd:restriction base = "TypDTAString">
<xsd:maxLength value = "27"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypAuslandskontonummer">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "35"/>
<xsd:minLength value = "1"/>
<xsd:pattern value = "[0-9]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypBetrag">
<!-- <xsd:totalDigits value =
"15"/>
<xsd:fractionDigits value = "2"/>
-->
<xsd:list itemType = "xsd:decimal"/>
</xsd:simpleType>
<xsd:simpleType name = "TypWaehrungskennzeichen">
<xsd:annotation>
<xsd:documentation>ISO
W�hrungskennzeichen</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:string">
<xsd:length value = "3"/>
<xsd:pattern value = "[A-Z]{3}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypDatum">
<xsd:annotation>
<xsd:documentation>Datum</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:date"/>
</xsd:simpleType>
<xsd:simpleType name = "TypUmsatzzeile">
<xsd:annotation>
<xsd:documentation>Umsatzzeile laut MT940, Feld :86:
Hier keine Einschr�nkung des Zeichensatzes (also nicht TypDTAString),
da diese Daten von anderen Banken kommen und damit etwaigen Einschr�nkungen
nicht unterliegen.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "27"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypZweckzeile">
<xsd:annotation>
<xsd:documentation>Verwendungszweckzeile</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "TypDTAString">
<xsd:maxLength value = "27"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypAuszugnummer">
<xsd:restriction base = "xsd:string">
<xsd:length value = "9"/>
<xsd:pattern value = "[0-9]{5}/[0-9]{3}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypZinssatz">
<xsd:annotation>
<xsd:documentation>Ein Zinssatz, immer >=
0</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:decimal">
<xsd:minInclusive value = "0"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypKontoinhaber">
<xsd:restriction base = "TypDTAString">
<xsd:maxLength value = "35"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypKontobezeichnung">
<xsd:restriction base = "TypDTAString">
<xsd:maxLength value = "35"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypLandeskennung">
<xsd:restriction base = "xsd:string">
<xsd:length value = "2"/>
<xsd:pattern value = "[A-Z]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypAuslandsbankleitzahl">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "11"/>
<xsd:pattern value = "[0-9]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypKostenart">
<xsd:restriction base = "xsd:string">
<xsd:enumeration value = "OUR"/>
<xsd:enumeration value = "BEN"/>
<xsd:enumeration value = "SHARE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypAuftragsnummer">
<xsd:annotation>
<xsd:documentation>ISN der Postbank</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:string">
<xsd:length value = "8"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypDauerauftragsID">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "100"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypDatumUhrzeit">
<xsd:restriction base = "xsd:dateTime"/>
</xsd:simpleType>
<xsd:simpleType name = "TypVorgangsart">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "20"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypBearbeitungskennzeichen">
<xsd:restriction base = "xsd:string">
<xsd:enumeration value = "widerrufen"/>
<xsd:enumeration value = "in Bearbeitung"/>
<xsd:enumeration value = "liegt vor"/>
<xsd:enumeration value = "unbekannt"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypWochentag">
<xsd:restriction base = "xsd:string">
<xsd:enumeration value = "Mo"/>
<xsd:enumeration value = "Di"/>
<xsd:enumeration value = "Mi"/>
<xsd:enumeration value = "Do"/>
<xsd:enumeration value = "Fr"/>
<xsd:enumeration value = "Sa"/>
<xsd:enumeration value = "So"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypMonatsRhythmusWert">
<xsd:restriction base = "xsd:integer">
<xsd:enumeration value = "1"/>
<xsd:enumeration value = "2"/>
<xsd:enumeration value = "3"/>
<xsd:enumeration value = "4"/>
<xsd:enumeration value = "6"/>
<xsd:enumeration value = "12"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypWochenRhythmusWert">
<xsd:restriction base = "xsd:integer">
<xsd:maxInclusive value = "1"/>
<xsd:minInclusive value = "1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypTagesRhythmusWert">
<xsd:restriction base = "xsd:integer">
<xsd:maxInclusive value = "1"/>
<xsd:minInclusive value = "1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypDauerauftragsnummer">
<xsd:annotation>
<xsd:documentation>vierstellige Auftragsnummer 0000 =
"Neu"
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:string">
<xsd:length value = "4"/>
<xsd:pattern value = "[0-9]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypDauerauftragsart">
<xsd:annotation>
<xsd:documentation>Dauerauftragsart, "13" kann nicht
bearbeitet werden.
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base = "xsd:string">
<xsd:length value = "2"/>
<xsd:pattern value = "[0-9]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypKundennummer">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "10"/>
<xsd:minLength value = "1"/>
<xsd:pattern value = "[0-9]*"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypOBG">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "4"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypOrganschluessel">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "2"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypKurzname">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "24"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypGAB">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "4"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypBonitaet">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "47"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypChar">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypDatumString">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "10"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString2">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "2"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString3">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "3"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString4">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "4"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString5">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "5"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString9">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "9"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString10">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "10"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString15">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "15"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString20">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "20"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString27">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "27"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString54">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "54"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypString80">
<xsd:restriction base = "xsd:string">
<xsd:maxLength value = "80"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name = "TypAusfuehrungstag">
<xsd:restriction base = "xsd:integer">
<xsd:maxInclusive value = "99"/>
<xsd:minInclusive value = "1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name = "TypMeldung">
<xsd:simpleContent>
<xsd:extension base = "TypMeldungstext">
<xsd:attribute name = "Nummer" use = "optional"
type = "TypString10"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "TypWaehrungsbetrag">
<xsd:annotation>
<xsd:documentation>Betrag inklusive W�hrungskennzeichen
als Attribut</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base = "TypBetrag">
<xsd:attribute name = "Waehrung" use =
"required" type = "TypWaehrungskennzeichen"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name = "TypUmsatztext">
<xsd:annotation>
<xsd:documentation>Eigentlich sollte man die Textzeilen
in einem umgebenden Element "Text" kapseln
(<Text><Zeile></Zeile><Zeile></Zeile></Text>), aber MSXML 4
kann das nicht...</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name = "Zeile" type = "TypUmsatzzeile"
minOccurs = "0" maxOccurs = "14"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name = "TypZweck">
<xsd:annotation>
<xsd:documentation>Verwendungszweck (eventuell nur zwei
Zeilen???)</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name = "Zeile" type = "TypZweckzeile"
minOccurs = "0" maxOccurs = "4"/>
</xsd:sequence>
</xsd:complexType>
<!-- AUSLANDSUEBERWEISUNG -->
<xsd:complexType name = "TypAuslandsueberweisungsAnforderung">
<xsd:annotation>
<xsd:documentation>Dieser Request macht eine
Auslands�berweisung</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:sequence minOccurs = "0">
<xsd:group ref = "Bezugskonto"/>
</xsd:sequence>
<xsd:group ref = "Auslandsueberweisungsdaten"/>
</xsd:sequence>
</xsd:complexType>
<!-- AUSLANDSSCHECK -->
<!-- AUSLANDSBARAUSZAHLUNG -->
<xsd:complexType name = "TypAuslandsanweisungAnforderung">
<xsd:annotation>
<xsd:documentation>Dieser Request macht einen
Auslandsscheck bzw. eine Auslandsbarauszahlung</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:sequence minOccurs = "0">
<xsd:group ref = "Bezugskonto"/>
</xsd:sequence>
<xsd:group ref = "Auslandsanweisungsdaten"/>
</xsd:sequence>
</xsd:complexType>
<!-- Definition der Anforderung -->
<xsd:element name = "ANFORDERUNG" type = "TypAnforderung"/>
<xsd:complexType name = "TypAnforderung">
<!--
<xsd:element name = "AUSLANDSWAEHRUNGEN" type =
"TypAuslandswaehrungAnforderung"/>
-->
<xsd:sequence>
<xsd:choice>
<xsd:element name = "AUSLANDSUEBERWEISUNG" type
= "TypAuslandsueberweisungsAnforderung"/>
<xsd:element name = "AUSLANDSSCHECK" type =
"TypAuslandsanweisungAnforderung"/>
<xsd:element name = "AUSLANDSBARAUSZAHLUNG" type
= "TypAuslandsanweisungAnforderung"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Applied to the following XML instance:
<ANFORDERUNG xmlns="http://www.congenio.de/schema/BankingRequest">
<AUSLANDSUEBERWEISUNG>
<A-Empfaengername>Frank Hoefer</A-Empfaengername>
<A-Empfaengername>& Soehne</A-Empfaengername>
<A-Empfaengerstrasse>Dumpfbackengasse 13</A-Empfaengerstrasse>
<A-Empfaengerort>Timbuktu</A-Empfaengerort>
<A-Empfaengerlandeskennung>AT</A-Empfaengerlandeskennung>
<Bankkonto>29857890357</Bankkonto>
<Bankcode>01234567890</Bankcode>
<Bankname>Le Banko</Bankname>
<Bankname>est fait</Bankname>
<Bankstrasse>Herzoginnenallee 17</Bankstrasse>
<Bankort>Zuerich</Bankort>
<Banklandeskennung>AT</Banklandeskennung>
<Kostenart>SHARE</Kostenart>
<Betrag Waehrung="USD">13.00</Betrag>
<Zielwaehrung>USD</Zielwaehrung>
<Verwendungszweck>1</Verwendungszweck>
<Termin>2001-10-30</Termin>
</AUSLANDSUEBERWEISUNG>
</ANFORDERUNG>
Xerces 1.4.3 and 1.4.4 throw an error: 'Error: cos-nonambig:
(http://www.congenio.de/schema/BankingRequest,Verwendungszweck) and
(http://www.congenio.de/schema/BankingRequest,Verwendungszweck) violate the
"Unique Particle Attribution" rule.'
This applies when the feature
"http://apache.org/xml/features/validation/schema-full-checking" is true.
Interestingly, the maxOccurs for the particle "Verwendungszweck" can be set to 1
and all is well. I doubt that the Unique Particle Attribution rule is broken by
this. I see no neccessary lookahead or ambiguity involved with this example.
Kind regards,
Dr. Uwe Meyer-Gruhl
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-j-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-j-dev-help@xml.apache.org