Zum Inhalt springen

Auszeichnungssprache

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Markupsprache)

Eine Auszeichnungssprache (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden., abgekürzt ML) ist eine maschinenlesbare Sprache für die Gliederung und Formatierung von Texten und anderen Daten. Der bekannteste Vertreter ist die Hypertext Markup Language (HTML), welche die Kernsprache des World Wide Webs ist.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Living Standard — Last Updated 20 July 2026Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. W3C, 20. Juli 2026; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.): Lua-Fehler in Modul:Text, Zeile 51: attempt to index field 'wikibase' (a nil value)</ref>

Mit Auszeichnungssprachen werden Eigenschaften, Zugehörigkeiten und Darstellungen von Zeichen, Wörtern, Absätzen und Abschnitten eines Textes bzw. Dokumentes oder von anderen Daten beschrieben. Dies geschieht in der Regel durch Einschluss des Inhalts mittels Tags. Beide Tags, ggf. zusätzliche Attribute und der so ausgezeichnete Inhalt bilden ein Element.

Dieser Artikel behandelt besonders die mit der Standard Generalized Markup Language (SGML) empfohlene „Trennung von Struktur und Darstellung“.

Wortherkunft und Geschichte[Bearbeiten]

Der typografische Begriff Auszeichnung kommt aus der Druckersprache. Ursprünglich war damit lediglich die Methode gemeint, Teile eines Textes durch von der Grundschrift abweichende Schriften zu gestalten, z. B. durch andere Schriftgrößen und -arten, aber auch durch Unterstreichen, Sperren oder andere Druckfarben. Für den Schriftsetzer wurden die entsprechenden Stellen früher handschriftlich auf dem zugehörigen Manuskript kenntlich gemacht; auch dies wurde Auszeichnen genannt.<ref>Meyers enzyklopädisches Lexikon. Mannheim 1971. Band 3, S. 188.</ref> Mit der Weiterentwicklung der Typografie für digitale Texte wurden daraus maschinenlesbare Sprachen, und das Konzept wurde auf Fußnoten, Literaturhinweise, Absätze, Überschriften etc. erweitert. Dann wurde der Gedanke der Trennung von Inhalt und Form – ursprünglich ein Schlagwort der Formalen Soziologie – populär, so dass in den Quelltexten für Dokumente Hinweise auf die Formatierung von Textteilen mehr und mehr durch Kennzeichnungen der Art von Information ersetzt wurden, die jeweils mitgeteilt werden sollte. Dies führte 1986 zu SGML als internationalem Auszeichnungsstandard (ISO 8879) und 1998 zur Spezifikation von XML durch das World Wide Web Consortium. XML wurde in den folgenden Jahren auch für andere Zwecke als für die Formatierung von Textdokumenten eingesetzt, etwa für Datenformate im Zusammenhang mit der Datenserialisierung.

Wie ausgezeichneter Text aussieht[Bearbeiten]

Grundzüge[Bearbeiten]

Typische Auszeichnungssprachen kennzeichnen Teile von Texten oder anderen Daten mit Tags. Die Quelltexte dafür werden mit einem computerlesbaren Zeichensatz verfasst, in der Regel ASCII oder UTF-8. Oft bietet die Sprache auch die Möglichkeit, Sonderzeichen zu beschreiben, meist mit Hilfe einer numerischen Zuweisung z. B. bei Unicode oder durch benannte Zeichenentitäten, für µ zum Beispiel <syntaxhighlight lang="latex" inline>\mu</syntaxhighlight> in LaTeX und <syntaxhighlight lang="html" inline>µ</syntaxhighlight> in HTML.

Ergebnis und Code in Beispielen[Bearbeiten]

Beispiel für … Darstellungs-
beispiel
HTML LaTeX MediaWiki-Wikitext Markdown AsciiDoc
Überschrift Abschnitt <syntaxhighlight lang="html" inline>

Abschnitt

</syntaxhighlight>
<syntaxhighlight lang="latex" inline>\section{Abschnitt}</syntaxhighlight>
== Abschnitt ==
<syntaxhighlight lang="markdown" inline>## Abschnitt</syntaxhighlight> <syntaxhighlight lang="markdown" inline="">== Abschnitt</syntaxhighlight>
Aufzählung
  • Punkt 1
  • Punkt 2
  • Punkt 3

<syntaxhighlight lang="html">

  • Punkt 1
  • Punkt 2
  • Punkt 3

</syntaxhighlight>

<syntaxhighlight lang="latex"> \begin{itemize} \item Punkt 1 \item Punkt 2 \item Punkt 3 \end{itemize} </syntaxhighlight>

* Punkt 1
* Punkt 2
* Punkt 3

<syntaxhighlight lang="markdown"> - Punkt 1

  • Punkt 2

- Punkt 3 </syntaxhighlight>

<syntaxhighlight lang="markdown">
  • Punkt 1
  • Punkt 2
  • Punkt 3

</syntaxhighlight>

Hyperlink W3C <syntaxhighlight lang="html" style="white-space:nowrap" inline><a href="http://www.w3.org/">W3C</a></syntaxhighlight> <syntaxhighlight lang="latex" inline>\href{https://www.w3.org}{W3C}</syntaxhighlight> [http://www.w3.org/ W3C] <syntaxhighlight lang="markdown">[W3C](http://www.w3.org/)</syntaxhighlight> <syntaxhighlight lang="markdown">http://www.w3.org/[W3C]</syntaxhighlight>
fetten Text fett <syntaxhighlight lang="html" inline>fett</syntaxhighlight> <syntaxhighlight lang="latex" inline>\textbf{fett}</syntaxhighlight> '''fett''' <syntaxhighlight lang="markdown">**fett** oder __fett__</syntaxhighlight> <syntaxhighlight lang="markdown">*fett*</syntaxhighlight>
kursiven Text kursiv <syntaxhighlight lang="html" inline>kursiv</syntaxhighlight> <syntaxhighlight lang="latex" inline>\textit{kursiv}</syntaxhighlight> ''kursiv'' <syntaxhighlight lang="markdown">*kursiv* oder _kursiv_</syntaxhighlight> <syntaxhighlight lang="markdown">_kursiv_</syntaxhighlight>

Der Hyperlink mit LaTeX funktioniert nicht allgemein, jedenfalls aber mit dem Zusatzpaket hyperref und bei Erzeugung eines Ergebnisses im PDF-Format.

Beispiele „darstellender“ gegenüber „beschreibender“ Auszeichnung[Bearbeiten]

Fett und kursiv in der vorigen Tabelle bedeuten eine bestimmte Darstellung (d. h. Formatierung, hier konkret die Wahl eines Schriftschnitts), während Überschrift ein semantisches Merkmal ist und im Allgemeinen keine Darstellung (z. B. fett) festlegt. In Druckwerken werden Überschriften statt in Fettschrift auch durch Kapitälchen oder Kursivstellung formatiert.

Zu HTML und LaTeX gibt die vorige Tabelle daher für fett und kursiv den Code für die Schriftauszeichnung an;<ref name="html-4-01-spec-fonts">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 15.2 FontsSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 24. Dezember 1999; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).@1@2Vorlage:Toter Link/www.w3.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> tatsächlich erzeugt die MediaWiki-Software der Wikipedia aus dem Wikitext '''fett''' den HTML-Code <syntaxhighlight lang="html" inline>fett</syntaxhighlight>.<ref group="Anm.">Genauer rahmen die „ASCII-Apostrophe“ in MediaWiki-Wikitext eigentlich nicht Elemente ein, und sie gestatten kein Verschachteln von Elementen, dafür erlauben sie überlappendes Markup: Das erste Tripel von Apostrophen in einem Quelltextabsatz erzeugt ein <b>, das nächste ein </b>, das dritte wieder ein <b> usw. Das erste Paar von Apostrophen, dem kein weiterer Apostroph folgt, erzeugt ein <i>, das nächste ein </i>, das nächste wieder ein <i> usw. Am Ende des Absatzes werden offene Tags automatisch durch schließende ergänzt.</ref> Im Gegensatz dazu bietet HTML die semantische Auszeichnung durch strong an, was „Wichtigkeit“ ausdrücken soll,<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] 4.5.3 The strong elementSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 28. Oktober 2014, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 1. August 2015; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).</ref> Beispiel:

HTML Ergebnis mit Voreinstellungen
<syntaxhighlight lang="html" inline>wichtig!</syntaxhighlight> wichtig!

Das HTML-Element strong wird also normalerweise (d. h. gemäß den Browser-Voreinstellungen) durch fetten Text dargestellt.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.): Lua-Fehler in Modul:Text, Zeile 51: attempt to index field 'wikibase' (a nil value)</ref>

