XML
XML(Extensible Markup Language)は、タグツリーでデータを記述するW3C標準のマークアップ言語で、名前空間、スキーマ検証、スタイル変換をサポートする。
目的
自己記述的で、検証も変換もできる文書交換形式を、厳密な構造と豊かなツール群が必要な場面に提供する。
メカニズム
文書は宣言、要素(<tag>content</tag>)、属性、コメント、CDATA、処理命令で構成される。xmlnsで宣言する名前空間がタグ衝突を避ける。構造はDTDやXSDで検証でき、XSLTが文書を変換する。
ユースケース
- SOAPウェブサービス
- SVGのベクターグラフィックス
- オフィス文書(.docx は ZIP+XML)
- 設定とマニフェスト(pom.xml、AndroidManifest)
例
- 入力
<person><name>Ada</name></person>OutputThe tree {person:{name:"Ada"}}Nested tags
よくあるエラー
- Unescaped < > & breaks parsing
- Escape them with the entities < > &
関連用語
JSON
JSON(JavaScript Object Notation)は、JavaScript のオブジェクトリテラルに基づく軽量なデータ交換形式である。キー・バリューペアと配列を使う。 用語集
YAML
YAML(YAML Ain't Markup Language)は、設定向けのデータ直列化形式で、インデントで階層を表し、コメントと参照をサポートし、JSONよりも手書き編集に適する。 用語集
XSD
XSD(XML Schema Definition)は、XML文書の構造を定義するW3C標準言語で、XML構文で要素・属性・型制約を記述する。 用語集
DTD
DTD(Document Type Definition)は XML 1.0 の構造定義機構である。XSD より簡素だが能力は限られ、特殊な(XML ではない)構文で記述される。 用語集
JSON Schema
JSON Schema は JSON 文書の構造を記述する語彙である。型、制約、検証規則を定義し、JSON のスキーマ標準である。 用語集