Element (Auszeichnungssprache)

Ein Element ist eine Struktureinheit (Knoten) in einem durch eine Auszeichnungssprache (SGML, XML, HTML, XHTML, HTML5) repräsentierten Informationsbaum. Es besteht aus dem Element-Bezeichner, den Element-Eigenschaften (Attributen) und dem Element-Inhalt. Elemente werden durch Tags repräsentiert.

Beschreibung 
Ein Element dient zum Auszeichnen von Text, um ihm eine Struktur zu geben. Ein Element wird durch einen Tag (‚Etikett, Markierung‘) dargestellt:
<Bezeichner>Inhalt</Bezeichner>
Das Element ist hierbei Bezeichner, welches durch den Start-Tag (öffnenden Tag) <Bezeichner> sowie dem End-Tag (schließenden Tag) <code></Bezeichner></code> gebildet wird. Der Bezeichner vom Start-Tag und End-Tag muss gleich lauten. Den Inhalt bildet der umschlossene Text:
<Name>Johann Gottfried Seume</Name>
Der Inhalt kann auch weitere Elemente und Texte enthalten. 
<Name>
    <Vorname>Johann Gottfried</Vorname>
    <Nachname>Seume</Nachname>
</Name>
Leer-Elemente sind Elemente, die keinen Text und weiteren Elemente enthalten. 
<Leer></Leer>
In Web-SGML, XML und XHTML können Leer-Elemente mit dem Leer-Tag (engl. Empty Element Tag) gekennzeichnet werden. Der Leer-Tag entspricht in der Syntax einem Start-Tag, welcher mit der Zeichenfolge /> beendet wird. 
<Leer/>
In SGML und HTML wird ein Leer-Element mit einem Start-Tag gebildet. Nur Elemente
 deren Inhaltsmodell in der DTD mit EMPTY (leer) deklariert ist oder
 deren End-Tags in der DTD als minimierbar (engl. End Tag Minimization) deklariert sind oder
 deren Elemente als mögliche Leer-Elemente zugelassen sind (nur HTML Version 5)
sind als Leer-Elemente zulässig. Der End-Tag wird einfach weggelassen:
<Leer>
Zusätzliche Eigenschaften werden mit Attributen einem Element zugeordnet werden. Die Attribute werden nach dem Element-Bezeichner innerhalb des Start-Tags oder Leer-Tags angegeben.
<Elementname Attributname="Attributwert">
Ein Attribut besteht aus einer Zuweisung Attributname="Attributwert" (Eigenschaftsname=Eigenschaftswert). Der Attributwert wird in doppelten "..." oder einfachen '...' Anführungszeichen gesetzt.
<img src="bild.jpg"/>
Mehrere Attribute werden getrennt mit Separatorzeichen (Leerzeichen, Tabulatorzeichen, Zeilenumbrüche) aufgelistet:
<img src="bild.jpg" title="Abbildung"/>
In XML, XHTML und  HTML (Version 5) müssen die Paare, bestehen aus Zuweisungen von Attributname und Attributwert, stets vollständig angegeben. Die Attributwerte müssen stets in Anführungszeichen gesetzt werden.
In SGML und HTML (Version 1 bis 4) ist die vollständige Angabe ebenfalls stets zulässig. Allerdings sind hier, abhängig von der DTD, auch Vereinfachungen möglich.

Besonderheiten

SGML 

Bei SGML kann mit der Deklaration definiert werden, wie Elemente aussehen sollen (sie müssen nicht notwendigerweise in spitzen Klammern stehen). Ebenso kann die Beachtung der Groß-/Kleinschreibung und das Vorhandensein von Start- bzw. Endtag (Tag-Minimierung) eingestellt werden. Als EMPTY deklarierte Elemente dürfen keinen Endtag haben. Die Darstellung der Attribute kann ebenfalls mit der Deklaration definiert werden. Attribute können z. B. dergestalt minimiert sein, dass nur der Wert des Attributs angegeben wird.

XML 

Bei XML müssen alle geöffneten Elemente auch wieder geschlossen werden. Die Groß-/Kleinschreibung wird stets beachtet. Attribute müssen immer als Name-/Wert-Paar angegeben werden.

Inhaltsleere Elemente können in XML mit dem Leer-Tag, Kennzeichen  />, angegeben werden:
<colspec colwidth="10*"/>

HTML (Version 1 bis 4) 

Manche HTML-Elemente müssen nicht explizit geschlossen werden (z. B. <p>). Das liegt daran, dass HTML eine Anwendung von SGML ist, in der Tag-Minimierung aktiviert wird, die in der Dokumenttypdefinition (DTD) festgelegt wird. Ebenso können manche Attribute einfach durch ihren Inhalt angegeben werden.

Leer-Tags werden in folgender Form angegeben:
<img src="bild.jpg">
Die Tag-Minimierung ist aktiviert, d. h. nicht jedes Element muss explizit geschlossen werden:
<p>Das ist der erste Absatz
<p>Das ist der zweite Absatz

XHTML 
In XHTML werden Leer-Elemente werden in der XML-Syntax dargestellt:
<img src="bild.jpg"/>
Eine Tag-Minimierung ist nicht möglich, jedes Element muss explizit geschlossen werden:
<p>Das ist der erste Absatz</p>
<p>Das ist der zweite Absatz</p>

HTML (Version 5) 
In HTML5 werden Leer-Elemente werden wie in SGML und HTML (Version 1–4) angegeben: 
<img src="bild.jpg">
Für bestimmte Elemente gibt es eine Art Tag-Minimierung wie in SGML. Hier für das Element <li> dargestellt
<ul>
    <li>Das ist der erste Listeneintrag
    <li>Das ist der zweite Listeneintrag
</ul>

Anwendungsbeispiel HTML (Version 4) 
HTML benutzt bis Version HTML 4 auch Optimierungen von SGML, die es ermöglichen, Dokumente stark vereinfacht darzustellen (z. B. mit der Optimierung SHORTTAG). So ist z. B. das Folgende ein komplettes, dem Standard entsprechendes HTML-Dokument (Datei), verglichen mit dem kompletten Parse-Baum (vollständige Struktur im Browser):

Hierbei werden implizit folgende Ergänzungen vorgenommen:
 Durch das Öffnen des title-Elements wird das html- sowie head-Element geöffnet.
 Das title-Element wird durch die Zeichenkette </ wieder beendet.
 Durch das Öffnen eines Elements des Textkörpers (body) wird dieser implizit geöffnet und zuvor auch der Kopf (head) geschlossen.
 Das Start-Tag des p-Elements wird durch den ersten Schrägstrich (/) beendet. Der nächste Schrägstrich schließt das p-Element.
 Das Ende des Dokuments beendet den Textkörper sowie das html-Element.

Siehe auch 
 SGML
 XML
 HTML
 XHTML
 HTML5
 Markup

Einzelnachweise 

SGML
XML