- Yml
-
Dieser Artikel beschreibt die Bedeutung YAML Ain't Markup Language. Für die Bedeutung Yet Another Multicolumn Layout siehe YAML (Framework) - Offizielle Website YAML.org mit der YAML-Spezifikation (engl.)
- YAML-Kochbuch für Ruby (engl.)
- YAML in fünf Minuten (engl.)
- YAML-Implementierung in Java (engl.)
YAML ist ein rekursives Akronym für „YAML Ain't Markup Language“ (ursprünglich „Yet Another Markup Language“). YAML ist eine Sprache zur Datenserialisierung, angelehnt an XML (ursprünglich) und an die Datenstrukturen in den Sprachen Perl, Python und C sowie dem in RFC 2822 vorgestellten E-Mail-Format. Die Idee zu YAML stammt von Clark Evans, die Spezifikation wurde von ihm selbst, Brian Ingerson und Oren Ben-Kiki erstellt.
Inhaltsverzeichnis |
Design-Ziele
Die grundsätzliche Annahme von YAML ist, dass sich jede beliebige Datenstruktur nur mit assoziativen Listen, Listen (Arrays) und Einzelwerten (Skalaren) darstellen lässt. Durch dieses einfache Konzept ist YAML wesentlich leichter von Menschen zu lesen und zu schreiben als beispielsweise XML, außerdem vereinfacht es die Weiterverarbeitung der Daten, da die meisten Sprachen solche Konstrukte bereits integriert haben.
Beispiele
Listen (das Zeichen # leitet einzeilige Kommentare ein, --- markiert den Beginn eines neuen Abschnitts):
--- # Favorite movies, block format - Casablanca - Spellbound - Notorious --- # Shopping list, inline format [milk, bread, eggs]
Assoziative Listen:
--- # Block
name: John Smith
age: 33
--- # Inline
{name: John Smith, age: 33}
Block-Ausdrücke, in denen Zeilenumbrüche beibehalten werden:
--- |
There was a young fellow of Warwick
Who had reason for feeling euphoric
For he could, by election
Have triune erection
Ionic, Corinthian, and Doric
Block-Ausdrücke, in denen einzelne Zeilenumbrüche ignoriert werden:
--- > Wrapped text will be folded into a single paragraph Blank lines denote paragraph breaks
Liste von assoziativen Listen:
- {name: John Smith, age: 33}
-
name: Mary Smith
age: 27
Assoziative Liste von Listen:
men: [John Smith, Bill Jones] women: - Mary Smith - Susan Williams
Implementierungen
YAML-Implementierungen existieren unter anderem für die Programmiersprachen JavaScript, ActionScript, Perl, PHP, Python, Java sowie Ruby.
Siehe auch
Mit JSON existiert eine ähnliche Technologie, die noch mehr am Objektmodell (DOM) orientiert ist und aus der Skriptsprache JavaScript stammt.
Weblinks
Wikimedia Foundation.