| ||||||||||||
4.1.1.1: SGML-ElementeEine DTD definiert die zulässigen Elemente eines Dokuments und ihr Verhältnis zueinander. Als Elemente werden dabei Textstücke bezeichnet, die eine strukturelle Einheit bilden. Jedes Dokument setzt sich aus Elementen zusammen. Eine Auszeichnungssprache für Texte muss zwischen den Auszeichnungselementen und dem Text, der ausgezeichnet werden soll, also dem eigentlichen Inhalt, unterscheiden können. Bei SGML geschieht dies durch die Verwendung so genannter Tags, das sind in spitze Klammern eingeschlossene Bezeichner. Die Bezeichner können durch zusätzliche Attribute (innerhalb der spitzen Klammern) ergänzt werden (siehe unten). Die Attribute werden dabei durch Leerzeichen von dem Bezeichner und von anderen Attributen getrennt. SGML-Elemente können durch Tag-Paare oder durch einzelne Tags definiert werden. Tag-Paare bestehen aus einem Anfangs- und einem End-Tag, zwischen denen der Text oder Unterelemente eingeschlossen sind. Das zu einem Anfangs-Tag gehörende End-Tag besteht aus dem Bezeichner des Anfangs-Tag, dem (innerhalb der spitzen Klammer) ein Schrägstrich (slash) vorangestellt ist. Ein Abschnitt eines SGML-Dokuments kann also z.B. in die Tags <section> und </section> eingeschlossen sein. Formal wird ein Element in einer DTD folgendermaßen definiert werden: <!ELEMENT section - - (#PCDATA)> Dabei stehen nach !ELEMENT drei Blöcke:
<!ELEMENT anthology - - (poem+)> <!ELEMENT poem - - (title?, stanza+)> <!ELEMENT title - O (#PCDATA)> <!ELEMENT stanza - O (line+) > <!ELEMENT line O O (#PCDATA)>Andere Gedichtformen könnten so definiert werden: <!ELEMENT (line | line1 | line2) O O (#PCDATA)> <!ELEMENT couplet O O (line1, line2)>oder auch so: <!ELEMENT refrain - - (#PCDATA | line+)> <!ELEMENT poem - O (title?, ( (line+) | (refrain?, (stanza, refrain?)+)))>Neben dieser systematischen expliziten Definition einer hierarchischen Dokumentstruktur gibt es die Möglichkeit, bestimmte Elemente in allen "Unterelementen" eines Elements zuzulassen. Das ist z.B. für Anmerkungen oder Hervorhebungen sinnvoll, die nicht an ein bestimmtes Element gebunden sein sollen. Eine solche Inclusion kann folgendermaßen definiert werden: <!ELEMENT (note | variant) - - (#PCDATA)> <!ELEMENT poem - O (title?, (stanza+ | couplet+ | line+)) +(note | variant)>(Der Zeilenumbruch dient nur der besseren Lesbarkeit. Er wird als "white space" bei der Interpretation der DTD wie ein Leerzeichen behandelt). Diese Definition lässt in allen Elementen des Elements poem die Elemente note und variant zu. Andererseits gibt es die Möglichkeit, das Auftreten von bestimmten Elementen in einem Element zu verbieten. Eine solche Exclusion lässt sich folgendermaßen festgelegen: <!ELEMENT title - O (#PCDATA) -(note | variant)> <!ELEMENT (note | variant) - - (#PCDATA) -(note | variant)>Hier werden im Element title und in den Elementen note und variant selbst diese beiden Elemente verboten (also auch note in variant, was durch eine etwas ausführlichere Definition vermieden werden könnte.) | ||||||||||||
| ||||||||||||
|
Diese Seiten sind urheberrechtlich geschützt. Die Verantwortung für die Inhalte und die Rechte der Online-Version liegen beim Autor Reginald Ferber, Münster (Westf). Die Rechte der gedruckten Version beim dpunkt.verlag, Heidelberg. Die Weiterverwendung von Texten oder Abbildungen - auch auszugsweise - ist ohne die schriftliche Zustimmung des Autors Reginald Ferber bzw. des dpunkt.verlags nicht gestattet.
Es wird darauf hingewiesen, dass die verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken-, oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme wurden mit großer Sorgfalt kontrolliert. Trotzdem kann keinerlei Haftung für Schäden irgendwelcher Art übernommen werden, die sich im Zusammenhang mit der Nutzung dieser Seiten ergeben.
Diese HTML-Datei wurde am 27-10-2003 erzeugt.