Julius Becker: XML Schema

Beitrag lesen

Hallo miteinander,

wie überrede ich XML Schema dazu, dass im Element s neben den Elementen alt.gr, w und tilde auch normaler Text mehrmals enthalten sein kann, ohne dass dabei eine spezielle Reihenfolge beachtet werden muss?

In DTD hätte ich das so formuliert:
<!ELEMENT s (#PCDATA | alt.gr | w | tilde)+>
Es wäre somit auch die Reihenfolge #PCDATA-tilde-w-#PCDATA möglich.

Doch wie mache ich das bei XML Schema? Mein Ansatz sieht so aus:

<xsd:element name="s">
   xsd:complexType
      xsd:sequence
         <xsd:element ref="w" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="alt.gr" minOccurs="0" maxOccurs="unbounded"/>
         <xsd:element ref="tilde" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
   </xsd:complexType>
</xsd:element>

Hier fehlt allerdings noch die Legitimierung für den normalen Text. Zudem müsste laut http://www.edition-w3c.de/TR/2001/REC-xmlschema-0-20010502/ die Reihenfolge der Elemente in xsd:sequences exakt eingehalten werden.

Komischerweise gelang es mir mit meinem Ansatz und einem Validator (http://tools.decisionsoft.com/schemaValidate.html), eine Datei, in der das Element s neben normalen Text auch die Elemente in nicht oben vorgegebener Reihenfolge nutzt, erfolgreich zu validieren.

Das verwirrt mich jetzt alles...
Es freute mich, wenn mir einer von euch auf die Sprünge helfen könnte.

Grüße
Julius