Analog zum Verhältnis des HTML-Elements b zum HTML-Element strong ist die Beziehung des HTML-Elements i zu em: Das zweite Element steht für die Betonung, seine voreingestellte Darstellung ist die Kursivstellung.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.): Lua-Fehler in Modul:Text, Zeile 51: attempt to index field 'wikibase' (a nil value)</ref> In LaTeX gibt es ebenfalls mit <syntaxhighlight lang="latex" inline>\textit</syntaxhighlight> eine Darstellungsauszeichnung und mit <syntaxhighlight lang="latex" inline>\emph</syntaxhighlight> eine semantische Variante.<ref>LaTeX/Fonts#Emphasizing text in den Wikibooks (englisch)</ref><ref>Mittelbach und Goossens (#Literatur) S. 341ff.</ref>

HTML LaTeX Ergebnis mit Voreinstellungen

<syntaxhighlight lang="html"> <body> eine Betonung in normaler Umgebung </body> </syntaxhighlight>

<syntaxhighlight lang="latex"> \begin{document} eine \emph{Betonung} in normaler Umgebung \end{document} </syntaxhighlight>

eine Betonung in normaler Umgebung

Innerhalb eines kursiv gesetzten Texts aber ist Kursivstellung zur Betonung ungeeignet. LaTeX berücksichtigt das:

HTML Ergebnis mit Voreinstellungen
<syntaxhighlight lang="html" inline>eine Betonung in kursiver Umgebung</syntaxhighlight> eine Betonung in kursiver Umgebung
<syntaxhighlight lang="latex" inline>\textit{eine \emph{Betonung} in kursiver Umgebung}</syntaxhighlight> eine Betonung in kursiver Umgebung
LaTeX Ergebnis

Wikitext verhält sich hier in gewisser Weise wie LaTeX; in HTML kann das Verhalten von LaTeX durch die CSS-Deklaration <syntaxhighlight lang="css" inline>i em { font-style: normal; }</syntaxhighlight> ansatzweise erzielt werden. Nach HTML5-Spezifikation soll die Verschachtelung von em-Elementen verstärkte Betonung ausdrücken<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] 4.5.2 The em elementSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 28. Oktober 2014, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 1. August 2015; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).</ref>, was anscheinend noch kaum implementiert ist. LaTeX hingegen schaltet bei Verschachtelung von <syntaxhighlight lang="latex" inline>\emph</syntaxhighlight> nur zwischen Kursiv- und Aufrechtstellung hin und her, so dass beim Lesen dreifache Betonung von einfacher Betonung nicht zu unterscheiden ist. Letztlich sind demnach gebräuchliche und gleichzeitig sinnvolle Implementierungen der Betonung in HTML nur für die einfachsten Fälle und in LaTeX nur für die einfachsten und die zweiteinfachsten Fälle bekannt.

Bei HTML wurde lange angestrebt, darstellende (im Jargon „präsentationale“) Elemente abzuschaffen<ref group="Anm.">In HTML3.2 vom 14. Januar 1997 war davon noch nichts zu sehen, jedoch war am 17. Dezember 1996 mit CSS1 der Grundstein gelegt worden. Im Arbeitsentwurf für HTML 4.0 vom 8. Juli 1997 wurde dann angekündigt, dass „präsentationale“ Elemente und Attribute nach und nach durch Stylesheets ersetzt werden sollten.</ref> (HTML4-Varianten „strict“<ref name="html-strict-dtd">Dokumenttypdefinition</ref> vs. „transitional“). Mit HTML5 soll dieses Ziel erreicht sein,<ref name="w3c-presentational">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 1.10.1 Presentational markupSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 28. Oktober 2014; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).@1@2Vorlage:Toter Link/www.w3.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> obwohl b und i für Fälle, in denen Fettschrift bzw. Kursivstellung dringend erwünscht ist, immer noch vorhanden sind. Eine Aufzählung von Fällen, in denen die konkrete Schriftschnittwahl angebracht ist, wird als „semantische Definition“ der beiden Elemente betrachtet.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 4.5 Text-level semanticsSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 28. Oktober 2014; ehemals im Vorlage:Referrer (nicht mehr online verfügbar);.@1@2Vorlage:Toter Link/www.w3.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref>

Skriptfehler: Ein solches Modul „Vorlage:Anker“ ist nicht vorhanden. Innere Systematik – Abstraktionsstufen[Bearbeiten]

„Darstellend“ gegenüber „beschreibend“ – Übersicht[Bearbeiten]

1981 unterschied Charles Goldfarb auf einer Konferenz in Lausanne und in einem einflussreichen Artikel zwischen prozeduraler (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. procedural markup) und deskriptiver (beschreibender, Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. descriptive markup) Auszeichnung von Dokumenten.<ref name="lausanne-1981">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 11. Januar 1998; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).@1@2Vorlage:Toter Link/xml.coverpages.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref><ref>Richard Furuta: Important papers in the history of document preparation systems: basic sources. S. 20.</ref><ref name="furuta-1992-4.1">Richard Furuta: Important papers in the history of document preparation systems: basic sources. Abschnitt 4.1</ref><ref>Goldfarb (#Literatur)</ref> 1987 wurde präsentational (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. presentational markup) im Zusammenhang mit WYSIWYG-Textverarbeitung als weitere Art Text auszuzeichnen genannt.<ref name="CRdR">Coombs, Renear und DeRose (#Literatur)</ref><ref name="furuta-1992-s-30">Richard Furuta: Important papers in the history of document preparation systems: basic sources. S. 30.</ref><ref name="bray-taxo">Tim Bray: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Taxonomy of MarkupSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 9. April 2003; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).@1@2Vorlage:Toter Link/www.tbray.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> Recht bald wurde jedoch präsentational als Synonym oder Oberbegriff von prozedural verwendet (mehr dazu weiter unten). Diese Auszeichnung bezeichnen wir hier als darstellend. Durch sie wird die Textformatierung, z. B. die Schriftauszeichnung durch Wahl einer Schriftart, eines Schriftschnitts, des Schriftgrads, einer Schriftfarbe oder einer farblichen Unterlegung der Schrift sowie die Ausrichtung von Text (relative Abstände, absolute Position auf der Seite), festgelegt.<ref name="html-4-01-spec-graphics">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 15 Alignment, font styles, and horizontal rulesSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 24. Dezember 1999; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).@1@2Vorlage:Toter Link/www.w3.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> Weitere Synonyme wurden später häufiger verwendet:<ref name="cover">Robin Cover: SGML: A Textual Representation for Information Structure.</ref>

  • für darstellend/präsentational visuell, physisch und spezifisch;
  • für deskriptiv strukturell, deklarativ, verallgemeinert (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. generalized), generisch, inhaltlich, logisch, konzeptuell (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. conceptual)<ref>Downes (#Literatur) S. 1368.</ref> und semantisch.

Der Ausdruck generic coding anstelle von descriptive markup stammt von William W. Tunnicliffe. Furuta verwendete 1992 zur Darstellung von Goldfarbs und Brian Reids Unterscheidung nicht prozedural und deskriptiv, sondern präsentational und generisch<ref name="furuta-1992-4.1" />, außerdem separation between content specification and format specification<ref name="furuta-1992-s-30" /> und zu generisch logical structure rather than its physical appearance.<ref>Richard Furuta: Important papers in the history of document preparation systems: basic sources.  19.</ref> In den Spezifikationen und Entwürfen zu HTML 4.0 und HTML 4.01 ist das vorherrschende Gegensatzpaar präsentational (auch presentation elements and attributes)<ref name="html-4-01-spec-style">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 2.3.5 Style sheetsSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 24. Dezember 1999; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).@1@2Vorlage:Toter Link/www.w3.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> versus strukturell<ref name="html-4-01-spec-style" /> (Separate structure and presentation<ref name="html-4-01-spec-separate">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 2.4.1 Separate structure and presentationSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 24. Dezember 1999; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).@1@2Vorlage:Toter Link/www.w3.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref>). Auch von visual formatting ist die Rede.<ref name="html-4-01-spec-graphics" />

