Eine Markup Language – kurz ML – ist eine Auszeichnungssprache. Die Markup wird zur Beschreibung von Inhalten von Dokumentenformaten genutzt. Teilweise wird durch die Markup auch das Verfahren beschrieben, das benötigt wird, um diese Daten zu bearbeiten. Ursprünglich benötigten die Setzer, um einen Drucksatz setzen zu können, die Markups als Anweisungen. Jedoch kam es zu einer Weiterentwicklung der Typografie, insbesondere im Bezug auf die digitalen Texte. Daher wurden aus den kurzen Auszeichnungen komplexe Sprachen.
Die Geschichte der Markups
Hervorhebungen in Texten können sowohl Fettschreibungen als auch die Kursivschriften sein. Zudem zählen Literaturhinweise, Überschriften, Fußnoten oder Absätze als Hervorhebungen, die ebenfalls durch eine Schriftauszeichnung gestaltet werden. Solche Strukturmerkmale von Texten wurden früher durch ein Markup, also eine Textauszeichnung, eingetragen. Ursprünglich handelte es sich bei einem Markup um eine handschriftliche Textauszeichnung, die auf einem Manuskript vorgenommen wurde, um den Schriftsetzern Formatierungsanweisungen zu geben.
Die Funktionsweise von einem Markup
Auszeichnungssprachen nutzen Tags, um die Eigenschaften von Texten ebenso wie deren Verfahren oder die Zugehörigkeiten zu markieren. Markiert werden hierbei entweder Wörter oder Sätze, aber auch ganze Abschnitte. Hierbei handelt es sich um Auszeichnungselemente. Diese befinden sich in einem Text oder auch in einer Datenmenge. Sie werden durch die Tags, also die verschiedenen Elemente zur Auszeichnung, sowohl beschrieben als auch zugeteilt.
In den meisten Fällen werden Quelltexte mit UTF-8 oder aber auch mit Unicode oder ASCII verfasst. Die Sprache bietet den Verfassern zudem die Möglichkeit der Beschreibung von Sonderzeichen. Das geschieht zumeist durch Zuhilfenahme von einem Unicode. Bei einem Unicode handelt es sich um eine numerische Zuweisung. Sonderzeichen können zudem aber auch benannt werden. So wird anstelle von µ in Latex mu verwendet, in HTML bleibt es bei µ.
Die Unterscheidungsmerkmale und die Abgrenzungsmöglichkeiten
Bei einer Markup wird unterschieden, ob es sich um eine Markup handelt, welches lediglich zur Beschreibung genutzt wird, oder ob eine Markup verwendet wird, das zu den prozeduralen Auszeichnungssprachen gehört. Bei den reinen Auszeichnungssprachen zur Beschreibung handelt es sich um DMLs, die Descriptive Markup Languages. Bei den prozeduralen Auszeichnungssprachen wird von PMLs gesprochen, also den Procedural markup Languages.
Handelt es sich um reine Beschreibungssprachen, werden diese genutzt, um Informationen zu beschreiben. Hiermit werden die physischen und auch die logischen Strukturen von Dokumenten, also den Layouts, beschrieben. Bei den prozeduralen Auszeichnungssprachen werden die Darstellungsweisen der vorhandenen Dokumente, die sich entweder auf Bildschirmen oder in Webbrowsern befinden, beschrieben.
Die DML: Descriptive Markup Languages
Die Descriptive Markup Languages sind reine Beschreibungssprachen. Zu ihnen gehören beispielsweise HTML, WML oder XAML. Hierbei handelt es sich um Beschreibungssprachen, die entweder in SGML oder auch in XML definiert werden.
Die LML: Lightweight Markup Languages
Die Lightweight Markup Languages werden verwendet, damit Dokumente beispielsweise für Wikis, Foren oder Blogs manuell erstellt und gelesen werden können. Daher werden zur Erstellung und zum Lesen dieser Dokumente die vereinfachten Auszeichnungssprachen genutzt. Hier konzentriert sich die Syntax auf die einfacher zu merkenden Elemente in der LML. Zur endgültigen Darstellung der Dokumente werden diese serverseitig in gewöhnliche Auszeichnungssprachen umgewandelt. Als gewöhnliche Auszeichnungssprachen werden hierzu meist XHTML oder HTML genutzt.
Bei den klassischen Auszeichnungssprachen hingegen handelt es sich um Skriptsprachen, deren Ziel es ist, möglichst detaillierte Darstellungen zu erzielen. Diese Skriptsprachen werden jedoch zumeist maschinell erzeugt. Sie müssen nicht zwangsläufig durch Menschen lesbar sein oder durch diese verwendet werden. Anders verhält es sich jedoch, wenn die Inhalte durch Menschen manuell eingegeben werden müssen oder wenn sie im Anschluss sogar durch Menschen lesbar sein müssen. In solchen Fällen können die Inhalte durch WYSIWYG für Menschen grafisch aufbereitet werden.
Eine andere Möglichkeit ist die direkte Darstellung in einer einfachen Auszeichnungssprache. Wird der Inhalt direkt in einer einfachen Auszeichnungssprache erstellt, hat das den Vorteil, dass die Texte, um gelesen oder geschrieben zu werden, nicht mehr bearbeitet werden müssen. Das wäre bei WYSIWYG hingegen der Fall. Im Gegensatz zu den klassischen Auszeichnungssprachen nutzt ein vereinfachtes Markup keine Tags, die ausführlich sind. Hier werden lediglich wenige und ansonsten nicht genutzte Zeichenfolgen eingesetzt. So kann die Lesbarkeit erhöht werden.
Bei einer einfachen Markup wird nach Möglichkeit kein zwingender Abschluss erzeugt. Das ist beispielsweise bei den SGML-Elementen der Fall. Hier werden schließende Tags verwendet. Bei einer einfachen Markup werden jedoch als Trennzeichen Zeilenumbrüche oder auch Leerzeichen genutzt. Wird ein Sternchen * an den Anfang von einer Zeile gesetzt, so ist dies in der einfachen Markup ein Listenpunkt. Dieser Listenpunkt wird in ein typografisches Aufzählungszeichen umgewandelt, wenn die Markup kompiliert wird.
Im Vergleich zu den nativen HTML-Texten ist die Markup-Schreibweise kürzer. Jedoch ist die Darstellung durch diese Methode uneindeutig. Das Sternchen wird unter anderem zur Kennzeichnung von Fußnoten genutzt. Das kann dazu führen, dass die beiden Funktionen miteinander kollidieren. Durch die anderen Funktionen in der vereinfachten Markup werden Fehler verursacht. So wird in mancher vereinfachten Markup das Sternchen genutzt, um fett geschriebene Texte zu kennzeichnen. Wird das Sternchen zur Fettschreibung am Zeilenanfang genutzt, kollidiert das mit der Darstellungsweise für Listeneinträge.
Eine vereinfachte Markup kann jedoch nicht nur zur rein logischen Auszeichnung genutzt werden. Neben den Überschriften und den Schriftauszeichnungen wie den Fettsetzungen können durch die Markup weitere Funktionen übernommen werden. Dazu gehören die Hyperlinks aber auch die Tags, die als zusätzliche Auszeichnungsmöglichkeiten von Datenbeständen genutzt werden. Die Datenbestände werden durch die Tags mit zusätzlichen Informationen versehen oder einfach kategorisiert. Es können aber auch Teile von anderen Dokumenten durch Transklusionen eingeschlossen werden. Das geschieht durch einen Verweis.
In Systemen, die rein textbasiert waren, wie es bei Readme oder bei E-Mails der Fall ist, wurden die vereinfachten Markups schon immer genutzt, um Hervorhebungen darzustellen. In der Regel wurden diese Hervorhebungen für Fett- und Kursivsetzungen eingesetzt. Meist kam es zur Entwicklung einer Markup durch die Anwendung von unterschiedlichen Programmen. Daher gibt es wenig einheitliche oder standardisierte Lösungen. Jedoch ähneln sich die Funktionen häufig. Daher gibt es den Wikitext, damit in den verschiedenen Wikis zusammengearbeitet werden kann. Hier gibt es aber auch Versuche der Standardisierung durch Creole.
In den meisten Foren kam es zu einer Etablierung der BBCodes. Der Org-mode hat sich in Emacs durchgesetzt. Strukturierte Dokumentationen werden in Computerprogrammen durch POD, Plain Old Documentation oder Javadoc eingebettet. Bei Textile, reStructuredText oder Markdown wird sich auf andere Vorgehensweisen konzentriert.
Die PML: Procedural Markup Language
Bei den PMLs handelt es sich um darstellende Seitenbeschreibungssprachen. Hierzu zählt TeX als Textsatzsystem, aber auch die Makropakete von TeX, LaTeX und ConTeXt. Auch hierbei handelt es sich um Markups. Bei den Procedural Markup Languages werden die Eigenschaften von den Beschreibungssprachen aber auch die von den prozeduralen Auszeichnungssprachen genutzt. Dieses Vorgehen ist auch bei PDF oder PostScript, den Seitenbeschreibungssprachen der Fall.
Die Abgrenzung zu den Programmiersprachen
Eine Markup ist nur sehr schwierig von einer Programmiersprache abgrenzbar. Häufig werden auch die Eigenschaften der Programmiersprachen genutzt. Das ist beispielsweise bei PostScript der Fall. Soll beispielsweise durch PostScript eine Lissajous-Figur dargestellt werden, müssen nicht sämtliche Kanten von der Grafik in Segmentlisten stehen. Diese werden auch durch einen programmierten Algorithmus während der Laufzeit erzeugt. Hier ist jedoch die Auszeichnung der Daten das Ziel. Dieses wird jedoch möglicherweise erst während der Laufzeit dynamisch erzeugt.
Daher ist die Abgrenzung zu den Programmiersprachen hier fließend, da alle Auszeichnungssprachen über eine Syntax, eine Semantik und auch über eine Grammatik verfügen. Das stellt jedoch noch keine hinreichende Bedingung für die Definition von Programmiersprachen dar. Der Unterschied zwischen einer Programmiersprache und einer Markup stellt sich durch die Einbindung von Elementen in die Programmiersprache wie die Auswahl, die Iteration oder die Sequenz dar.
Zusammenfassung
Markup-Sprachen, auch bekannt als Auszeichnungssprachen, dienen zur Strukturierung und Beschreibung von Dokumenten. Ursprünglich wurden sie als Anweisungen für Drucksetzer verwendet, haben sich jedoch zu komplexen Sprachen entwickelt, die die Darstellung digitaler Texte steuern.
Es gibt zwei Haupttypen von Markup-Sprachen: Descriptive Markup Languages (DMLs) und Procedural Markup Languages (PMLs). Während DMLs wie HTML hauptsächlich zur Beschreibung von Inhalten verwendet werden, beeinflussen PMLs die Darstellung der Dokumente auf Bildschirmen oder in Webbrowsern.
Markups nutzen Tags zur Kennzeichnung von Textelementen. Sie können in verschiedenen Codierungen wie UTF-8, Unicode oder ASCII verfasst werden. Sonderzeichen können durch numerische Zuweisungen oder benannte Entitäten dargestellt werden.
Lightweight Markup Languages sind vereinfachte Auszeichnungssprachen, die hauptsächlich in Foren, Wikis und Blogs verwendet werden. Sie sind leicht zu lesen und zu schreiben, wobei ihre Syntax auf einfach zu merkenden Elementen basiert.
Die Grenze zwischen Markup-Sprachen und Programmiersprachen ist fließend. Beide verfügen über Syntax, Semantik und Grammatik, aber Programmiersprachen integrieren zusätzliche Elemente wie Auswahl und Iteration.
Häufige Fragen und Antworten
Was ist eine Markup Language?
Eine Markup Language – kurz ML – ist eine Auszeichnungssprache, die zur Beschreibung von Inhalten von Dokumentenformaten verwendet wird. Sie dient dazu, die Daten zu strukturieren und zu formatieren. Ursprünglich wurden Markups als Anweisungen für Schriftsetzer verwendet, aber sie haben sich weiterentwickelt und sind heute komplexe Sprachen zur Steuerung der Darstellung digitaler Texte.
Welche Unterscheidungsmerkmale gibt es bei Markups?
Bei Markups gibt es Unterscheidungsmerkmale zwischen reinen Beschreibungssprachen und prozeduralen Auszeichnungssprachen. Die reinen Beschreibungssprachen, auch Descriptive Markup Languages (DMLs) genannt, dienen dazu, Informationen zu beschreiben und die physischen und logischen Strukturen von Dokumenten zu definieren. Prozedurale Auszeichnungssprachen (PMLs) hingegen beschreiben die Darstellungsweisen von Dokumenten in Webbrowsern oder auf Bildschirmen.
Welche Bedeutung haben Lightweight Markup Languages?
Lightweight Markup Languages sind vereinfachte Auszeichnungssprachen, die besonders in Foren, Blogs und Wikis verwendet werden. Sie sind einfach zu lesen und zu schreiben und konzentrieren sich auf die wichtigsten Markup-Elemente. Die endgültige Darstellung der Dokumente erfolgt durch Umwandlung in herkömmliche Auszeichnungssprachen wie XHTML oder HTML.
Wie unterscheiden sich Markups von Programmiersprachen?
Es ist schwierig, eine klare Grenze zwischen Markups und Programmiersprachen zu ziehen. Beide verfügen über eine Syntax, Semantik und Grammatik, aber Programmiersprachen bieten zusätzliche Funktionen wie Auswahl, Iteration und Sequenzierung. Markups dienen hauptsächlich zur Strukturierung und Beschreibung von Inhalten, während Programmiersprachen zur Erstellung von Algorithmen und zur Automatisierung von Abläufen verwendet werden.
Wie kann unsere SEO-Agentur bei der Suchmaschinenoptimierung helfen?
Unsere SEO-Agentur verfügt über ein erfahrenes Team von Spezialisten, die Ihnen bei der Suchmaschinenoptimierung helfen können. Wir bieten maßgeschneiderte SEO-Lösungen an, die auf die individuellen Bedürfnisse Ihrer Website zugeschnitten sind. Unsere Leistungen umfassen unter anderem die Keyword-Analyse, On-Page-Optimierung, technische Optimierung, Linkbuilding und Content-Erstellung. Kontaktieren Sie uns für eine unverbindliche Anfrage und wir unterstützen Sie gerne dabei, die Sichtbarkeit Ihrer Website in den Suchergebnissen zu verbessern.