Thomas J.S.: [DTD] ELEMENT-Definition mit (#PCDATA | (a | b))

Beitrag lesen

Hallo,

mal eine kleine Verständnisfrage. Habe wohl gerade ein Brett vor dem Kopf. Aber wieso ist folgendes Erlaubt...
<!ELEMENT element (inliner | (term, definition)) >

» und dieses...

<!ELEMENT element (#PCDATA | (term, definition)) >
nicht???

In XML geht das (2.-es) leider nicht, weil (aus der Spez.):
"An element type has mixed content when elements of that type may contain character data, optionally interspersed with child elements.] In this case, the types of the child elements may be constrained, but not their order or their number of occurrences"

(oder aus der Übersetzung: "Ein Elementtyp hat gemischten Inhalt, wenn Elemente dieses Typs Zeichendaten enthalten dürfen, die optional mit Kindelementen gemischt sind.] In diesem Fall können die Typen der Kindelemente beschränkt werden, nicht jedoch ihre Reihenfolge oder ihre Anzahl."

du kannst also höchstens sowas definieren:
<!ELEMENT element (#PCDATA | term | definition)*>
oder mit <!ELEMENT element ANY >

Grüße
Thomas