YAML
拡張子.yaml, .yml
MIMEタイプ未登録
初版2001年5月11日 (21年前) (2001-05-11)
最新版1.2 (Third Edition)
(2009年10月1日 (13年前) (2009-10-01))
種別Data interchange
オープン
フォーマットYes
ウェブサイトyaml.org
YAML(ヤメル[1][2]、ヤムル[3])とは、構造化データやオブジェクトを文字列にシリアライズ(直列化)するためのデータ形式の一種。 テキストのため可読である。その概念はXMLやプログラミング言語であるC、Python、Perlからきている。YAMLの原案はクラーク・エバンス[4]、ブライアン・インガーソン[5]、オーレン・ベンキク[6]が共同で出した。 YAMLは再帰的に定義された頭字語でありその語源は「YAML Ain't a Markup Language.」(→YAMLはマークアップ言語じゃない)である。初期には「Yet Another Markup Language」(→もうひとつ別のマークアップ言語)と言われていたが、マークアップよりもデータ重視を目的としていたために後付されてできた名前である。しかしながら XML(本当のマークアップ言語)がデータシリアライズ目的のために頻繁に使用されるため、 YAMLを軽量マークアップ言語と考えることもできる。類似の規格としてJSONがある。 インデントを使い階層構造を表現する。ただし、インデントにはタブが使えずスペースのみが使える[7]。スペース2個単位でインデントすることが多い。 # は行コメント。---は、一つのファイル内に複数のYAMLドキュメントを埋め込むときに用いるセパレータ。 YAMLは次の言語で利用可能である。 [脚注の使い方]
特徴
表記方法
例
リスト--- # お好みの映画、ブロック形式- Casablanca- Spellbound- Notorious--- # 買い物リスト、インライン形式、またはフロー形式[milk, bread, eggs]
連想配列 --- # ブロック name: John Smith age: 33 --- # インライン {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: John Smith, age: 33} - name: Mary Smith age: 27
リストのハッシュ men: [John Smith, Bill Jones] women: - Mary Smith - Susan Williams
実装
Actionscript
C/C++
C#/.NET
Cocoa
Dart
Golang
Haskell
Java
JavaScript
Lua
Nim
OCaml
Perl
PHP (PECLのモジュールやSymfonyのYAMLコンポーネントがある)
Python
Ruby (Ruby 1.8から標準ライブラリに含まれる。)
Rust
Tcl
Vim
脚注
^ “ ⇒Yet Another Markup Language (YAML) 1.0”. The Official YAML Web Site (2001年5月26日). 2016年2月15日閲覧。
^ “ ⇒- Symfony”. Symfony, High Performance PHP Framework for Web Development. 2016年2月15日閲覧。
^ “ ⇒ヤムル - PHPプロ!用語集”. PHPプロ!. 2017年3月23日閲覧。
^ 英: Clark Evans
^ 英: Brian Ingerson
^ 英: Oren Ben-Kik
^ “ ⇒プログラマーのための YAML 入門 (初級編)”. 日本Rubyの会. 2017年3月23日閲覧。
関連項目
データ記述言語
マークアップ言語
軽量マークアップ言語
外部リンク
公式ウェブサイト
YAML検証ツール
Best Online YAML Converter
歴
マークアップ言語
オフィススイート
CDF
OOXML
PML
PML
WML
ODF
UOF
主な言語
HTML
XHTML
MathML
RTF
TeX
LaTeX
Markdown
MultiMarkdown(英語版)
CommonMark(英語版)
その他の言語
AmigaGuide(英語版)
AsciiDoc
CML(英語版)
cHTML
ConTeXt
Crossmark(英語版)
DITA
DocBook
eLML(英語版)
EAD(英語版)
Enriched text(英語版)
FHTML(英語版)
GuideML(英語版)
HDML
HyTime(英語版)
IPF(英語版)
LilyPond
LinuxDoc(英語版)
Lout(英語版)
MIF(英語版)
MAML(英語版)
MEI(英語版)
MusicXML
OMDoc(英語版)
OpenMath(英語版)
POD
RTML(英語版)
reStructuredText
Re:VIEW
RFT(英語版)
S1000D(英語版)
SATySFi
TEI
Texinfo
TOML
troff
Wiki
WML
WapTV(英語版)
XAML
YAML
表
話
編
歴
データ交換(英語版)フォーマット
対人可読フォーマット
Atom
JSON
プロパティリスト