Hallo zusammen,
Ich habe zu meinem Fall schon ziemlich viel gesucht bin aber immer bei offenen Fragen hängen geblieben oder habe auch häufiger gelesen: "Dafür ist die Schemavalidierung nicht ausgelegt"
Wenn ich im XSD meine Strukur definiere zB ein ComplexType ein Element welches andere Elemente als Kinder hat. Nun habe ich ja die Möglichkeit die Struktur des komplexen Elements über Sequence, Choice oder all zu definieren, nur fehlt mir da genau meine Kombination.
Um auf den Punkt zu kommen ich brauche all mit der zusätzlichen Option maxOccurs unbounded! Die Möglichkeit das ganz über eine sequence und dann einem choice Typen zu gestalten ist keine Option, da es zu viele Elemente sind.
Die Reihenfolge meiner Elemente ist egal. Einige sind Optional einige sind Pflicht. Einige müssen wiederholt vorkommen.
Ich bin für wirklich jeden! Lösungsansatz dankbar!
Ich versuche es anhand eines Beispiels deutlich zu machen.
Vereinfachtes Schema
[XML]
...
<xs:element name="person">
<xs:complexType>
<xs:all>
<xs:element name="firstname" type="xs:string" />
<xs:element name="lastname" minOccurs="1" type="xs:string"/>
<xs:element name="info" minOccurs="0" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
...
[/XML]
s.u. Soll gültig sein
[XML]
<person>
<lastname>Mustermann</lastname>
<firstname>Max</firstname>
<info>test1</info>
<info>test2</info>
</person>
[/XML]
s.u. Soll gültig sein
[XML]
<person>
<lastname>Mustermann</lastname>
<firstname>Max</firstname>
</person>
[/XML]
s.u. Soll gültig sein
[XML]
<person>
<info>test1</info>
<lastname>Mustermann</lastname>
<firstname>Max</firstname>
<info>test2</info>
</person>
[/XML]
s.u. Soll gültig sein
[XML]
<person>
<lastname>Mustermann</lastname>
<firstname>Max</firstname>
<info>test</info>
</person>
[/XML]
s.u. Soll ungültig sein
[XML]
<person>
<firstname>Max</firstname>
<info>test</info>
</person>
[/XML]
Ich hoffe mir kann jemand helfen
Vielen Dank im Vorwege
Jonas
Ich habe zu meinem Fall schon ziemlich viel gesucht bin aber immer bei offenen Fragen hängen geblieben oder habe auch häufiger gelesen: "Dafür ist die Schemavalidierung nicht ausgelegt"
Wenn ich im XSD meine Strukur definiere zB ein ComplexType ein Element welches andere Elemente als Kinder hat. Nun habe ich ja die Möglichkeit die Struktur des komplexen Elements über Sequence, Choice oder all zu definieren, nur fehlt mir da genau meine Kombination.
Um auf den Punkt zu kommen ich brauche all mit der zusätzlichen Option maxOccurs unbounded! Die Möglichkeit das ganz über eine sequence und dann einem choice Typen zu gestalten ist keine Option, da es zu viele Elemente sind.
Die Reihenfolge meiner Elemente ist egal. Einige sind Optional einige sind Pflicht. Einige müssen wiederholt vorkommen.
Ich bin für wirklich jeden! Lösungsansatz dankbar!
Ich versuche es anhand eines Beispiels deutlich zu machen.
Vereinfachtes Schema
[XML]
...
<xs:element name="person">
<xs:complexType>
<xs:all>
<xs:element name="firstname" type="xs:string" />
<xs:element name="lastname" minOccurs="1" type="xs:string"/>
<xs:element name="info" minOccurs="0" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
...
[/XML]
s.u. Soll gültig sein
[XML]
<person>
<lastname>Mustermann</lastname>
<firstname>Max</firstname>
<info>test1</info>
<info>test2</info>
</person>
[/XML]
s.u. Soll gültig sein
[XML]
<person>
<lastname>Mustermann</lastname>
<firstname>Max</firstname>
</person>
[/XML]
s.u. Soll gültig sein
[XML]
<person>
<info>test1</info>
<lastname>Mustermann</lastname>
<firstname>Max</firstname>
<info>test2</info>
</person>
[/XML]
s.u. Soll gültig sein
[XML]
<person>
<lastname>Mustermann</lastname>
<firstname>Max</firstname>
<info>test</info>
</person>
[/XML]
s.u. Soll ungültig sein
[XML]
<person>
<firstname>Max</firstname>
<info>test</info>
</person>
[/XML]
Ich hoffe mir kann jemand helfen
Vielen Dank im Vorwege
Jonas