YAML

YAML

YAML ist eine vereinfachte Auszeichnungssprache (engl. markup language) 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.

YAML ist ein rekursives Akronym für „YAML Ain't Markup Language“ (ursprünglich „Yet Another Markup Language“).

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

Hinweis: Das Zeichen # leitet einzeilige Kommentare ein, --- markiert den Beginn eines neuen Abschnitts.

Listen:

--- # 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, Ruby sowie für die .NET-Plattform.

Ähnliche Techniken

Mit JSON existiert eine ähnliche Technologie, die noch mehr am Objektmodell (DOM) orientiert ist und aus der Skriptsprache JavaScript stammt. JSON ist eine echte Untermenge von YAML: Jedes JSON-Dokument ist in Version 1.2 von YAML ein valides YAML-Dokument.[1] Die meisten Parser, die auf [1] genannt sind, unterstützen jedoch nur YAML ≤ 1.1 und daher nicht alle JSON-Dokumente (Stand: 1. August 2011).

Auch für die grafische Notationssprache UML (Version 2) existiert eine textbasierte Alternative, die auf leichte Lesbarkeit für Menschen hin ausgelegt ist – die Human-Usable Textual Notation (HUTN). Das Metamodell von UML und HUTN ist jeweils MOF, sodass HUTN jedes UML-Diagramm als leicht lesbaren Text darstellen kann. Die leichte Lesbarkeit unterscheidet HUTN vom XMI-Format, das für den Datenaustausch zwischen UML-Applikationen vorgesehen ist.

Weblinks

Einzelnachweise

  1. YAML Ain’t Markup Language (YAML™) Version 1.2

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • YAML — (IPAEng|ˈjæməl, rhymes with camel ) is a human readable data serialization format that takes concepts from languages such as XML, C, Python, Perl, as well as the format for electronic mail as specified by RFC [http://www.rfc… …   Wikipedia

  • YAML — человекочитаемый формат сериализации данных, концептуально близкий к языкам разметки, но ориентированный на удобство ввода вывода типичных структур данных многих языков программирования. Название YAML представляет собой рекурсивный акроним YAML… …   Википедия

  • YAML — es un formato de serialización de datos legible por humanos inspirado en lenguajes como XML, C, Python, Perl, así como el formato para correos electrónicos especificado por el RFC 2822. YAML fue propuesto por Clark Evans en 2001, quien lo diseñó… …   Wikipedia Español

  • Yaml — человекочитаемый формат сериализации данных, концептуально близкий к языкам разметки, но ориентированный на удобство ввода вывода типичных структур данных многих языков программирования. Название YAML представляет собой рекурсивный акроним YAML… …   Википедия

  • YAML — YAML, acronyme récursif de YAML Ain t Markup Language, est un langage de sérialisation en données Unicode. Il reprend des concepts d autres langages comme XML, ou encore du format de message électronique tel que documenté par RFC 2822. YAML a été …   Wikipédia en Français

  • Yaml — YAML, acronyme récursif de YAML Ain t Markup Language, est un langage de sérialisation de données qui reprend des concepts d autres langages comme XML, C, Python, et Perl, ou encore du format de message électronique tel que documenté par RFC 2822 …   Wikipédia en Français

  • YAML — noun A retronym for YAML Aint Markup Language that meant originally Yet Another Markup Language …   Wiktionary

  • YAML — abbr. Yaml Ain t Markup Language …   Dictionary of abbreviations

  • YAML (Framework) — YAML (Yet Another Multicolumn Layout) Entwickler Privatperson Aktuelle Version 3.3.1 (18. Juni 2011) Betriebssystem unabhängig Kategorie Webdesign Lizenz …   Deutsch Wikipedia

  • Yml — YAML YAML, acronyme récursif de YAML Ain t Markup Language, est un langage de sérialisation de données qui reprend des concepts d autres langages comme XML, C, Python, et Perl, ou encore du format de message électronique tel que documenté par RFC …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”