Auszeichnungssprache
aus Wikipedia, der freien Enzyklopädie
Eine Auszeichnungssprache (englisch: Markup Language; kurz: ML) dient zur Beschreibung von Daten und teilweise zur Beschreibung des Verfahrens, welches zur Bearbeitung dieser Daten benötigt wird.
Ursprünglich dienten die Auszeichnungen im Text als Anweisungen für die Setzer im Drucksatz, mit der Weiterentwicklung der elektronischen Datenverarbeitung wurden daraus jedoch komplexe Sprachen.
Inhaltsverzeichnis |
[Bearbeiten] Abgrenzung
Bei den Auszeichnungssprachen wird heute grob in Sprachen zur reinen Beschreibung – englischer Fachausdruck: „Descriptive Markup Language“, kurz DML – und in prozedurale Auszeichnungssprachen – Fachausdruck: „Procedural Markup Language“, kurz PML – unterschieden.[1] Mit den reinen Beschreibungssprachen werden die Informationen beschrieben, im Gegensatz zu den prozeduralen Auszeichnungssprachen, welche die Darstellung der Dokumente – unter anderem auf dem Bildschirm, im Webbrowser oder für Drucker – beschreiben.
Zu den reinen Beschreibungssprachen gehören unter anderem die in SGML oder XML definierten Sprachen HTML, DocBook, TEI, MathML, WML, XAML und SVG. Auch das Wikipedia-Projekt hat eine eigene Auszeichnungssprache, welche Wikitext genannt wird.
Weiterhin gehört auch TeX zu den Auszeichnungssprachen, wie es mit dem Makropaket LaTeX oder ConTeXt verwendet wird. Hier werden jedoch sowohl Eigenschaften der reinen Beschreibungssprachen sowie der prozeduralen Auszeichnungssprachen verwendet, wie das auch bei den Seitenbeschreibungssprachen für PDF und PostScript der Fall ist.
Die Abgrenzung ist zum Teil jedoch auch sehr schwierig, da beispielsweise bei der Sprache PostScript auch Eigenschaften von Programmiersprachen verwendet werden. Zur Darstellung einer Lissajous-Figur in Postscript müssen so z. B. nicht alle Kanten der Grafik in einer Segmentliste enthalten sein, da diese auch anhand eines programmierten Algorithmus zur Laufzeit erzeugt werden können. Das Ziel ist jedoch eine beschreibende 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, denn 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.
[Bearbeiten] 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.
[Bearbeiten] Funktionsweise
Bei Auszeichnungssprachen werden die Eigenschaften, Zugehörigkeiten und Verfahren von bestimmten Wörtern, Sätzen und Abschnitten (Auszeichnungselemente) eines Textes oder einer Datenmenge beschrieben und zugeteilt, in der Regel indem sie mit Auszeichnungselementen – auch Tags genannt – 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 (zum Beispiel für „µ“ in LaTeX „\mu“ und in HTML „µ“).
[Bearbeiten] Beispiele
| Beispiel für … | HTML | LaTeX | Wikitext |
|---|---|---|---|
| Überschrift | <h1>Überschrift</h1> | \section{Überschrift} | = Überschrift = |
| Aufzählung |
<ul> |
\begin{itemize} |
* Punkt 1 |
| fetten Text | <b>fett</b> | \textbf{fett} | '''fett''' |
| kursiven Text | <i>kursiv</i> | \textit{kursiv} | ''kursiv'' |
[Bearbeiten] Siehe auch
[Bearbeiten] Einzelnachweise
- ↑ DML (descriptive markup language) – Eintrag bei ITWissen.info