Björn Klippstein

XML-Grundbegriffe

Klippstein IT Service

Aus 4webmaster.de

Wechseln zu: Navigation, Suche

XML verwendet bestimmte Begriffe wie Tag, Element, Attribut usw. Diese Begriffe sollen anhand des folgenden XHTML-Fragmentes erklärt werden (XHTML ist XML, genauer gesagt eine spezielle XML-Sprachvariante)

<html>
  <h3>Eine Überschrift</h3>
  Was ich immer schon mal sagen wollte:
  <![CDATA[Zwei > Eins]]>
  <ul>
    <li>Blabla BlaBla Blabla</li>
    <li>Blubb Blubb</li>
  </ul>
</html>

Obiger Quellcode ergibt noch keine vollständige XHTML-Seite. Es fehlen das head-Element und das body-Element.

Tag Tags sind die Wörter mit den spitzen Klammern, z.B. <h3> oder </li>. Tags kommen normalerweise paarweise vor, d.h. es gibt immer einen Start-Tag (ohne Slash) und einen End-Tag (mit Slash).
Element Start-Tag, End-Tag und alles dazwischen bilden ein Element. Im obigen Beispiel gibt es ein h3-Element. Es hat den Inhalt »Eine Überschrift«. Außerdem gibt es ein ul-Element. Es beinhaltet weitere Elemente, nämlich zwei li-Elemente.
Inhalt Elemente können verschiedene Inhalte haben:
  • PCDATA (parsed character data): Im Beispiel ist der Inhalt des h3-Elementes »Eine Überschrift«. Solcher Text wird vom Parser interpretiert. PCDATA darf keine spitzen Klammern, keine Anführungszeichen und kein kaufmännisches Und enthalten. Diese Zeichen müssen maskiert werden, siehe XML-eigene Zeichen.
  • CDATA: Alles innerhalb eines CDATA-Abschnittes wird vom Parser ignoriert. D.h. innerhalb eines CDATA-Abschnittes müssen die XML-eigenen Zeichen nicht maskiert werden. Ein CDATA-Abschnitt wird mit <![CDATA[ begonnen und endet mit ]]>
    im obigen Beispiel ist der Text »Zwei > Eins« als CDATA-Abschnitt formuliert. Ein CDATA-Abschnitt darf fast alles enthalten, nur keine weiteren CDATA-Abschnitte.
  • weitere Elemente: Im Beispiel enthält das ul-Element zwei li-Elemente (die wiederum PCDATA enthalten).
  • mixed content: Wenn ein Element sowohl PCDATA als auch weitere Elemente enthält, spricht man von mixed content.
  • keinen Inhalt: Der Inhalt kann auch leer sein. Z.B. würde <p></p> einen leeren p-Abschnitt erstellen. Leere Elemente können in einer Kurzform dargestellt werden, in der Start-Tag und End-Tag zu einem zusammengefasst werden: <p/>. Häufig verwendete leere Elemente sind z.B. <br/> (Zeilenumbruch) oder <hr/> (horizontale Linie).
  • Entities: Das sind Platzhalter für vorgefertigte Inhalte. Eine Entity hat den Syntax &entityname;
    Entities werden z.B. zur Darstellung der XML-eigenen Zeichen verwendet, z.B. &quot; für ein Anführungszeichen. Mit DTD können Sie auch eigene Entities definieren.
Attribut Durch Attribute können einem Element zusätzliche Eigenschaften zugewiesen werden. Ein Attribut wird mit dem Syntax Attributname="Wert" zugewiesen. Es sind auch einfache Anführungszeichen möglich.
Beispiel: <br clear="both" />
Document-Element Jedes XML-Dokument hat eine Baumstruktur. Das Document-Element ist das oberste Element des Dokumentes. Es beinhaltet alle anderen Elemente. In XHTML ist das Document-Element <html> … </html>. Nicht zu verwechseln mit dem Root-Knoten.
Root-Knoten Der Root-Knoten ist noch eine Ebene höher als das Document-Element. Er hat kein Pendant im XML-Dokument und gilt nicht als Element. Siehe XPath.
Kommentar Beispiel: <!-- Ein Kommentar -->
Verarbeitungs-
anweisung
Mit einer Verarbeitungsanweisung (PI prozessing instruction) können der Anwendung, die das XML-Dokument verarbeitet, weitere Anweisungen gegeben werden. Zum Beispiel kann einem Browser für die Verarbeitung einer XHTML-Datei die Anweisung gegeben werden, eine bestimmte CSS-Datei zu verwenden. Verarbeitungsanweisungen werden in der Form <?pi-name … ?> notiert. Beispiel:
<?xml-stylesheet type="text/css" href="my.css" ?>

Auch PHP-Code wird als XML-Verarbeitungsanweisung notiert, Beispiel:
<?php echo'Hello, World'; ?>

Node / Knoten Jedes Element, jedes Attribut und jeder PCDATA- oder CDATA-Inhalt ist ein Knoten in der Baumstruktur, die das XML-Dokument bildet. Jeder Knoten ist einzeln adressierbar, siehe XPath.
XML-Parser Ein XML-Parser oder XML-Prozessor liest ein XML-Dokument ein und stellt eine API zur Verfügung, mit der auf das Dokument zugegriffen werden kann.
  • Eine dieser APIs ist das DOM Document Object Model.
  • Eine andere wichtige API ist SAX Simple API for XML, sie arbeitet im Gegensatz zu DOM ereignisorientiert.

Validierende Parser können das Dokument auch anhand einer DTD Document Type Definition validieren.


Persönliche Werkzeuge