Zu Beginn seines Artikels erklärt Goldfarb, „das Markup trenne die logischen Elemente voneinander und gebe typischerweise (Anmerkung: wohl in Bezug auf das bis dahin bekannte prozedurale Markup) die Verarbeitungsfunktionen (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. processing functions) an, die auf diese Elemente angewendet werden sollen.“<ref name="goldfarb-s-68">Goldfarb (#Literatur) S. 68.</ref>

Popularität beschreibender Auszeichnung (Vorteile, historische Entwicklung)[Bearbeiten]

Goldfarb, William W. Tunnicliffe und Brian Reid empfahlen damals, Dokumente beim Verfassen nur beschreibend auszuzeichnen, z. B. Phrasen und Blöcke nur als Titel, Abschnittsüberschrift, Blockzitat usw. zu kennzeichnen, um typografisch hochwertigen Satz auch ohne typografische Fachkenntnisse und Programmierkenntnisse der Verfasser zu ermöglichen, den Darstellungsstil mit geringem Aufwand ändern zu können, nicht auf bestimmte Werksatzanbieter angewiesen zu sein und um automatische Informationsgewinnung zu erleichtern, etwa um beim Durchsuchen von Dokumenten nach Stichwörtern Vorkommnisse in Überschriften stärker zu gewichten.<ref name="furuta-1992-4.1" /> Goldfarb weist etwa darauf hin, dass durch die bloße Kennzeichnung von Wörtern als zu zentrieren die Information verloren geht, ob es sich um eine Überschrift oder die Beschriftung einer Tabelle oder Abbildung handelt.<ref name="goldfarb-s-68" /> Deskriptive Auszeichnung erleichtert auch die Darstellung in unterschiedlichen Ausgabeformaten/-geräten wie HTML, PDF und Screenreader (Barrierefreiheit, vgl. Accessible Rich Internet Applications).<ref name="w3c-presentational" /> Im Falle von HTML kann die Nutzung präsentationaler Attribute anstelle von Stylesheets auch die HTML-Dateien „aufblähen“. Entsprechend wurde später bei HTML darauf hingearbeitet, nur strukturelle oder semantische Elemente und Attribute anzubieten und die Darstellung völlig in die Cascading Style Sheets auszulagern (Trennung von Inhalt und Form).

William W. Tunnicliffe sprach sich bereits 1967 auf einer Konferenz für die Trennung von Inhalt und Form in der Textverarbeitung aus, was jedoch zunächst geringe Wirkung hatte. Immerhin gibt Goldfarb an, davon beeinflusst worden zu sein. 1981 stellte Brian Reid sein Satzsystem Scribe in derselben Sitzung der „Lausanne-Konferenz“ vor, in der Goldfarb seine Ideen vorstellte.<ref name="lausanne-1981" /> Scribes Trennung von Inhalt und Form(atierung) beeindruckte als besonders gut gelungen.<ref name="furuta-1992-s-30" /> In den nächsten Jahren entwickelte Leslie Lamport das Makropaket LaTeX für das TeX-Programm besonders mit der Motivation, ebenfalls Autoren eine deskriptive Auszeichnungssprache anzubieten.<ref>Goossens/Mittelbach/Samarin 1994 sowie Mittelbach und Goossens 2004 S. 2 (#Literatur).</ref> 1985 wurde es veröffentlicht. Bereits 1992 war LaTeX sehr populär<ref name="furuta-1992-4.1" />, zunächst unter nordamerikanischen Mathematikern, in den nächsten Jahren überhaupt im wissenschaftlich-akademischen Bereich und in der Industrie.<ref>Mittelbach und Goossens (#Literatur) S. 2.</ref> In den nächsten Jahren übernahm ein fast rein europäisches Entwicklungsteam die Weiterentwicklung von LaTeX und verbesserte seine Flexibilität hinsichtlich der Verwendung unterschiedlicher Stylesheets (Makrodefinitionsdateien mit Endungen .sty für „style“ wie bei Lamport und .cls für die Deklaration der Dokumentenklasse mit \documentclass) und hinsichtlich der Verwendung mit nicht-englischen Sprachen, wodurch die Bedeutung von LaTeX noch gesteigert wurde.<ref>Mittelbach und Goossens 2004 (#Literatur) S. 2–4.</ref>

Tunnicliffe und Goldfarb führten dagegen die Weiterentwicklung von IBM Generalized Markup Language zu SGML als Grundlage für die Definition rein deskriptiver Auszeichnungssprachen an, woraus später XML entstand, das im Werksatz ebenfalls eine bedeutende Rolle spielt.

Definition als „Sprache“[Bearbeiten]

Eine Auszeichnungssprache sollte eine Sprache sein, die auch maschinenlesbar ist. Dazu müssen jeweils Syntax und Semantik angegeben werden, was in folgenden Fällen zutrifft:

  1. Der Quellcode eines Dokuments ist ein Programm mit Anweisungen einer domänenspezifischen Programmiersprache; Syntax und Semantik sind also wie bei anderen Programmiersprachen auch definiert und bilden eine formale Sprache, deren Syntax etwa durch Produktionsregeln (etwa in Backus-Naur-Form) gebildet wird. Dies gilt etwa für PostScript und troff sowie auf Token-Ebene nach Expansion von Makros für TeX.<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.</ref>
  2. Bei gemäß SGML bzw. XML definierten Auszeichnungssprachen wird jedenfalls die Syntax präzise durch eine Dokumenttypdefinition dargestellt. Unter Umständen gibt das World Wide Web Consortium auch eine informelle Semantik an, die aus an Nutzer und Entwickler gerichteten Empfehlungen besteht.

Etwas schwieriger ist es im Fall von TeX und LaTeX, wo durch Makrodefinitionen hauptsächlich vor dem Einlesen des Codes, der den Inhalt eines Dokuments darstellt, eine sehr umfangreiche prozedurale Sprache (wir greifen etwas vor) entsteht. Durch die Wahl sprechender Makronamen entsteht jedenfalls eine Illusion von rein deskriptiver Auszeichnung. Durch Verschweigen im Handbuch oder Verbieten<ref group="Anm.">Vgl. das Informationspaket l2tabu.</ref> der durchaus verfügbaren Möglichkeiten prozeduraler oder präsentationaler Auszeichnung kann man zu einer rein deskriptiven Auszeichnungssprache gelangen. Auf ähnliche Weise war HTML 4.01 Strict eine durch Verbieten präsentationaler, von Browsern aber weiterhin interpretierter Elemente und Attribute eine rein deskriptive Auszeichnungssprache.

„Prozedural“ und „präsentational“[Bearbeiten]

In einem bedeutenden<ref name="furuta-1992-4.1" /> Aufsatz von 1987<ref name="CRdR" /> wurden neben prozedural und deskriptiv weitere Auszeichnungsarten beschrieben, von denen der XML-Koautor Tim Bray in seinem Blog<ref name="bray-taxo" /> präsentational übernahm. Gemeint war mit letzterem solches Markup, das von WYSIWYG-Textverarbeitungsprogrammen automatisch in den Dokument-Quellcode eingefügt wurde, wenn Nutzer wie bei WordStar bestimmte Tastenkombinationen eingaben. Statt des Quellcodes bekommt der Nutzer aber nur eine Vorschau der Druckausgabe zu sehen. Präsentational hat hierbei offenbar eine andere, speziellere Bedeutung als in den HTML-Spezifikationen, in denen keine Rede von WYSIWYG-Editoren ist. Eine Gemeinsamkeit besteht aber darin, dass der Auszeichnungscode knapper ist als der für „auffällig prozedurales Markup“ in folgendem Sinne:

In dem von Goldfarb angegebenen Beispiel geht einer Liste, wie sie etwa in HTML mit <syntaxhighlight lang="html" inline>

    </syntaxhighlight> eingeleitet wird, folgender Code voraus:<ref name="goldfarb-s-68" /> <syntaxhighlight lang="text" style="margin-left:2em"> tb 4 of 4 sk 1 </syntaxhighlight> Die ersten beiden Zeilen stellen dabei Wertzuweisungen für Parameter dar, die den hängenden Einzug des folgenden Absatzes steuern, die dritte Zeile erzeugt dessen vertikalen Abstand zum vorhergehenden Absatz. Die dabei verwendete Auszeichnungssprache ist das (troff-ähnliche) SCRIPT. Es handelt sich offenbar um einen Teil eines Computerprogramms in einer imperativen Programmiersprache. <syntaxhighlight lang="html" inline>
      </syntaxhighlight> in HTML ist kürzer und verzichtet auf Details der Formatierung. Das Beispiel ist allerdings nur dazu geeignet, Goldfarbs Vorstellung von prozeduraler Auszeichnung anzudeuten, und illustriert nur den Unterschied zur deskriptiven Auszeichnung. Bray illustriert prozedurales Markup mit den PostScript-Befehlen <syntaxhighlight lang="postscript" inline>gsave</syntaxhighlight> und <syntaxhighlight lang="postscript" inline>grestore</syntaxhighlight>.<ref name="bray-proc">Tim Bray: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 9. April 2003; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).@1@2Vorlage:Toter Link/www.tbray.org (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> Diese beiden Befehle verhalten sich zueinander wie <syntaxhighlight lang="tex" inline>\begingroup</syntaxhighlight> und <syntaxhighlight lang="tex" inline>\endgroup</syntaxhighlight> in TeX.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. gsave … grestoreSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 19. September 2007; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden., Miniprogramm als Beispiel).@1@2Vorlage:Toter Link/learnpostscript.wordpress.com (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref><ref>David Maxwell: [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] gsaveSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. University of British Columbia, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 8. November 2015; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).</ref> Die Anweisung <syntaxhighlight lang="tex" inline>\begingroup</syntaxhighlight> bewirkt, dass bei jeder folgenden Parameterwertänderung der vorige Parameterwert in einem Stapelspeicher abgelegt wird. Der entsprechende Befehl <syntaxhighlight lang="tex" inline>\endgroup</syntaxhighlight> stellt die Parameterwerte vor dem entsprechenden <syntaxhighlight lang="tex" inline>\begingroup</syntaxhighlight> wieder her. In PostScript gibt es außerdem den Befehl <syntaxhighlight lang="postscript" inline>selectfont</syntaxhighlight>, der an den LaTeX-Befehl <syntaxhighlight lang="latex" inline>\selectfont</syntaxhighlight> erinnert:<ref group="Anm.">Das Beispiel ist eine Mischung aus PostScript#Ein Programmbeispiel und en:PostScript#"Hello world" und wurde mit Ghostscript getestet.</ref> <syntaxhighlight lang="postscript" style="margin-left:2em"> %! /Courier 20 selectfont 72 500 moveto (Hallo Welt!) show showpage </syntaxhighlight> Insgesamt legen die vorigen Beobachtungen folgendes Beispiel nahe:
      Kursivstellung mit HTML und LaTeX, letzteres mit high-level- gegenüber low-level-Befehlen
      Darstellung HTML LaTeX high-level LaTeX mit \begingroup LaTeX mit { statt \begingroup
      kursiv gesetzt

      <syntaxhighlight lang="html"> <body> kursiv gesetzt </body> </syntaxhighlight>

      <syntaxhighlight lang="latex"> \begin{document} \textit{kursiv} gesetzt \end{document}

      </syntaxhighlight>

      <syntaxhighlight lang="latex"> \begin{document} \begingroup \fontshape{it}\selectfont kursiv\/\endgroup\ gesetzt \end{document}

      </syntaxhighlight>

      <syntaxhighlight lang="latex"> \begin{document} {\fontshape{it}\selectfont

      kursiv\/} gesetzt
      

      \end{document}

      </syntaxhighlight>

      Die beiden low-level-Beispiele rechts kommen dem sehr nahe, wie LaTeX den high-level-Befehl <syntaxhighlight lang="latex" inline>\textit</syntaxhighlight> tatsächlich umsetzt. Aus <syntaxhighlight lang="latex" inline>\endgroup gesetzt</syntaxhighlight> würde „kursivgesetzt“ resultieren. Daher wird <syntaxhighlight lang="latex" inline>\endgroup\ </syntaxhighlight> verwendet. Die Notwendigkeit dieses Tricks vermeidet man im rechten Beispiel, wo die geschweiften Klammern die Befehle <syntaxhighlight lang="latex" inline>\begingroup</syntaxhighlight> und <syntaxhighlight lang="latex" inline>\endgroup</syntaxhighlight> vertreten, während sie nach <syntaxhighlight lang="latex" inline>\textit</syntaxhighlight> nur dessen Anwendungsbereich angeben. Der Befehl <syntaxhighlight lang="latex" inline>\/</syntaxhighlight> verhindert, dass durch die Rechtsneigung des „v“ der Abstand zwischen „kursiv“ und „gesetzt“ optisch zu eng ausfällt (sogenannte Kursivkorrektur).

      In allen vier Beispielen liegt eine darstellende Auszeichnung vor, die den Schriftschnitt variiert. Einer der Nachteile prozeduraler Auszeichnung, die Goldfarb nennt,<ref>Goldfarb (#Literatur) S. 69</ref> soll darin bestehen, dass sie die Beherrschung einer Vielzahl von Programmierbefehlen erfordert, als Beispiel nennt er ausdrücklich Knuths TeX. Die Kursivkorrektur ist auch eine typografische Feinheit, deren Notwendigkeit bei der Nutzung von TeX für Autoren nicht selbstverständlich ist. Der LaTeX-Befehl <syntaxhighlight lang="latex" inline>\textit</syntaxhighlight> erspart dem Anwender die Kenntnis einiger low-level-Befehle und der Kursivkorrektur. Das i-Element in HTML ist ebenso einfach zu beherrschen. Goldfarbs hier angesprochener Kritikpunkt richtet sich (im Unterschied zu anderen) offenbar nicht gegen jede darstellende Auszeichnung, sondern nur gegen programmiersprachenartige Auszeichnung wie in den beiden Beispielen rechts und gegen PostScript-Befehle weiter oben.

      Im Falle des HTML-Beispiels erscheint die Bezeichnung der Auszeichnung durch <syntaxhighlight lang="html" inline></syntaxhighlight> und <syntaxhighlight lang="html" inline></syntaxhighlight> als „prozedural“ auch unpassend. Während in den „umständlichen“ Beispielen einzelne Befehle an den Textprozessor gerichtet werden (Goldfarb: processing functions<ref name="goldfarb-s-68" />), die erst durch ihre Kombination die gewünschte Darstellung erreichen, stellt das i-Element nur eine abstrakte Schnittstelle zum Webbrowser dar, dessen prozedurale Verarbeitung des linken Beispiels für Verfasser von HTML-Dokumenten gar nicht zugänglich ist. Der Unterschied ähnelt dem zwischen imperativer Programmierung („echt prozedural“ in den rechten Beispielen) und deklarativer Programmierung, in der die Algorithmen zum Erreichen eines beschriebenen Zustands (hier: Kursivschrift) nicht explizit genannt werden.

      „Prozedurale“ und „deskriptive“ Auszeichnungssprachen[Bearbeiten]

      In der Literatur wird auch von deskriptiven Auszeichnungssprachen (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. descriptive markup languages)<ref name="cover" /> im Gegensatz zu prozeduralen Auszeichnungssprachen (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. procedural markup languages) gesprochen;<ref name="cover" /> wann eine Aussprache „prozedural“ bzw. „deskriptiv“ ist, soll vielleicht im Anschluss an Erläuterungen von „prozeduraler Auszeichnung“ bzw. „deskriptiver Auszeichnung“ selbstverständlich sein. Eine „deskriptive Auszeichnungssprache“ dürfte eine Auszeichnungssprache sein, die weder „prozedurales“ noch „präsentationales“ Markup ermöglicht, also „rein deskriptiv“ ist – wie es die Intention/„Philosophie“<ref name="cover" /> von SGML war. Dies trifft auf DocBook und TEI zu. Das Prädikat „prozedurale Auszeichnungssprache“ scheint auf Auszeichnungssprachen zuzutreffen, in denen Wertzuweisungen und andere Ähnlichkeiten mit imperativen Programmiersprachen „unübersehbar“ sind, vielleicht auch auf Auszeichnungssprachen, die Formatierungsanweisungen in eher deklarativer Weise geben, wie HTML (vor HTML5). Jedenfalls könnten PostScript, TeX und troff dazu gezählt werden.<ref name="bray-proc" />

      Die vorige Deutung steht allerdings im Widerspruch dazu, dass LaTeX laut Furuta<ref name="furuta-1992-s-30" /> (und dem 1994er LaTeX-Begleiter<ref>Goossens/Mittelbach/Samarin 1994 (#Literatur) S. 8</ref> „in hohem Maße“) eine „generische Markup-Sprache“ sein soll, trotz des darstellenden <syntaxhighlight lang="latex" inline>\textit</syntaxhighlight> (mit dem im LaTeX-Begleiter beschriebenen LaTeX 2e) bzw. <syntaxhighlight lang="latex" inline>\it</syntaxhighlight> (mit dem 1992 gültigen LaTeX 2.09). Vielleicht ist eine generische (oder deskriptive) Markup-Sprache doch eine Sprache, die neben präsentationalem Markup auch ein „gewisses Maß“ an generischem Markup bietet.

      Darstellungsstufen[Bearbeiten]

      Auf eine Arbeit von 1988 unter seiner Beteiligung Bezug nehmend, spricht Furuta<ref>Richard Furuta: Important papers in the history of document preparation systems: basic sources. S. 25</ref> von drei „Erscheinungsformen“ (representations) eines Dokuments:

      1. einer abstrakten, die durch Bearbeitung mit einem Editor verändert wird (abstract representation),
      2. einer physischen, die aus einer abstrakten durch Formatierung entsteht (physical representation), und
      3. einer Seitenerscheinungsform, die für ein bestimmtes Ausgabegerät erforderlich ist (page representation).

      Entsprechend ist Furutas Artikel gegliedert.

      Durch „darstellendes Markup“ kann man wie oben dargelegt (beginnend mit Beispiele) Schriftschnitt, Farben, und Textausrichtung bestimmen, ein entsprechender Abschnitt in den Spezifikationen zu HTML 4.0 und 4.01<ref name="html-4-01-spec-graphics" /> beschreibt diesen „physischen“ Aspekt einigermaßen umfassend. In HTML5 ist mit dem style-Attribut eine Möglichkeit verblieben, z. B. Schriftschnitte (durch CSS-Code) zu wählen, auch Tabellen bewirken eine „physisch“ einigermaßen strikte Darstellung, die der seitenorientierten Darstellung näher kommt als die Wahl von Schriftschnitten. Auszeichnung dieser Art entspricht dem ursprünglichen, engeren Begriff (Textformatierung bzw. traditionelles Auszeichnen wie am Anfang des Artikels beschrieben).

      Was bei solcher Auszeichnung im Allgemeinen nicht bestimmt wird, ist in einem Fließtextabsatz der Zeilenumbruch. Bei einem Wort ab der Mitte eines längeren Absatzes lässt man sich davon „überraschen“, ob es im dargestellten Absatz auf dem Bildschirm oder auf der ausgedruckten Seite eher links oder eher rechts steht oder ob es beim Zeilenumbruch getrennt wird. So ist es auch bei der üblichen Verwendung von LaTeX, ConTeXt und plain TeX. Bei Bedarf kann man (mit etwas fortgeschrittenen Kenntnissen) die Zeilen eines Absatzes manuell fixieren (bei Webseiten mit <syntaxhighlight lang="CSS" inline>white-space: nowrap</syntaxhighlight> und <syntaxhighlight lang="html" inline>
      </syntaxhighlight>, bei LaTeX mit <syntaxhighlight lang="latex" inline>\makebox</syntaxhighlight> und <syntaxhighlight lang="latex" inline>\linebreak</syntaxhighlight>). Häufiger ist man in einzelnen Fällen mit dem automatischen Zeilenumbruch nicht zufrieden und legt einen Zeilenwechsel manuell fest, oder man unterbindet einen Zeilenumbruch innerhalb einer Phrase. Neben dem Zeilenumbruch werden auch die Zeilenabstände typischerweise automatisch bestimmt (sie sollten gleichmäßig sein, etwa bei mathematischen Formeln mit Brüchen müssen sie aber oft größer gewählt werden). TeX trat auch mit der Besonderheit hervor, die Zeichen in mathematischen Formeln in verschiedenen Größen zu setzen und relativ zueinander zu so anzuordnen, dass die Proportionen hohen typografischen Ansprüchen genügen.

      Gegenüber Webseiten muss im Drucksatz zusätzlich der Seitenumbruch bestimmt werden. Auch den überlässt man meist dem Satzprogramm und korrigiert das automatische Ergebnis gelegentlich manuell. Bei der Gestaltung der Titelseite eines Buchs überlässt man dagegen „nichts dem Zufall“.

      Dateiformate, die alle Zeilenumbrüche in Fließtexten einer Ausgabeseite und auch die exakte Position von Textelementen und Grafiken auf ihr fixieren und festlegen, heißen (oder entsprechen) Seitenbeschreibungssprachen.<ref>Richard Furuta: Important papers in the history of document preparation systems: basic sources. Abschnitt 6.2: Page description languages. Zitat: „Vorlage:Str trim“</ref> Solche sind etwa PostScript und PDF von Adobe, das ursprüngliche Ausgabeformat DVI von TeX oder XML Paper Specification von Microsoft (weitere im Hauptartikel). PDF und DVI kann man allerdings nicht in einem Texteditor betrachten und ändern oder verfassen. In Postscript ist dies möglich, man kann im Prinzip ein Buch in PostScript verfassen und bestimmt dabei ähnlich wie mit der Schreibmaschine die exakten Positionen aller Zeichen auf den einzelnen Seiten.<ref>Oakley/Norris (#Literatur) S. 91f.</ref> In der Praxis werden PostScript-Dateien eher etwa aus mit LaTeX ausgezeichneten Quelltextdateien erzeugt, indem man die von TeX erzeugte DVI-Datei mit einem weiteren Programm (dvips) in PostScript umwandelt.

      Im Allgemeinen versieht also der Verfasser den Text nur mit deskriptivem oder auch „physischem“ Markup (in einem Editor), ohne Zeilen-/Seitenumbrüche festzulegen, diese (und weitere Anordnungsweisen) werden vielmehr automatisch erzeugt und unter Umständen in einer Seitenbeschreibungsdatei abgelegt. Seitenbeschreibungsdateien kann man mit einem Viewer wie Ghostview (Postscript), Adobe Reader (PDF) oder YAP (für DVI unter Windows) bzw. xdvi (für DVI unter Linux – vgl. DVI-Betrachter) als Vorschau am Bildschirm betrachten und ausdrucken lassen. Sie sind auch für den elektronischen Austausch von Dokumenten bzw. ihre Verbreitung (Online-Publikation) gegenüber den Quellformaten vorteilhaft, da sie dem Empfänger das Neuerzeugen der Ansichtsversion des Dokuments (was sogar scheitern kann) ersparen („Austauschformate“).

      Die „Seitenerscheinungsform“ oder „Seitendarstellung“ eines Dokuments muss jedoch nicht als eigene Seitenbeschreibungsdatei vorliegen. Bei manchen „Editoren“ kann/konnte man sie „direkt“ am Bildschirm betrachten oder ausdrucken. troff wurde zu ditroff erweitert, das eine eigene Seitenbeschreibungsdatei erzeugen kann, andere Textverarbeitungsprogramme wurden mit der Möglichkeit ausgestattet, PDF zu erzeugen.

      Bei Webbrowsern (genauer: HTML-Renderern) und E-Book-Readern (die etwa HTML oder EPUB darstellen) wird die Seitendarstellung (der Umbruch von Fließtextabsätzen) schnell an sich ändernde Fensterbreiten oder Schriftgrößen angepasst.

      Implementierung der Stilvariation bei generischer Auszeichnung[Bearbeiten]

      Implementierung einer Darstellungsweise[Bearbeiten]

      Für die Formatierung generisch ausgezeichneten Texts werden allgemeine Regeln zur Behandlung der einzelnen Tags (eventuell abhängig von „Attributen“ bei SGML-artigen Auszeichnungssprachen) in einer formalen Sprache (in einer Art Programm) festgelegt. Entsprechende „Regeldateien“ werden im SGML-Umfeld „Stylesheets“ genannt (bei LaTeX nicht). Zum Teil oder in einem ersten Schritt besteht die Formatierung darin, die generische Sprache in eine präsentationale zu „übersetzen“.

      Im Falle von HTML wird die Formatierung einzelner Elemente durch entsprechende Anweisungen in CSS-Code bestimmt. Beispielsweise besagt die CSS-Zeile <syntaxhighlight lang="css" inline>body { color: blue; background-color: yellow; }</syntaxhighlight>, dass eine HTML-Datei mit blauem Text auf gelbem Grund dargestellt werden soll, und mit <syntaxhighlight lang="css" inline>em { color: red; }</syntaxhighlight> soll der Text in em-Elementen rot sein. In folgendem Beispieldokument <syntaxhighlight lang="html" style="margin-left:2em"> <head>

       <title>Hallo Welt!</title>
       <style type="text/css">
         body { color: blue; background-color: yellow; }
         em   { color: red; }
       </style>
      

      </head> <body>

      Hallo, Welt!

      Hörst du?

      </body> </syntaxhighlight> erscheint dieser CSS-Code in einem style-Element innerhalb des head-Elements. Das Ergebnis sollte in etwa

      Hallo, Welt!

      Hörst du?

      sein und das gleiche wie mit <syntaxhighlight lang="html" style="margin-left:2em"> <head>

       <title>Hallo Welt!</title>
      

      </head> <body style="color: blue; background-color: yellow; ">

      Hallo, Welt!

      Hörst du?

      </body> </syntaxhighlight> In der zweiten Datei wurde <syntaxhighlight lang="html" inline><body></syntaxhighlight> durch <syntaxhighlight lang="html" inline><body style="color: blue; background-color: yellow;"></syntaxhighlight> ersetzt, und jedes em-Tag – generisches Markup – der ersten Datei wurde durch das präsentationale <syntaxhighlight lang="html" inline></syntaxhighlight> ersetzt. Die CSS-Anweisung tag { stil } wirkt also wie das Einfügen von style=stil in alle tag-Anfangstags.

      Was HTML-Renderer tatsächlich tun, um CSS und HTML zusammenzuführen, kann hier nicht dargestellt werden. Immerhin handelt es sich bei den Beispieldateien sogar um XHTML, also Code einer XML-Sprache, und die „Übersetzung“ stellt eine Transformation dar, die (wiederum leicht missbräuchlich) durch XSL Transformation (XSLT) dargestellt werden könnte. XSL steht für Extensible Stylesheet Language. Im Falle von XML besteht die „puristische“ Anwendung von XSL und XSLT darin, generische XML-Sprachen gemäß XSL-Stylesheets in die präsentationale Sprache XSL-FO („XSL Formatting Objects“) zu übersetzen. In einfachen Fällen bedeutet das, wie oben, Ersetzen generischer durch präsentationale Tags. Genaueres ist den Artikeln zu entnehmen, auf die eben verwiesen wurde. XSL-FO ist selbst noch keine Seitenbeschreibungssprache und muss zum Ausdrucken erst etwa in eine PDF-Datei umgewandelt werden.

      Eine XSL-Transformation erzeugt aus generischem Quellcode eines Dokuments tatsächlich eine Datei in einem anderen Textformat. Im Falle von LaTeX aber ist es ähnlich wie bei HTML-Renderern: generische Befehle werden in präsentationale bzw. (schließlich) prozedurale übersetzt, allerdings intern, auf Tokenebene. <syntaxhighlight lang="latex" inline>\emph{Hallo}</syntaxhighlight> wird zu einer Tokenkette emph{1H11a11l11l11o11,12}2, dann werden die beiden ersten Token und das letzte nach und nach durch einige andere ersetzt, wenn einige Prüfungen überstanden sind und die Neigung der umgebenden Schrift nicht positiv ist, resultiert eine ähnliche Tokenkette wie begingroupitshapeH11a11l11l11o11,12/endgroup, wobei sich unter Standardeinstellungen itshape wie fontshape>{i11t11}2selectfont verhält. Das Resultat wäre dasselbe wie das der „prozeduralen Version“ von <syntaxhighlight lang="latex" inline>\textit</syntaxhighlight> im Abschnitt #„Prozedural“ und „präsentational“. Im Gegensatz zum Document Object Model, bei dem das Dokument erst übersetzt wird, nachdem es komplett im Speicher repräsentiert ist, verarbeitet die TeX-Engine Datenströme wie den Quellcode, die Tokenketten und weitere interne Listen in möglichst kurzen Abschnitten und entledigt sich nach Ausgabe einer Druckseite weitgehend der dafür benötigten Speicherinhalte (so konnten schon vor Jahrzehnten dicke Bände gesetzt werden).

      Im Falle von LaTeX (wie von TeX überhaupt und auch von ConTeXt) wird das Suchen und Ersetzen, das die Formatierung implementiert, durch einen internen Makroprozessor bewerkstelligt. Auch die 1981 von Charles Goldfarb vorgestellte die generische Auszeichnungssprache IBM Generalized Markup Language übersetzte Makros in die prozedurale, troff-ähnliche Sprache SCRIPT.

      An den Beispielen sollten auch zwei Vorteile der generischen Auszeichnung gegenüber der prozeduralen erkennbar sein: Generisch ausgezeichneter Quellcode beansprucht weniger Speicherplatz als präsentational ausgezeichneter<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 1.10.1 Presentational markupSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 28. Oktober 2014; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.): Lua-Fehler in Modul:Text, Zeile 51: attempt to index field 'wikibase' (a nil value)</ref> (sobald die Zahl der entsprechenden Textelemente eine von der Komplexität der Ersetzungsregel abhängige Zahl übersteigt – was im Beispiel noch nicht der Fall ist), und in einem Texteditor ist bei generischer Auszeichnung der darzustellende eigentliche Text leichter wiederzufinden als bei prozeduraler Auszeichnung, er ist intuitiver zu lesen. (Vgl. auch Don’t repeat yourself und Abstraktion (Informatik).)

      Dieser Speicherplatzeffekt wird noch verstärkt, wenn die Stildefinitionen (anders als im vorigen Beispiel) nicht im „Kopf“ der Textquelldatei – dem head-Element einer HTML-Datei oder oberhalb <syntaxhighlight lang="latex" inline>\begin{document}</syntaxhighlight> in einer LaTeX-Quelldatei (dort „Dokumentenpräambel“ genannt) – stehen, sondern in separaten Stildateien, die von den Textquelldateien eingebunden werden (Transklusion). Auf Websites, die eine Vielzahl separater Dokumente beherbergen, welche einheitlich gestaltet werden, sind das CSS-Dateien mit der Endung .css (Abschnitt in CSS). Im Falle von LaTeX trugen die Stildateien ursprünglich die Endung .sty für style. Heute bestimmen auch Dateien mit der Endung .cls, die von <syntaxhighlight lang="latex" inline>\documentclass</syntaxhighlight> eingelesen werden, die Darstellungsweise:

      HTML LaTeX

      <syntaxhighlight lang="html"> <head>

       <title>Hallo Welt!</title>
       <link rel="stylesheet" type="text/css" href="style.css" />
      

      </head> <body>

      Hallo, Welt!

      Hörst du?

      </body> </syntaxhighlight>

      <syntaxhighlight lang="latex"> \documentclass{abc-art} \begin{document}

       \emph{Hallo,} Welt!
      
       \emph{H\"orst} du?
      

      \end{document} </syntaxhighlight>

      Die beiden CSS-Zeilen von vorher könnten sich nun in der Datei style.css befinden, die wie folgt aussähe: <syntaxhighlight lang="css" style="margin-left:2em"> body { color: blue; background-color: yellow; } em { color: red; } </syntaxhighlight>

      Darstellungsänderung[Bearbeiten]

      Im vorigen Beispielpaar kann man nun die Darstellung des ausgezeichneten Textquellcodes ändern, indem man jeweils den „Kopf“ ändert:

      HTML LaTeX

      <syntaxhighlight lang="html"> <head>

       <title>Hallo Welt!</title>
       <style type="text/css">
         em { text-decoration: underline;
              font-style:      normal;    }
       </style>
      

      </head> <body>

      Hallo, Welt!

      Hörst du?

      </body> </syntaxhighlight>

      <syntaxhighlight lang="latex"> \documentclass{article} \usepackage{ulem} \begin{document}

       \emph{Hallo,} Welt!
      
       \emph{H\"orst} du?
      

      \end{document} </syntaxhighlight>

      Im Falle von LaTeX wurde hier der Formatierungsstil des fiktiven The ABC-Journal durch eine LaTeX-Standardklasse ersetzt und Transklusion der Datei ulem.sty<ref>Datei ulem.sty. Abgerufen am 17. Juli 2018.</ref> eingefügt. Diese definiert das aus <syntaxhighlight lang="latex" inline>\emph</syntaxhighlight> resultierende Token emph so um (setzt eine andere Makro-Ersetzungsregel in Kraft), dass die Betonung durch Understreichen statt Kursivstellung dargestellt wird. Der veränderte CSS-Code für das em-Element wirkt ebenso. Von der Schriftart abgesehen, sollte das Ergebnis mit HTML wie LaTeX so aussehen:

      Hallo, Welt!

      Hörst du?

      Alternativ könnte der CSS-Code in style.css geändert werden. Für Fachzeitschriftsnummern können die von <syntaxhighlight lang="latex" inline>\begin{document}</syntaxhighlight> und <syntaxhighlight lang="latex" inline>\end{document}</syntaxhighlight> eingerahmten Teile der von den einzelnen Autoren eingesandten Quelltexte mit der Dokumentenpräambel des Journals zusammengefügt werden, so dass sie alle nach „Art des Hauses“ – gleichartig – formatiert werden.

      Bei XML-Dokumenten kann die Darstellung geändert werden, indem man eine andere XSL-Transformation verwendet.

      Der generisch ausgezeichnete Text des Dokuments muss zur Änderung der Darstellung also überhaupt nicht geändert werden. Darauf wies das World Wide Web Consortium in der Spezifikation von HTML5 als zweiten Nachteil präsentationaler Auszeichnung hin,<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 1.10.1 Presentational markupSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 28. Oktober 2014; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.): Lua-Fehler in Modul:Text, Zeile 51: attempt to index field 'wikibase' (a nil value)</ref> und Goldfarb<ref>Goldfarb (#Literatur) S. 68 f.</ref> sprach von „Inflexibilität“ in Bezug auf Änderungen der Darstellungsweise als zweitem Nachteil prozeduraler Auszeichnung. – In der Praxis findet aber etwa LaTeX nicht immer die besten Zeilen- oder Seitenumbrüche, so dass die Bearbeiter einer Fachzeitschriftsnummer gelegentlich ein präsentationales <syntaxhighlight lang="latex" inline>\pagebreak</syntaxhighlight> o. ä. einfügen müssen.

      (Statt \"o kann man mit LaTeX ö verwenden, wenn die Dokumentpräambel etwa <syntaxhighlight lang="latex" inline>\usepackage[utf8]{inputenc}</syntaxhighlight> enthält. Die so eingelesene Datei inputenc.sty ist ein Beispiel dafür, dass die Endung .sty leider nicht mehr ausschließlich für „Stil“ steht, solche Pakete bieten vielmehr oft Möglichkeiten, die Arbeit zu erleichtern, meist durch Erweiterung des Befehlssatzes.)

      Fazit: Worin besteht die „Trennung von Inhalt und Darstellung“?[Bearbeiten]

      Im Falle von LaTeX und HTML enthält der Quellcode des Dokuments zwar Angaben zur Formatierung, bei rein deskriptiver/generischer Auszeichnung befinden sich die Angaben zur Formatierung jedoch ausschließlich in einem „Kopfteil“ der Quelldatei – im head-Element bzw. in der „Dokumentpräambel“. Der darzustellende Text mit generischem Markup befindet sich in einem anderen Teil des Quelldokuments – body-Element bzw. <syntaxhighlight lang="latex" inline>{document}</syntaxhighlight>-Umgebung. Die Trennung von Struktur und Präsentation o. ä. besteht dann darin, dass Quelldokumente zwei Bestandteile haben, von denen einer ausschließlich Formatierungsregeln angibt und der andere ausschließlich den Dokumenttext mit generischer Auszeichnung enthält.

      Die Formatierungsregeln müssen sich nicht direkt im Kopfteil befinden, der Kopfteil bindet zumeist den größten Teil der Formatierungsregeln aus anderen Dateien ein (Transklusion). Im Falle von LaTeX muss die Datei mit den Angaben zur Formatierung (die „Steuerdatei“) nicht den gesamten darzustellenden Text enthalten, dieser wird oft auch – gerade im Fall von Büchern – ebenfalls aus anderen (generisch ausgezeichneten) Dateien eingebunden.

      In anderen Fällen enthält das Quelldokument überhaupt keine Angaben zur Formatierung (bindet keine Dateien mit Formatierungsregeln ein, z. B. XML/XSL). Die „Trennung von Inhalt und Form“ – bzw. zur Abgrenzung von der Formalen Soziologie: von „Inhalt“ und „Formatierung“ – ist dann – noch deutlicher als schon im vorigen Fall – dadurch verwirklicht, dass der mit logischer Auszeichnung versehene Inhalt sich in anderen Dateien befindet als die Formatierungsregeln. Für die Wahl eines Darstellungsstils ist dann keine Änderung der Dateien erforderlich, die den darzustellenden Text („Inhalt“) enthalten.

      Automatische Codeerzeugung und ursprünglicher Quellcode[Bearbeiten]

      Es wurde bereits angesprochen, dass „ausgezeichneter Text“, welcher der Darstellung eines Dokuments auf Ausgabegeräten (Drucker, Bildschirm) zugrunde liegt, automatisch aus einer anderen Form von „ausgezeichnetem Text“ erzeugt werden kann. Soweit die fixe seitenorientierte Darstellungsform noch als in einer Auszeichnungssprache kodiert angesehen werden kann, wird sie praktisch immer durch ein Satzprogramm automatisch aus einer rein physischen (ohne semantisch-strukturelle Information), rein generischen (ohne Hinweise auf die Darstellungsweise, wie in HTML5 ohne das style-Attribut) oder physische und semantisch-strukturelle Angaben mischenden Auszeichnungssprache (wie bei „nicht-puristischer“ Verwendung von LaTeX) erzeugt. Sie kann direkt aus einer rein physisch ausgezeichneten Erscheinungsform des Dokuments erzeugt werden (PDF aus XSL-FO). Außerdem ist die automatische Erzeugung einer rein physischen und nicht seitenorientierten Form aus einer rein strukturellen Erscheinungsform (XHTML) etwa durch XSL-Transformation möglich.

      Nachdem einerseits das Werk publiziert oder an einen Adressaten verschickt wurde oder andererseits der für ein Archiv gewünschte Ausdruck vorliegt, geraten die zugrunde liegenden Dateien bestimmter Auszeichnungsformate oft in Vergessenheit, oder werden sogar gelöscht. Um das Dokument wiederverwenden zu können (z. B. für eine neue überarbeitete Buchausgabe oder spätere zusätzliche Online-Publikation in HTML) ist es besser, dass der die ursprüngliche (teils) semantisch-strukturelle Auszeichnung (z. B. die Informationen über nicht nummerierte Überschriften von Abschnitten und Unterabschnitten) enthaltene Quellcode noch verfügbar ist und nicht aus einem rein darstellenden Format „rekonstruiert“ werden muss.

      Verfasser oder Typisten schauen sich den automatisch erzeugten Code meist nicht an. Bei Verwendung von WYSIWYG-Editoren betrachten sie typischerweise nicht einmal den ursprünglichen Quellcode. Das Gleiche gilt für LyX, einem Frontend für LaTeX, mit dem die semantisch-strukturelle Auszeichnung möglich und die erzeugte Struktur auch am Bildschirm erkennbar ist.

      HTML war einmal ein Format, in dem der „ursprüngliche Quellcode“ von Dokumenten notiert wurde. Inzwischen ist es auch ein Zielformat, das mittels Skriptsprachen wie JavaScript und PHP aus z. B. in XML notierten Datenbanken oder mittels Pandoc aus anderen Quellformaten erzeugt wird. Die Eingabe von „<“ und „>“ sowie Attributnamen ist umständlich und erzeugt ein Missverhältnis zwischen den bei der Ausgabe angezeigten und fürs Markup verwendeten Zeichen. LaTeX ermöglicht teilweise einfachere und leichter lesbare Eingaben, da im Fließtext hauptsächlich Positionsparameter statt Schlüsselwortparameter verwendet werden. Zudem können bei LaTeX für auftretende Zeichenfolgen (z. B. Tags) Makros in der Dokumentpräambel oder in .sty-Dateien definiert werden.

      Zur Vereinfachung der Erzeugung von (X)HTML-Dokumenten gibt es noch folgende Möglichkeiten:

      Vereinfachte Auszeichnungssprachen[Bearbeiten]

      Vorlage:Hinweisbaustein

      Merkmale[Bearbeiten]

      Beiträge in Wikis, Blogs und Internetforen werden typischerweise in Webformularfenstern verfasst. Die Gestaltungsmöglichkeiten können dabei sehr begrenzt sein, was einem gepflegten Erscheinungsbild der sich ergebenden Seiten zugutekommen kann. Obwohl das Zielformat (in dem die Beiträge den Lesern präsentiert werden) HTML oder XHTML ist, wird HTML-Eingabecode im Formular allenfalls begrenzt akzeptiert (sonst weggefiltert). Das Markup verwendet (von den URLs für Hyperlinks abgesehen) oft nur (ungewöhnliche Kombinationen von) Interpunktionszeichen oder jedenfalls Zeichen, die keine Buchstaben sind; oder wenige HTML-Tags werden verkürzt und entsprechende Elemente nicht geschlossen (ähnlich wie in SGML), etwa

      Textile Übersetzung in XHTML Beispieldarstellung
      h3. Unterabschnitt <h3>Unterabschnitt</h3> Unterabschnitt

      (ähnlich Haml). Dadurch stört das Markup den Lesefluss beim Verfassen des Beitrags im Formularfenster minimal. Für die Darstellung der Dokumente wird dieses Markup dann in die dafür erforderliche komplexere Auszeichnungssprache wie HTML oder XHTML serverseitig umgewandelt, etwa durch Pandoc oder, wie im Falle der Wikipedia, durch die MediaWiki-Software.

      Markup-Beispiele mit zwei vereinfachten Auszeichnungssprachen
      MediaWiki-Wikitext Markdown so … … oder so: ergibt XHTML Darstellungs-
      beispiel
      == Abschnitt ==
      ##Abschnitt
      <syntaxhighlight lang="html" inline>

      Abschnitt

      </syntaxhighlight>
      Abschnitt

      * Punkt 1
      * Punkt 2
      * Punkt 3

      - Punkt 1
      - Punkt 2
      - Punkt 3

      * Punkt 1
      * Punkt 2
      * Punkt 3

      <syntaxhighlight lang="html" inline>
        </syntaxhighlight>
        <syntaxhighlight lang="html" inline>
      • Punkt 1
      • </syntaxhighlight>
        <syntaxhighlight lang="html" inline>
      • Punkt 2
      • </syntaxhighlight>
        <syntaxhighlight lang="html" inline>
      • Punkt 3
      • </syntaxhighlight>
        <syntaxhighlight lang="html" inline>
      </syntaxhighlight>
      • Punkt 1
      • Punkt 2
      • Punkt 3
      [https://www.w3.org/ W3C] [W3C](https://www.w3.org/) <syntaxhighlight lang="html" inline><a href="https://www.w3.org/">W3C</a></syntaxhighlight> W3C
      '''fett'''
      **fett**
      __fett__ <syntaxhighlight lang="html" inline>fett</syntaxhighlight> fett
      ''kursiv'' *kursiv* _kursiv_ <syntaxhighlight lang="html" inline>kursiv</syntaxhighlight> kursiv

      Weiter verzichten vereinfachte Auszeichnungssprachen typischerweise auf Nutzung einfacher Codezeilenumbrüche und des Einrückens von Code allein zu dessen Strukturierung (im Sinne der Lesbarkeit und Verständlichkeit); vielmehr beendet etwa im Falle von MediaWiki ein Codezeilenumbruch einen in der Darstellung eingerückten Absatz („hängender Einzug“) einer Liste oder eines Blockzitats. Ein sofort folgendes Sternchen (*) beginnt einen (neuen) Listenpunkt und wird als typografisches Aufzählungszeichen dargestellt. Nachteil dieser Methode sind mögliche Kollisionen mit einer anderen Funktion der entsprechenden Zeichen, die Fehler verursachen können. In Markdown z. B. beginnt ein kursiv geschriebener Text mit dem Sternchen (ich rufe *laut* um Hilfe), was am Zeilenanfang (*laut* rufe ich um Hilfe) mit der Verwendung für einen Listeneintrag kollidieren kann. Eingerückter Code (d. h. dem Codezeilenumbruch folgt mindestens ein Leerzeichen) wird in Wikitext „verbatim“ als „Code“ (ohne Syntaxhighlighting) dargestellt. Weitere und genauere Beispiel bieten die Artikel Wikitext und Markdown sowie die weiteren Artikel in der Kategorie:Vereinfachte Auszeichnungssprache.

      Neben rein logischen („deskriptiven“) Auszeichnungen wie Überschriften und reinen Schriftauszeichnungen wie fett können weitere Funktionen erfüllt werden:

      • Tags zur zusätzlichen Auszeichnung eines Datenbestandes mit zusätzlichen Informationen und zur Kategorisierung;
      • Transklusionen, um Teile anderer Dokumente durch einen Verweis einzuschließen.

      Zwar ist das hauptsächliche Zielformat solcher Sprachen HTML oder XHTML, jedoch können viele von ihnen dank Pandoc (in eingeschränkter Weise) sogar als Frontend für LaTeX und ConTeXt verwendet werden und so letztlich PDF als Zielformat haben, oder sie können so in Textverarbeitungsformate, E-Books und Dokumentationsformate (DocBook, Manpages) umgewandelt werden.

      Historische Entwicklung[Bearbeiten]

      Vereinfachte Auszeichnungssprachen wurden schon immer in rein textbasierten Systemen (z. B. Readme oder E-Mails) zur Darstellung von Hervorhebungen wie Kursiv oder Fett verwendet, ohne dass diese weiter umgewandelt wurden. Besonders ist die Syntax von Markdown – das mit umgewandelt wird – eng an diese historische Praxis angelehnt.

      Die meisten Auszeichnungssprachen haben sich in der Anwendung unterschiedlicher Software gebildet, es gibt kaum standardisierte oder einheitliche Lösungen, obwohl die Funktionen oft ähnlich sind.

      Die wohl erste vereinfachte Auszeichnungssprache mit Umwandlung wurde 1994 von Ward Cunninghams entwickelt und 1995 als WikiWikiWeb zusammen mit dem Portland Pattern Repository veröffentlicht, siehe auch Chronologie der Hypertext-Technologien.

      Daten[Bearbeiten]

      YAML und seine Untermenge JavaScript Object Notation (JSON) sind vereinfachte Auszeichnungssprachen für die Datenserialisierung.

      Skriptfehler: Ein solches Modul „Vorlage:Siehe auch“ ist nicht vorhanden.

      Äußere Systematik: Einordnung als Programmiersprache oder Datenformat[Bearbeiten]

      Dateinamenserweiterungen und MIME-Typen
      ausgewählter Auszeichnungssprachen
      Auszeichnungssprache Dateiendung MIME-Typ
      HTML .htm, .html text/html
      PostScript .ps application/postscript
      Rich Text Format .rtf text/rtf
      TeX/LaTeX .tex text/x-tex
      XML .xml text/xml

      Zur Frage, ob eine Auszeichnungssprache eine Programmiersprache ist oder nicht, oder ob eine bestimmte Auszeichnungssprache wie HTML eine Programmiersprache (eine HTML-Datei ein „Programm“)<ref>Dmitry Kirsanov (#Literatur): [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] IntroductionSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 16. Juni 1997, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 30. Juni 2015;: Lua-Fehler in Modul:Text, Zeile 51: attempt to index field 'wikibase' (a nil value)</ref> ist oder nicht,<ref>Jukka Korpela (Technische Universität Tampere): [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] or why HTML authoring is not programmingSkriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. 16. November 2015, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 22. Januar 2011; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.</ref> finden sich gegensätzliche Äußerungen. Zu XML erklärte das W3C 2001, es sei keine Programmiersprache, sondern biete Regeln zum Festlegen von Textformaten zur Strukturierung von Daten,<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] W3C, 22. September 2014, archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 20. Dezember 2016; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.): Lua-Fehler in Modul:Text, Zeile 51: attempt to index field 'wikibase' (a nil value)</ref> also zum Festlegen von Datenformaten (damit steht es nicht allein).<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden. Zitat: „XML ist keine Textverarbeitung, keine Programmiersprache und auch kein konkretes Programm. Stattdessen handelt es sich um eine Auszeichnungssprache, mit der sich Texte strukturieren und die Elemente deklarieren lassen.“</ref> Tatsächlich ergab die Entwicklung von SGML zu XML die Möglichkeit, Auszeichnungssprachen zu völlig anderen Zwecken als dem ursprünglichen – der Formatierung von Texten – zu nutzen. Beispielsweise wird die Konfiguration des Linux-Fenstermanagers Openbox in einer XML-Datei abgelegt; statt Zeilen der Gestalt key=value wie in den Konfigurationsdateien anderer Programme findet man hier <key>value</key> (vgl. anderes Beispiel), und übergeordnete Elemente wie mouse werden zur Gliederung der ungefähr 900 Zeilen umfassenden Datei verwendet. Es ist ganz und gar nicht beabsichtigt, diese Konfigurationsdatei als „Dokument“ zu „setzen“. Der Artikel XML nennt weitere Beispiele solcher ursprünglich nicht intendierter Anwendungsweisen von XML. Als Datenformat ist die in einer (Dokument-)Datei verwendete Auszeichnungssprache an den Dateinamenserweiterungen erkennbar (siehe Tabelle). Diejenigen Auszeichnungssprachen, die noch zum Erstellen von Dokumenten gedacht sind (HTML, PostScript, troff, LaTeX, RTF), bilden Dokumentenformate. Binäre Dokumentenformate (.doc, .pdf, das Ausgabeformat DVI von TeX) sind keine Auszeichnungssprachen.

      Von den Musterbeispielen prozeduraler Auszeichnungssprachen<ref name="bray-proc" /> – PostScript, TeX und dem Nachkömmling troff des urzeitlichen RUNOFF (auf das auch Goldfarbs GML aufsetzte) ist bekannt, dass sie Turing-vollständig sind. Insofern können diese beliebig komplexe Algorithmen darstellen und erfüllen so ein wesentliches, allgemein anerkanntes Merkmal von Programmiersprachen. XSLT bildet eine weitere Turing-vollständige Programmiersprache, deren „Befehle“ jedoch wie bei den vorgenannten „Sprachen“ für die Darstellung mit XML „deskriptiv“ ausgezeichneter Dokumente ausgelegt sind und die kurioserweise selbst in einem „XML-Datenformat“ notiert ist.<ref>Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden. <templatestyles src="Webarchiv/styles.css" />HTML-Fassung des Vortragtexts (Memento des Vorlage:Referrer vom 4. Mai 2012 im Internet Archive)Vorlage:Webarchiv/archiv-bot</ref> Ebenso ist die in XML notierte Sprache XQuery für XML-Datenbanken Turing-vollständig. Skriptfehler: Ein solches Modul „Vorlage:Siehe auch“ ist nicht vorhanden.

      Literatur[Bearbeiten]

      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
      • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.

      Weblinks[Bearbeiten]

      Anmerkungen[Bearbeiten]

      <references group="Anm." />

      Einzelnachweise[Bearbeiten]

      <references responsive />