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é proposé par Clark Evans en 2001[1], et implémenté par ses soins ainsi que par Brian Ingerson et Oren Ben-Kiki.

Sommaire

Caractéristiques

L'idée de fond de YAML est que toute donnée peut être représentée par une combinaison de listes, tableaux (de hachage) et données scalaires. YAML décrit ces formes de données (les représentations YAML), ainsi qu'une syntaxe pour présenter ces données sous la forme d'un flux de caractères (le flux YAML).

Une application informatique passe du flux YAML à la représentation YAML par l'opération de chargement (anglais load). Elle passe de la représentation au flux par l'opération de déchargement (anglais dump).

La syntaxe du flux YAML est relativement simple et efficace, moins verbeuse que du XML, moins compacte que du CSV, et a été établie de sorte qu'elle soit le plus lisible possible par des humains, tout en pouvant être mise en correspondance facilement avec les types de données précités, communs dans les langages de haut niveau. À ces langages il emprunte certaines notations.

  • Les commentaires sont signalés par le signe dièse (#) et se prolongent sur toute la ligne.
  • Il est possible d'inclure une syntaxe JSON dans une syntaxe YAML.
  • Les items de listes sont dénotés par le tiret (-), suivi d'un espace, à raison d'un item par ligne.
  • Les tableaux sont de la forme clé: valeur, soit à raison d'un couple par ligne.
  • Les scalaires peuvent être entourés de guillemets doubles ("), ou simples ('), ou encore être représentés par un bloc indenté avec des modificateurs facultatifs pour conserver (|) ou éliminer (>) les retours à la ligne.
  • Plusieurs documents rassemblés dans un seul fichier sont séparés par trois traits d'union (---); trois points (...) optionnels marquent la fin d'un document dans un fichier.
  • Les nœuds répétés sont initialement signalés par une esperluette (&) puis sont référencés avec un astérisque (*) ; JSON, un langage concurrent de YAML, est compatible avec la syntaxe de Javascript mais ne supporte pas cette notion de référence.
  • L'indentation, par des espaces, manifeste une arborescence.
  • Il est possible de préciser le type (anglais Tag) d'une donnée. Cependant, cette précision n'opère aucune contrainte, et fonctionne plutôt comme un marquage, ou une modélisation.
  • Un fichier YAML est analysable en une seule passe de lecture.

La syntaxe YAML se distingue de JSON par le fait qu'il se veut plus facilement lisible par une personne. Il se distingue du XML par le fait qu'il s'intéresse d'abord à la sérialisation de données, et moins à la documentation.

phpMyAdmin permet l'export des bases MySQL en YAML, entre autres formats.

Exemples

Listes

--- # Films préférés, format bloc
- Casablanca
- Bourgogne Casablanca
- La Règle du jeu
- Titanic
--- # Listes de courses, format linéaire
[lait, pain, œufs]

Tableaux associatifs

--- # bloc
nom: Paul Dupond
age: 33
--- # linéaire
{nom: Paul Dupond, age: 33}

Blocs de mise en forme

Nouvelles lignes conservées

--- |
  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

Nouvelles lignes rassemblées

--- >
  Le texte ainsi
  séparé sera ensuite
  rassemblé sur
  une seule ligne
  
  Une ligne vide
  signale un nouveau
  paragraphe

Listes de tableaux associatifs

- {name: Paul Dupond, age: 33}
-
  name: Marie Dupont
  age: 27

Tableaux de listes

homme: [Paul Dupond, Pierre Dubois]
femme:
  - Marie Dupont
  - Susanne Didier

Implémentations

Des bibliothèques pour YAML existent pour les langages suivants :

Voir aussi

Liens externes

Références

  1. YAML Draft 0.1, Clark Evans, 11 Mai 2001, Yahoo! Tech groups: sml-dev

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article YAML de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • 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 — 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… …   Deutsch Wikipedia

  • 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”