Element, das die einen Tags enthalten muss, die anderen nicht
Max Mustermann
- xml
Hallo!
Es mag eine dumme Frage sein, aber wie kann ich in der DTD ein Elementtyp definieren, dass bestimmte Elementtypen enthalten muss, andere aber auch nur enthalten kann? Mit dem Sternchen (*) lege ich ja nur fest, dass ein Elementtyp leer bleiben kann. Beispiel - Deklination für deutsche Substantive:
<!ELEMENT decl (nom, acc, dat, gen)>
<!ELEMENT nom (sg, pl)>
<!ELEMENT acc (sg, pl)>
<!ELEMENT dat (sg, pl)>
<!ELEMENT gen (sg, pl)>
<!ELEMENT sg (art, word)>
<!ELEMENT pl (art, word)>
<!ELEMENT art (#PCDATA)>
<!ELEMENT word (#PCDATA)>
Das Elementtyp "sg" (= Singular) muss kein "art" (= Artikel) enthalten, wohl aber "word" (= Wort), auch mehrere "word" sind zugelassen. Wie lässt sich dies festlegen?
Eine weitere Frage: Wie lege ich fest, dass "nom" (Nominativ), "acc" (Akkusativ), "dat" (Dativ) und "gen" (Genitiv) zwar nicht unbedingt "sg" UND "pl" enthalten müssen, aber wenigstens eines von beiden?
Das Elementtyp "sg" (= Singular) muss kein "art" (= Artikel) enthalten, wohl aber "word" (= Wort), auch mehrere "word" sind zugelassen.
Für Klugscheißer: Ja, bei einem Attribut muss jedes Wort "art" enthalten (das schöne Frankreich), aber das war auch nur ein Beispiel.
Hi,
Es mag eine dumme Frage sein, aber wie kann ich in der DTD ein Elementtyp definieren, dass bestimmte Elementtypen enthalten muss, andere aber auch nur enthalten kann? Mit dem Sternchen (*) lege ich ja nur fest, dass ein Elementtyp leer bleiben kann. Beispiel - Deklination für deutsche Substantive:
[code lang=xml]
<!ELEMENT decl (nom, acc, dat, gen)>
Die Reihenfolge ist ungewöhnlich ;-)
Du kannst Quantifier (*, +, ?) für jedes Inhalts-Element angeben:
<!ELEMENT brotzeit (brotscheibe+, butter?, wurstscheibe*, kaese*, bier?)>
Guck auch mal in die HTML-DTD, da findest Du einige Beispiele ...
cu,
Andreas
Die Reihenfolge ist ungewöhnlich ;-)
Siehe hier: http://canoo.net/blog/2006/12/07/reihenfolge-der-kasus/
<!ELEMENT brotzeit (brotscheibe+, butter?, wurstscheibe*, kaese*, bier?)>
Ach so, ich wusste nicht, dass man das in die Klammer setzen kann. Danke für die Hilfe!
Hi,
Die Reihenfolge ist ungewöhnlich ;-)
Siehe hier: http://canoo.net/blog/2006/12/07/reihenfolge-der-kasus/
So ein neumodischer Krempel ...
Das ist so ueberfluessig wie diese neumodischen Umlaute ...
cu,
Andreas
@@Max Mustermann:
nuqneH
Das Elementtyp "sg" (= Singular) muss kein "art" (= Artikel) enthalten, wohl aber "word" (= Wort), auch mehrere "word" sind zugelassen. Wie lässt sich dies festlegen?
Ob http://de.selfhtml.org/@title=SELFHTML die Antwort darauf hat? Mal nachsehen. Click.
Wird wohl unter http://de.selfhtml.org/xml/index.htm@title=XML/DTDs zu finden sein. Click.
Wird wohl unter http://de.selfhtml.org/xml/dtd/index.htm@title=DTDs zu finden sein. Click.
Hm, http://de.selfhtml.org/xml/dtd/elemente.htm@title=Verschachtelungsregeln? Click.
Da ha’m wa’s ja: <http://de.selfhtml.org/xml/dtd/elemente.htm#alternative_optionale@title=alternative und optionale Elementtypen>. Click.
Eine weitere Frage: Wie lege ich fest, dass "nom" (Nominativ), "acc" (Akkusativ), "dat" (Dativ) und "gen" (Genitiv) zwar nicht unbedingt "sg" UND "pl" enthalten müssen, aber wenigstens eines von beiden?
Die Frage sollte damit auch beantwortet sein.
Qapla'