- Textauszeichnungssprachen
-
Eine Auszeichnungssprache (engl. Markup Language, Abk. ML) dient zur Beschreibung der Daten und teilweise des Verfahrens, das zur Bearbeitung dieser Daten nötig ist. Ursprünglich dienten die Auszeichnungen im Text als Anweisungen für die Setzer im Drucksatz.
Bei einer Auszeichnungssprache werden die Eigenschaften, Zugehörigkeiten und Verfahren von bestimmten Wörtern, Sätzen und Abschnitten (Elementen) eines Textes oder einer Datenmenge beschrieben bzw. zugeteilt, meist indem sie mit Tags markiert werden.
Die Quelltexte werden in der Regel im ASCII-Code oder Unicode (meist UTF-8) verfasst. Oft bietet die Sprache auch die Möglichkeit, Sonderzeichen zu beschreiben, meist mit Hilfe einer numerischen Zuweisung (Unicode) oder durch Benennung (in LaTeX zum Beispiel: „\mu“ für „µ“, in HTML: „µ“ für „µ“).
Descriptive Markup Languages sind unter anderem die in SGML oder XML definierten Sprachen HTML, DocBook, TEI, MathML, WML, XAML oder SVG. Weiterhin gehört auch TeX dazu, wie es mit dem Makropaket LaTeX oder ConTeXt verwendet wird. Auch das Wikipedia-Projekt hat eine eigene Auszeichnungssprache (Wikitext). Diese Formate erleichtern die Erstellung von Formatierungen oder auch Tabellen, für die ansonsten Kenntnisse in HTML nötig wären. Auszeichnungssprache weisen unter anderem den Bildschirm, einen Webbrowser oder den Drucker an, wie das Dokument dargestellt werden soll.
Eine Procedural Markup Languages ist eine Datenbeschreibungsformat, welches der Definition oben widerspricht, indem prozedurale Elemente eingefügt werden. Beispiele sind unter anderem TeX, PDF und PostScript. PostScript beispielsweise ist auch eine Programmiersprache. Zur Darstellung einer Lissajougrafik in Postscript müssen z. B. nicht alle Kanten der Grafik in einer Segmentliste enthalten sein, sondern kann diese anhand eines programmierten Algorithmus zur Laufzeit erzeugt werden. Das Ziel ist also weiterhin eine deskriptive Datenauszeichnung, allerdings wird diese unter Umständen erst zur Laufzeit aus einer prozeduralen Vorstufe dynamisch erzeugt. Die Abgrenzung zu Programmiersprachen wird in diesem Fall fließend. Wie diese besitzen auch alle Auszeichnungssprachen eine Syntax, eine Grammatik und eine Semantik, was aber noch keine hinreichenden Bedingungen sind zur Definition einer Programmiersprache. Eine Programmiersprache unterscheidet sich von einer reinen Auszeichnungssprache durch die Elemente von Sequenz, Iteration und Auswahl.
Beispiele
Vergleichstabelle Beispiel für … HTML LaTeX Wikitext Überschrift <h1>Überschrift</h1> \section{Überschrift} = Überschrift = Aufzählung <ul>
<li>Punkt 1</li>
<li>Punkt 2</li>
<li>Punkt 3</li>
</ul>\begin{itemize}
\item Punkt 1
\item Punkt 2
\item Punkt 3
\end{itemize}* Punkt 1
* Punkt 2
* Punkt 3fetten Text <b>fett</b> \textbf{fett} '''fett''' kursiven Text <i>kursiv</i> \textit{kursiv} ''kursiv'' Geschichte
Die Strukturmerkmale eines Textes können durch Hervorhebungen wie Fett- oder Kursivschrift, Fußnoten, Literaturhinweise, Absätze, Überschriften „erkannt“ werden. Notiert wurden derartige Strukturen früher durch sogenannte Textauszeichnungen (markup), die ursprünglich – handschriftlich auf einem Manuskript eingetragen – Formatierungsanweisungen für den Schriftsetzer waren.
Siehe auch
Wikimedia Foundation.