XML-Know How

Hierarchische, Block- und Inline-Elemente

Neben der Unterscheidung von XML-Elementen nach ihrem Inhalt in PCDATA-Elemente, Mixed Content-Elemente, Container-Elemente und leere Elemente findet man häufig die Unterscheidung nach ihrer hierarchischen Position, also der Gliederungsebene. Dabei werden die potentiell unendlich vielen Gliederungsebenen in drei Gruppen unterteteilt.

Die erste Gruppe bilden die hierarchischen Elemente, also alle Container-Elemente, die Gliederungsebenen wie Kapitel, Unterkapitel, Untergliederung der Unterkapitel etc. entsprechen. Hierarchische Elemente enthalten nie direkt Text, sondern dienen dazu, die Text-Elemente wie z. B. Überschriften und Absätze den Ebenen wie Kapitel, Unterkapitel u. ä. und zuzuordnen. Im XML-Beispiel des vorangehenden Abschnitts sind <buch> und <kapitel> hierarchische Elemente.

Elemente, die PCDATA oder Mixed Content enthalten und dabei in einem hierarchischen Container stehen, nennt man Block-Elemente. Die Definition klingt schwieriger als die Sache selbst ist: ein Absatz ist ein typisches Block-Element – er wird in einem ihn umschließenden Abschnitt stehen (etwa ein Kapitel) und PCDATA oder Mixed Content enthalten. Das Gleiche gilt für Überschriften, Aufzählungselemente und ähnliches. Gemeinsames Merkmal dieser Elemente ist, dass ihr Inhalt als Einheit (block) verstanden werden kann. Blockelemente werden fast immer absatzähnlich ausgegeben, d. h. es erfolgt keine Absatzschaltung innerhalb eines Blockelementes. Erfolgt kein platzbedingter Zeilenumbruch wegen räumlicher Begrenzung der Darstellung (Bildschirmbreite, Papierbreite), entsprechen Blockelemente einer Zeile (line). Im XML-Beispiel des vorangehenden Abschnitts sind <überschrift> und <absatz> Block-Elemente.

Die dritte Kategorie umfasst die Elemente, die in Mixed Content auftreten, also Inhalt von Block-Elementen sind. Da der Inhalt eines Block-Elementes als eine line gedacht wird, heißen diese Elemente Inline-Elemente. In unserem XML-Beispiel ist <wissenschaftler> ein Inline-Element.