|
| |
| 拡張子 | .yaml, .yml |
|---|---|
| MIMEタイプ | application/yaml |
| 初版 | 2001年5月11日 |
| 最新版 |
1.2 (Third Edition) (2009年10月1日) |
| 種別 | Data interchange |
| オープン フォーマット | Yes |
| ウェブサイト |
yaml |
YAML(ヤメル、ヤムル、YAML Ain't Markup Language)とは、構造化データやオブジェクトを文字列にシリアライズ(直列化)するデータ記述言語の一種。
テキストのため可読である。その概念はXMLやプログラミング言語であるC、Python、Perlからきている。2001年に、クラーク・エバンス、ブライアン・インガーソン、オーレン・ベンキクが共同でAMLの原案を提案した。その後、約3年間の共同設計や仕様調整を経て、2004年に最初の正式仕様である「YAML 1.0」が発表された。
YAMLは再帰的に定義された頭字語でありその語源は「YAML Ain't a Markup Language.」(→YAMLはマークアップ言語じゃない)である。初期には「Yet Another Markup Language」(→もうひとつ別のマークアップ言語)と言われていたが、マークアップよりもデータ重視を目的としていたために後付されてできた名前である。類似の規格としてJSONがあるが、JSONと違ってコメントの記述ができるのが特長である。
インデントを使い階層構造を表現する。ただし、インデントにはタブが使えずスペースのみが使える。スペース2個単位でインデントすることが多い。
# は行コメント。---は、一つのファイル内に複数のYAMLドキュメントを埋め込むときに用いるセパレータ。
--- # お好みの映画、ブロック形式
- Casablanca
- Spellbound
- Notorious
--- # 買い物リスト、インライン形式、またはフロー形式
[milk, bread, eggs]
--- # ブロック
name: John Smith
age: 33
--- # インライン
{name: John Smith, age: 33}
data: |
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
data: >
Wrapped text
will be folded
into a single
paragraph
Blank lines denote
paragraph breaks
- {name: John Smith, age: 33}
- name: Mary Smith
age: 27
men: [John Smith, Bill Jones]
women:
- Mary Smith
- Susan Williams
- null
- true
- .inf
- .-inf
- .nan
- 0x12 # 16進数
- 0o12 # 8進数
YAML木は3種類の基本ノード、sequence, mapping, scalar からなる。各ノードは kind, content, tag によって特徴づけられる。
YAMLは次の言語で利用可能である。