YAML

YAML（ヤメル、ヤムル）とは、構造化データやオブジェクトを文字列にシリアライズ（直列化）するためのデータ形式の一種。
特徴.
テキストのため可読である。その概念はXMLやプログラミング言語であるC、Python、Perlからきている。YAMLの原案はクラーク・エバンス、ブライアン・インガーソン、オーレン・ベンキクが共同で出した。
YAMLは再帰的に定義された頭字語でありその語源は「」である。初期には「」と言われていたが、マークアップよりもデータ重視を目的としていたために後付されてできた名前である。しかしながら XML（本当のマークアップ言語）がデータシリアライズ目的のために頻繁に使用されるため、 YAMLを軽量マークアップ言語と考えることもできる。類似の規格としてJSONがある。
表記方法.
インデントを使い階層構造を表現する。ただし、インデントにはタブが使えずスペースのみが使える。スペース2個単位でインデントすることが多い。
例.
codice_1 は行コメント。codice_2は、一つのファイル内に複数のYAMLドキュメントを埋め込むときに用いるセパレータ。
リスト.
--- # お好みの映画、ブロック形式
- Casablanca
- Spellbound
- Notorious
--- # 買い物リスト、インライン形式、またはフロー形式
[milk, bread, eggs]
連想配列.
 --- # ブロック
 name: John Smith
 age: 33
 --- # インライン
各行の改行の維持.
 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
最終行の改行のみ維持し他はスペース一字に置換.
 Wrapped text
 will be folded
 into a single
 paragraph
 Blank lines denote
 paragraph breaks
ハッシュのリスト.
 - name: Mary Smith
 age: 27
リストのハッシュ.
 men: [John Smith, Bill Jones]
 women:
 - Mary Smith
 - Susan Williams
データ構造.
YAML木は3種類の基本ノード、"sequence", "mapping", "scalar" からなる。各ノードは kind, content, tag によって特徴づけられる。
実装.
YAMLは次の言語で利用可能である。