SGML-Element

SGML-Element

Ein SGML-Element ist ein Knoten in einem durch SGML repräsentierten Informationsbaum. Es besteht aus den Element-Eigenschaften – dem Bezeichner des Elements und seine Attribute – und dem Element-Inhalt. In einer SGML-Instanz wird ein SGML-Element durch SGML-Tags repräsentiert.

Inhaltsverzeichnis

Beschreibung

Elemente

Ein Element dient zum Auszeichnen von Text, um ihm eine Struktur zu geben. Ein Element wird durch einen Tag (‚Etikett, Markierung‘) dargestellt:

 <elem>  … </elem>

Das SGML-Element ist hierbei elem, das durch das öffnende Tag <elem> sowie das schließende Tag </elem> gebildet wird. Das schließende Tag kann entfallen, wenn das Element keinen Inhalt hat und die verwendete SGML-Anwendung es erlaubt. Anstelle von <elem></elem> kann dies zum Beispiel durch das Tag <elem /> erreicht werden.

Elemente beziehen sich auf einzelne Textabschnitte, von einem einzelnen Zeichen, über Wörter, Sätze, und Absätze bis zum ganzen Dokument, sowie weitere, über reinen Text hinausgehende Bestandteile (etwa Bilder, Hyperlinks und anderes)

Attribute

Attribute sind zusätzliche Angaben, die den Elementtyp weiter spezifizieren. Die Attribute werden nach dem Element-Bezeichner noch innerhalb des Starttags angeführt.

 <elem attrib=foo;>  … </elem>

Hier wird dem Attribut attrib der Wert foo zugewiesen, und damit der Charakter des elem-Elements genauer angeben. Die genaue Syntax hängt vom SGML-Dialekt ab.

Auszeichnung und Parsing

Die am häufigsten verwendete SGML-Anwendung ist HTML. Diese nutzt jedoch einige Eigenschaften von SGML, die die Dokumente schwierig zu parsen machen (z. B. SHORTTAG). So ist z. B. das Folgende ein komplettes, dem Standard entsprechendes HTML-Dokument, verglichen mit dem kompletten Parse-Baum:

Parse-Baum eines validen HTML-Dokuments
valides HTML-Dokument vollständiger Parse-Baum
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 
 
<title>bla</>
 
 
<p/foo/
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <html>
  <head>
  <title>bla</title>
 </head>
 <body>
  <p>foo</p>
 </body>
</html>

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 geöffnet und zuvor 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-Dokument.

Wenn man diesen zwar richtig geschriebenen SGML-Text einem Internet-Browser übergibt (der HTML als Teilmenge von SGML können sollte), so kommt der Browser allerdings zu einem anderen Ergebnis; insbesondere die sehr selten benutzten und den allermeisten HTML-Autoren unbekannten Kurzschreibweisen werden von den wenigsten Browser korrekt interpretiert, da diese üblicherweise nur über einen Tagsoup-Parser, jedoch keinen SGML-Parser verfügen. Nun wurde allerdings SGML verwendet, um maschinenlesbare und menschenschreibbare Dokumente zu definieren (z. B. sogenannte Webseiten), dies scheitert aber an der teilweise unklaren Definition bzw. deren unzureichenden Umsetzung in den Client-Applikationen, die sich seit über 20 Jahren (2006) manifestiert hat.

Um diese Probleme zu umgehen, wurde XML als eine einfach weiterzuverarbeitende Teilmenge von SGML definiert; das in SGML definierte HTML wurde dann unter dem Namen XHTML als XML-konforme Anwendung neu definiert.

Besonderheiten

SGML-Element

Bei SGML kann in der Deklaration definiert werden, wie Elemente aussehen (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 (!) kein Endtag haben. Attribute können dergestalt minimiert sein, dass nur der Wert des Attributs angegeben wird.

XML-Element

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

Inhaltsleere Elemente müssen in XML aufgrund der NETENABL-Enstellung mit dem NESTC-Begrenzer / (net-enabling start-tag close) sowie dem NET > (null end-tag) geschlossen werden werden[1]:

   <colspec colwidth="10*" />

HTML-Element

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

In XML ist die Tag-Minimierung weggefallen, d. h. es muss jedes Element geschlossen werden, also auch in XHTML. Desgleichen müssen Attribute immer als Name-/Wert-Paar dargestellt werden.

HTML:
 <p>Erste Zeile<br>Zweite Zeile
XHTML:
 <p>Erste Zeile<br />Zweite Zeile</p> 

Beispiele

Ein schreibgeschütztes Eingabefeld kann in HTML (also SGML) wie folgt notiert werden:

<input name=dingsbums readonly>

In XHTML (also XML) muss dasselbe Eingabefeld wie folgt aussehen:

<input name="dingsbums" readonly="readonly"/>

Die hier demonstrierten Unterschiede:

  • Attributwerte brauchen in SGML nicht in Anführungszeichen gesetzt zu werden, wenn sie nur unkritische Zeichen enthalten
  • das Attribut readonly kann in SGML, nicht aber in XML, wie oben erwähnt durch seinen Wert abgekürzt werden
  • Das als leer bekannte Element <input> hat in HTML keinen abschließenden Slash

Einzelnachweise

  1. [1]

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Element HTML — Élément HTML Demande de traduction HTML element → …   Wikipédia en Français

  • Élément link — Élément HTML Demande de traduction HTML element → …   Wikipédia en Français

  • SGML-Attribut — Ein SGML Element ist ein Knoten in einem durch SGML repräsentierten Informationsbaum. Es besteht aus den Element Eigenschaften – dem Bezeichner des Elements und seine Attribute – und dem Element Inhalt. In einer SGML Instanz wird ein SGML Element …   Deutsch Wikipedia

  • SGML — Vorlage:Infobox Dateiformat/Wartung/extension fehltVorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/owner fehltVorlage:Infobox Dateiformat/Wartung/website fehlt Standard Generalized Markup Language …   Deutsch Wikipedia

  • Élément HTML — En informatique, un élément HTML indique la structure d un document HTML. Jusqu à la version 4.01 incluse de ce format, un élément HTML est un élément SGML qui satisfait aux exigences d une ou plusieurs Définitions de Type de Document (DTD) de… …   Wikipédia en Français

  • SGML — 〈EDV; Abk. für engl.〉 Standard(ized) Generalized Mark up Language, zur strukturierten Darstellung von gegliederten Texten genormte Auszeichnungssprache; →a. XML [engl.] * * * SGML   [Abk. für Standardized Generalized Markup Language, dt.… …   Universal-Lexikon

  • Element XML — Extensible Markup Language Extensible Markup Language Extension de fichier .xml Type MIME application/xml, text/xml Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

  • Élément XML — Extensible Markup Language Extensible Markup Language Extension de fichier .xml Type MIME application/xml, text/xml Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

  • SGML — Standard Generalized Markup Language Standard Generalized Markup Language (langage normalisé de balisage généralisé SGML) est un langage de description à balises, de norme ISO (ISO 8879:1986). Sommaire 1 Historique 2 Normalisation 2.1 DTD …   Wikipédia en Français

  • HTML-Element — Ein SGML Element ist ein Knoten in einem durch SGML repräsentierten Informationsbaum. Es besteht aus den Element Eigenschaften – dem Bezeichner des Elements und seine Attribute – und dem Element Inhalt. In einer SGML Instanz wird ein SGML Element …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”