Hallo,
Leider funktioniert xsd:all nicht, wenn es nicht an oberster Stelle im ContentModel steht
Was heisst denn funktioniert nicht? Dein Beispieldokument validiert nicht gegen das Schema? Wie sieht denn das Beispieldokument aus? Wenn ich Dein Schema-Auschnitt richtig lese ist auch das Element <metadata> als Kindelement vor der all-Gruppe erlaubt. Das hier sollte also funktionieren:
~~~xml
<laplaceType>
<metadata/>
<information-file/>
<technical-help-file/>
<tools-file/>
</laplaceType>
Allerdings eben nur <metadata>, schließlich soll nach Deinem Schema der Inhalt von <laplaceType> eine Sequenz sein, die nur in dieser Ordnung sein darf.
> Hat vielleicht jemand eine Idee, wie ich das sonst ausdrücken könnte?
Ich weiss nicht wirklich, \_was genau\_ Du ausdrucken möchtest. Die Sequenz und damit die genaue Ordnung der Elemente scheint Dir wichtig zu sein; insofern muss die all-Gruppe nach <metadata> am Anfang der Kindelemente stehen. Ich weiss also nicht, was schief läuft.
Hast Du vielleicht aus Verzweiflung oder einem Missverständnis zu <xs:sequence> gegriffen? Ist Dir die Ordnung der Kindelemente eigentlich wurst? Wenn ja, dann kann XML Schema nicht wirklich ausdrücken, was Du willst oder nur unter Nöten. Ich mag RELAX NG.
Tim