Titelblatt des Buchs
Reginald Ferber Information Retrieval
Suchmodelle und Data-Mining-Verfahren für Textsammlungen und das Web

Position im Angebot Information Retrieval -> Information Retrieval und das Web -> Explizit strukturierte Dokumente -> Standard Generalized Markup Language (SGML)
Stichwörter dieser Seite Tag, Attribut, Verbindungszeichen, group connector, minimalization rules, omissable, optional, Inhaltsmodell, content model, occurrence indicator, Inclusion, Exclusion
Navigation Zurück ]    [ Inhalt ]    [ Stichwörter ]    [ Feedback ]    [ Home ]

4.1.1.1: SGML-Elemente

Eine 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:

  • Der Name des Elements oder eine in runde Klammern eingeschlossene Liste von Namen, die mit einem der Verbindungszeichen (group connector) , &  |  verbunden sind.
  • Zwei einstellige Markierungen (minimalization rules), die die Werte - und O annehmen können und definieren, ob das Element ein Anfangs-Tag (erstes Zeichen) bzw. ein End-Tag (zweites Zeichen) haben muss. Dabei bedeutet O (omissable oder optional), dass das entsprechende Tag weggelassen werden kann.
  • An letzter Stelle steht das Inhaltsmodell (content model). Diese Angabe wird in runde Klammern eingeschlossen und kann aus einem Element, einer Gruppe von Elementen oder aus bestimmten reservierten Wörtern bestehen, die bestimmte Inhaltsformen spezifizieren, z.B. das Wort PCDATA (parsed character data), das zulässige Zeichenketten bezeichnet. Die Angaben können geschachtelt, mit Verbindungszeichen verknüpft und mit den Auftretensindikatoren (occurrence indicators) * + ? versehen sein.
Die folgenden Beispiele (wie alle in diesem Abschnitt) sind aus Sperberg-McQueen und Burnard (1998) [->] entnommen. Die DTD einer Gedichtsammlung könnte z.B. so aussehen:
<!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.)

Navigation Zurück ]    [ Inhalt ]    [ Stichwörter ]    [ Feedback ]    [ Home ]
Position im Angebot Information Retrieval -> Information Retrieval und das Web -> Explizit strukturierte Dokumente -> Standard Generalized Markup Language (SGML)
Dieser Abschnitt und seine Unterabschnitte
Inhalt Stichwörter in der Reihenfolge ihres AuftretensStichwörter alphabetisch sortiert
4.1.1.1SGML-Elemente
Tag, Attribut, Verbindungszeichen, group connector, minimalization rules, omissable, optional, Inhaltsmodell, content model, occurrence indicator, Inclusion, Exclusion Attribut, content model, Exclusion, group connector, Inclusion, Inhaltsmodell, minimalization rules, occurrence indicator, omissable, optional, Tag, Verbindungszeichen

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.