YAmlとは? わかりやすく解説

ヤムル

【英】 YAML

人間が読みやすいデータ記法のこと。YAMLの場合、記号やインデントでデータ階層を表現する。手動での編集や確認がしやすく、XMLより読みやすいため、最近では使用例が増えてきている。

PHPではデフォルトで読み書きする機構は備わっていないものの、ライブラリと組み合わせることで、YAMLの読み書きをすることができる。


YAML

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/08/27 11:16 UTC 版)

YAML
拡張子 .yaml, .yml
MIMEタイプ application/yaml
初版 2001年5月11日 (25年前) (2001-05-11)
最新版
1.2 (Third Edition)
(2009年10月1日 (16年前) (2009-10-01))
種別 Data interchange
オープン
フォーマット
Yes
ウェブサイト yaml.org
テンプレートを表示

YAML(ヤメル[1][2]、ヤムル[3]、YAML Ain't Markup Language)とは、構造化データやオブジェクトを文字列にシリアライズ(直列化)するデータ記述言語の一種。

特徴

テキストのため可読である。その概念はXMLやプログラミング言語であるC、Python、Perlからきている。2001年に、クラーク・エバンス[4]、ブライアン・インガーソン[5]、オーレン・ベンキク[6]が共同でAMLの原案を提案した。その後、約3年間の共同設計や仕様調整を経て、2004年に最初の正式仕様である「YAML 1.0」が発表された。

YAMLは再帰的に定義された頭字語でありその語源は「YAML Ain't a Markup Language.」(→YAMLはマークアップ言語じゃない)である。初期には「Yet Another Markup Language」(→もうひとつ別のマークアップ言語)と言われていたが、マークアップよりもデータ重視を目的としていたために後付されてできた名前である。類似の規格としてJSONがあるが、JSONと違ってコメントの記述ができるのが特長である。

表記方法

インデントを使い階層構造を表現する。ただし、インデントにはタブが使えずスペースのみが使える[7]。スペース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 からなる[8]。各ノードは kind, content, tag によって特徴づけられる[9]。

実装

YAMLは次の言語で利用可能である。

脚注

  1. ↑ “Yet Another Markup Language (YAML) 1.0”. The Official YAML Web Site (2001年5月26日). 2016年2月15日閲覧。
  2. ↑ “- Symfony”. Symfony, High Performance PHP Framework for Web Development. 2016年2月15日閲覧。
  3. ↑ “ヤムル - PHPプロ!用語集”. PHPプロ!. 2017年3月23日閲覧。
  4. ↑ 英: Clark Evans
  5. ↑ 英: Brian Ingerson
  6. ↑ 英: Oren Ben-Kik
  7. ↑ “プログラマーのための YAML 入門 (初級編)”. 日本Rubyの会. 2017年3月23日閲覧。
  8. ↑ "YAML represents any native data structure using three node kinds: sequence ...; mapping ...; and scalar" YAML specification v1.2.2.
  9. ↑ "Each YAML node requires ... kind and content ... tag" YAML specification v1.2.2.

関連項目

外部リンク


YAML

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/27 00:25 UTC 版)

「Ansible (ソフトウェア)」の記事における「YAML」の解説

Ansibleにおける一連の処理はPlaybookという単位にまとめられ、PlaybookはYAML形式で記述される。 Chefをはじめとしてその他の構成管理ツールでは独自のDSLを採用することが多い一方で、Ansibleでは一般的なYAML形式を採用することで、可読性が高く学習が容易であると言われている。 一方で、一般的な記述を採用するが故に、他の構成管理ツールと比較して複雑な処理を苦手とする側面があり、多段の条件分岐や反復構造を取る場合はかえって記述が難解となるケースがみられる。

※この「YAML」の解説は、「Ansible (ソフトウェア)」の解説の一部です。
「YAML」を含む「Ansible (ソフトウェア)」の記事については、「Ansible (ソフトウェア)」の概要を参照ください。

ウィキペディア小見出し辞書の「YAml」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ。



固有名詞の分類


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「YAml」の関連用語

YAmlのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



YAmlのページの著作権

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのYAML (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのAnsible (ソフトウェア) (改訂履歴)、JavaScript Object Notation (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2026 GRAS Group, Inc.RSS