Definition

YAML (YAML Ain’t Markup Language)

YAML (YAML Ain't Markup Language) ist eine datenorientierte Sprachstruktur, die als Eingabeformat für diverse Softwareanwendungen verwendet wird. YAML ist nicht als Auszeichnungssprache (Markup Language) für die Dokumentenauszeichnung (Document Markup) gedacht.

In einer YAML-Datei legt ein Anwendungsnutzer oder Administrator Daten fest, die von der Anwendung gelesen werden können. YAML wird zum Beispiel zur Definition von Benutzern oder zur Installation von Softwarepaketen auf Servern verwendet. Schlüssel-Werte-Paare (Key Value Pairs) werden in YAML definiert und durch einen Doppelpunkt getrennt. Schlüssel können alles sein, beispielsweise eine Variable, und der Wert kann ein oder mehrere diesem Schlüssel zugeordnete Werte sein. Diese Schlüssel-Werte-Paare werden in Listen angegeben, wobei auf einen Eintrag in der Liste eine vollständige Konfiguration folgen kann, die für diesen Eintrag erstellt werden soll. Die Elemente reichen von Teilen der Konfiguration, die auf einem Computersystem definiert werden müssen, bis hin zu Einträgen, die in eine Datenbank importiert werden sollen - was immer die Anwendung vorschreibt.

YAML ist relativ einfach zu schreiben. Innerhalb einfacher YAML-Dateien gibt es keine Elemente zur Datenformatierung wie Klammern und eckige Klammern; die meisten Beziehungen zwischen den Elementen werden durch Einrückung definiert.

Die Syntax einer YAML-Datei ist recht streng, und die Einrückung ermöglicht die Arbeit mit YAML. Die Einrückung in der YAML-Syntax erfolgt durch die Verwendung von Leerzeichen; jedes Element, das ein untergeordnetes Element des übergeordneten Elements ist, sollte mit zwei Leerzeichen eingerückt werden. Striche können Elemente in einer Liste kennzeichnen. Blöcke erstrecken sich im YAML-Format nicht über mehrere Zeilen. Ein YAML-Benutzer hat jedoch die Möglichkeit, die in einer YAML-Datei dargestellten Daten zu formatieren, zum Beispiel in Mapping-, Sequenz- und Skalarschemata.

Abbildung 1: Beispiel für die YAML-Syntax.
Abbildung 1: Beispiel für die YAML-Syntax.

Einige wichtige Anwendungen, die YAML nutzen, sind das Konfigurationsmanagement-Tool Ansible, Kubernetes zur Orchestrierung von Containern und OpenStack Heat, die Orchestrierungs-Engine zum Starten von Cloud-Anwendungen auf der OpenStack-Infrastruktur als Service. Python ist eine der Programmiersprachen, die auf der YAML-Syntax basiert, aber die meisten Programmiersprachen können sie interpretieren.

YAML ist häufig austauschbar mit einem anderen Datenkommunikationsformat, JSON, auch bekannt als JavaScript Object Notation. Beide sind Alternativen zu XML, der eXtensible Markup Language. Die Schöpfer und die Gemeinschaft von YAML geben das Ziel an, ein von Menschen lesbares Format zu sein, während JSONs primäres Ziel die Einfachheit und Universalität ist. JSON lässt sich leichter von einer Programmiersprachenumgebung in eine andere übertragen.

Einige erfahrene Programmierer kennen YAML vielleicht unter dem ursprünglichen Akronym Yet Another Markup Language. YAML debütierte im Mai 2001 und wechselte Anfang 2002 zur rekursiven Auszeichnungssprache YAML Ain't Markup Language.

Diese Definition wurde zuletzt im August 2020 aktualisiert

Erfahren Sie mehr über Softwareentwicklung