ThomasM: DTD, mehrfach vorkommen könnende optionale Elemente

Beitrag lesen

Hallo Auge,

Und das verhindert (grundsätzlich), dass jemand Beispiele mit Beschreibung erstellt? Klar, die Frage lässt sich subjektiv beantworten; Ich habe nichts dergleichen gefunden, du sagst, ich könne es nicht finden …

Ich schrieb, so etwas wird man kaum finden, wüsste jedenfalls spontan keine Quelle. DTD-Syntax ist aber durch die wenigen Möglichkeiten eigentlich leicht zu durchschauen, wenn man die Indikatoren (+ * ?) nicht gleich zu sehr verschachtelt.

An der Stelle klärt sich die ursprüngliche Frage endgültig. <!ELEMENT objekttechnik (frequenzbereich, (filtertyp, rueckkanal, verkabelungstyp)*) > reicht, denn auch verkabelungstyp ist nicht oder einmal oder mehrmals möglich.

Das bedeutet, frequenzbereich muss genau 1x vorkommen, gefolgt von 0x (filtertyp, rueckkanal, verkabelungstyp) bis n-fach (filtertyp, rueckkanal, verkabelungstyp). Es muss also immer die gesamte Dreiergruppe (…) erscheinen oder fehlen. Wenn das gewünscht ist, dann reicht es so.

Allerdings würde ich um die drei Elemente noch ein Containerelement bauen, etwa parameter. Man sollte auch immer die Perspektive der späteren Verarbeitung der Dokumente im Blick haben, etwa mit XSLT. Für ein parameter-Element lässt sich leicht ein separates Template schreiben, in welchem wiederum auf die Kindelemente zugegriffen werden kann.

Grüße,
Thomas