Hmm, an diesem Schema ist noch ein Bisschen mehr komisch. Es definiert auch XML-Dokumente als gültig, die nur "<Firma>irgendwas</Firma>" oder "<Name>irgendwas</Name>" o.Ä. als einziges Tag enthalten und mehr darf dort dann auch nicht stehen, sonst wird's ungültig.
Welche Struktur sollen denn die XML-Dokumente nachher haben bzw. welche Daten sollen sie enthalten?
Zweiter Versuch,.. bei meiner ersten Antwort hatte ich mich irgendwie zu sehr auf die Ein/Zweideutigkeit konzentriert... Das ist aber nur ein Problem: Ein All-Konstrukt muss immer das gesamte Inhaltsmodell definieren und kann nicht als Partikel auftreten. Frag mich nicht warum, aber so steht es (natürlich verklausuliert) in der W3C Empfehlung. So etwas wie
<xs:element ref="x" /> <xs:all> ... </xs:all>
ist also nicht drin. Man darf noch nichtmal auf eine Gruppe Verweisen die ein xs:all beinhaltet. Das ganze ohne all:
Hallo Das Problem bei deinem Schema ist eine Zweideutigkeit. Wenn ein Kunde anfängt mit
<Kunde> <Firma> Blah </Firma> ...
dann ist für den Validator nicht klar, ob er in der Gruppe "komplett" oder der einzelnen Element-Referenz zu "Firma" ist. Genau das ist aber vom W3C gefordert (achtung schwer verständlich): Unique Particle Attribution (§3.8.6)
Jetzt meine Version, die IMHO nicht das Problem aufweist, aber die gleiche Semantik hat.
Lässt man diese Zeile weg, dann tritt der Fehler in der jeweils nächsten Referenz auf feine Gruppe auf.
Ohne die Gruppen funktioniert es übrigens. Jedoch wollte ich erreichen, dass die Felder Vorname, Nachname und Firma in einer beliebigen Reihenfolge angegeben werden dürfen.
Gibt es denn Probleme mit einem bestimmten XML-Dokument zu diesem Schema ?