Extensible Markup Language
![]() | |
拡張子 | .xml |
---|---|
MIMEタイプ | application/xml text/xml (非推奨) |
UTI | public.xml |
開発者 | World Wide Web Consortium (W3C) |
初版 | 1998年 |
種別 | マークアップ言語 |
派生元 | Standard Generalized Markup Language (SGML) |
拡張 | XHTML、DocBook、RSS、ebXML、 ... |
国際標準 | 1.0 (Fifth Edition) 1.1 (Second Edition) |
概要
編集基礎的概念と利用目的
編集XMLは、個別の目的に応じたマークアップ言語を定めるための汎用的言語であり、「タグの入れ子」式の構文が拡張性を容易にするとして「extensible」を謳っている。
データ構造としては木構造になるため、巡回があるようなネットワーク構造を直接扱うことはできない(XLinkなどの提案がある)。
XMLの最も重要な目的は、異なる情報システムの間で構造化された文書や構造化されたデータの共有を容易にすることである[2]。
HTMLとXMLの違い
編集XMLを基盤とするマークアップ言語とスキーマ言語
編集オープンな仕様
編集正当性水準について
編集幅広い人間言語のサポート
編集補完技術
編集- プログラムからXML文書を処理する方法として、Document Object Model (DOM) や Simple API for XML (SAX) などのアプリケーションプログラミングインタフェース (API) が標準化されている[注 3]。
- XML文書のスタイルを指定する技術(スタイルシート)として Extensible Stylesheet Language (XSL) や Cascading Style Sheets (CSS) などがある。
- XML文書を非テキスト形式(バイナリ)で効率的に表現する方法として、World Wide Web Consortium (W3C) は Efficient XML Interchange (EXI) フォーマットを定義した。
XMLの普及とXMLへの批評
編集XMLは現在、広く普及している技術であるが、その技術的な有用性などについて、肯定的に評価する人々が多い一方で、批判的に評価する人々も多い (#XMLに対する支持と批判を参照)。
整形式XML文書と妥当なXML文書
編集XMLの構文と整形式XML文書
編集<要素名 属性="値">内容</要素名>
ここで、<要素名 属性="値"> をこの要素の開始タグといい、</要素名> を終了タグという。「内容」は何らかのテキストである。
次に示す例は整形式XML文書である。
<書籍 出版日="2007-10-31">これは書籍です.... </書籍>
<書籍>
が書籍要素の開始タグであり、</書籍> が書籍要素の終了タグである。﹁出版日="2007-10-31"﹂は書籍要素の属性である。この属性の名前 ︵属性名︶ は﹁出版日﹂であり、この属性の値 ︵属性値︶ は "2007-10-31" である。﹁これは書籍です.... ﹂は、書籍要素の内容である。
要素の内容を構成するテキストはまた、さらに任意の数の要素を含むことができる ︵なお、このように一つの要素内に文字列データと子要素が混在するものを、﹁混合内容﹂と呼ぶ[注4]︶。
すなわち、一般的なXML文書は木構造をなす。
この点において、XMLはプログラミング言語LISPのS式と似ている。S式でも木構造を記述する。S式の木構造のおのおのの節は、自分自身のプロパティリストをもつことができる。
要素は内部に別の要素を含むことができる。構造化したXML文書の例を示す。
<レシピ 名前="パン" 準備時間="5分" 調理時間="3時間"> <料理>基本的なパン</料理> <材料 量='3' 単位='カップ'>小麦粉</材料> <材料 量='0.25' 単位='オンス'>イースト</材料> <材料 量='1.5' 単位='カップ' 状態="温かい">水</材料> <材料 量="1" 単位="ティースプーン">食塩</材料> <要領> <手順>全ての材料を一緒にして混ぜます。</手順> <手順>十分にこねます。</手順> <手順>布で覆い、暖かい部屋で1時間そのままにしておきます。</手順> <手順>もう一度こねます。</手順> <手順>パン焼きの容器に入れます</手順> <手順>布で覆い、暖かい部屋で1時間そのままにしておきます。</手順> <手順>オーブンに入れて温度を180℃にして30分間焼きます。</手順> </要領> </レシピ>
要素の属性の値は、必ずシングルクォート (') かダブルクォート (") で括らなければならない。そして要素内にある属性は、互いに属性名が異なっていなければならない。XML文書では要素は正しく入れ子になっていなければならない。要素は決してオーバーラップしていてはならない。
例えば、次の文書は整形式XML文書ではない。なぜなら 書名
要素と 著者
要素がオーバーラップしているからである。
<!-- 正しくありません! 整形式XML文書ではありません! -->
<書籍目録> <書名>XML入門<著者>筒井<書名>続・XML入門<著者>小松</書名></著者></書名></著者> </書籍目録>
次の2つの文書は整形式XML文書である。
<!-- 正しい整形式XML文書です -->
<書籍目録> <書名>XML入門</書名> <著者>筒井</著者> <書名>続・XML入門</書名> <著者>小松</著者> </書籍目録>
<!-- もう一つの正しい整形式XML文書です -->
<書籍目録> <書名>XML入門</書名> <著者>筒井<書名>続・XML入門<著者>小松</著者></書名></著者> </書籍目録>
<?xml version="1.0" encoding="UTF-8"?>
<書籍 出版日="2007-10-31">これは書籍です.... </書籍>
<書籍 出版日="2007-10-31">
<!-- これはコメントです.... -->
これは書籍です....
</書籍>
<foo></foo>
<foo/>
<foo />
空要素タグは属性を含むことができる。
<情報 著者="小松左京" 分類="サイエンスフィクション" 日付="2009-01-01"/>
多言語環境で使う
編集<?xml version="1.0" encoding="UTF-8"?>
<俄語>Данные</俄語>
文書型宣言
編集<!DOCTYPE ルート要素名 [SYSTEM もしくは PUBLIC 公開識別子] 外部サブセット参照 [ <!-- 随意に内部サブセットを記述する --> ]>ここで外部サブセットとは、そのXML文書のDTDを構成する ︵要素の型の宣言、後述する実体の宣言などの︶ 宣言群のうち、別ファイルに記述された宣言群のことである。また内部サブセットとは、そのXML文書のDTDを構成する宣言群のうち、文書型宣言内に直接記述された宣言群のことである[3]。 XHTML 1.0 Strict に準拠したXML文書での文書型宣言は、次のとおりである。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">XML文書においては、ルート要素がその文書の最初の要素である ︵例えば、XHTMLではルート要素は
html
である︶。SYST
EM
キーワードと PUBLIC
キーワードは、その文書型 ︵文書の構造︶ の種類を指定する。一般に広く知られていないDTDを使う場合は、SYSTEM
キーワードを使う。一般に広く知られているDTDを使う場合 ︵XHTMLなど︶ は、PUBLIC
キーワードを使う。
●SYSTEM
キーワードを使う際は、その後に続けて、その文書が準拠するDTDのファイルのURIを、外部サブセット参照として記述する。
●PUBLIC
キーワードを使う際は、その後に続けて、その文書が準拠するDTDの公開識別子 (public identifier) を指定しなければならない ︵例えば XHTML 1.0 の公開識別子は、"-//W3C//DTD XHTML 1.0 Strict//EN" である︶。公開識別子を記述した後に続けて、SYSTEM キーワードを使う場合と同様に、その文書が準拠するDTDのファイルのURIを、外部サブセット参照として記述する。
内部サブセットは必要に応じて記述する。
内部サブセットとして、DTDの一部分もしくはDTDの全体を記述することができる。
なお、内部サブセットとしてDTDの全体を記述する場合は、SYSTEM
キーワード・PUBLIC
キーワード・外部サブセット参照は、いずれも記述しない。
実体参照
編集&
") があり、その後に実体の名前が続き、セミコロン (";
") で終わる。
XMLには、事前宣言された実体として次の表に示す5つの実体がある。
実体参照 | 実体 | 実体の説明 |
---|---|---|
& |
& | アンパサンド (ampersand) |
< |
< | 小なり (less than) |
> |
> | 大なり (greater than) |
' |
' | アポストロフィ (apostrophe) |
" |
" | クォーテーションマーク (quotation mark) |
「AT&T」の名前でアンパサンドを表現するために、事前宣言されたXMLの実体を使う例を示す。
<会社名称>AT&T</会社名称>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE 例 [
<!ENTITY copy "©">
<!ENTITY copyright-notice "Copyright © 2007 平成新報社">
]>
<例>
©right-notice;
</例>
XMLに準拠したブラウザを使うと、先のXML文書は次のように表示される。
Copyright © 2007 平成新報社
ファイルの実体を参照するXML文書の例を示す。
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE 文章 [
<!ENTITY tsutsui-yasutaka SYSTEM "another-file.xml">
]>
<文章>
<文>星新一はSF作家である。</文>
<文>小松左京はSF作家である。</文>
&tsutsui-yasutaka;
</文章>
なお、別ファイル another-file.xml
には次の内容が記されていることとする。
<文>筒井康隆はSF作家である。</文>
XMLに準拠したブラウザでこのXML文書を表示すると、次のようになる。
星新一はSF作家である。小松左京はSF作家である。筒井康隆はSF作家である。
文字参照
編集#
" 文字を記述し続けて数字を記述する。
文字参照で使う数字は、符号化文字集合の国際規格である ISO/IEC 10646 (およびUnicode) のコード番号である。文字参照で使うことができる数字は、十進数であるか "x
" を前につけた十六進数である。文字参照は、実体参照とは異なり、事前宣言されているわけでもなく、XML文書のDTD内部で宣言されているわけでもない。文字参照は、簡単には符号化できない文字を表現するために使われることが多い。例えば、欧州のコンピュータ上で作成するXML文書でアラビア語の文字を使う場合などである。﹁AT&T﹂の例の内のアンパサンドは、この場合に似ているともいえる。十進数の38と十六進数の26は、共に ISO/IEC 10646 の "&" 文字のコード番号である。つまり﹁AT&T﹂はXML文書では次のように記述することができる。
<会社名称>AT&T</会社名称>
<会社名称>AT&T</会社名称>
処理命令
編集<?処理命令ターゲット 処理内容?>
<?xml-stylesheet type="text/css" href="monobook.css"?>
あるXML文書内に記述された特定の処理命令について、その処理命令をプログラマーが意図したとおりの処理を実行させるためには、そのXML文書を処理するアプリケーションソフトウェア側がその処理命令に対応する必要がある。
CDATAセクション
編集<
" と "&
" を "<
" と "&
" で表現する通常の構文で記述した文字列データとの間に、意味的な違いはない。
CDATAセクションの構文と解釈
編集<![CDATA[
そしてCDATAセクションの内容が続き、次の記述が最初に出現したところでCDATAセクションは終わる。
]]>
CDATAセクションの内容の文字列は全て文字列データとして解釈され、マークアップや実体参照や文字参照として解釈されることはない。
次の例で﹁送信者﹂の開始タグと終了タグはマークアップとして解釈される。
<送信者>星新一</送信者>
しかし次のように記述した場合は、
<![CDATA[<送信者>星新一</送信者>]]>
次のように記述したものと同等に解釈される。
<送信者>星新一</送信者>
すなわち、﹁送信者﹂タグは﹁星新一﹂の文字列と同列に位置づけられ、いずれも文字列データとして解釈される。
文字参照 ð
が要素の内容で出現した場合は、一つのUnicode文字 00F0 ("ð") として解釈される。しかしCDATAセクション内で出現した場合は、8つの文字からなる文字列として解釈される。
すなわち、アンパサンド、#マーク、文字x、数字0、数字0、文字F、数字0、セミコロンの8つの文字からなる文字列として解釈される。
整形式XML文書を書くために
編集<私は空です/
>
のように記述することができる。この例は <私は空です></
私は空です>
と意味的に同等である。
●属性値は全てシングルクォート (') かダブルクォート (") のいずれかで括る。シングルクォートで始められた属性値はシングルクォートで終わり、ダブルクォートで始められた属性値はダブルクォートで終わる。
●タグは入れ子の構造をとることができる。ただしタグがオーバーラップしてはならない。ルート要素ではない要素のおのおのは、必ず別の要素に含まれる。
●XML文書は宣言された文字符号化方式 ︵文字コード︶ にしたがって記述される。文字符号化方式は、XML文書がHTTPを介して転送される場合に "Content-Type" ヘッダをつけるように暗黙的にXML文書の外部で指定しても良いし、XML文書の内部で文書の先頭のXML宣言内で宣言しても良い。このような宣言がない場合、Unicodeの文字符号化方式が使われていると仮定される。XML文書の最初のバイトをみて、UTF-16のバイト順マークと合致すればUTF-16であると仮定する。合致しない場合はUTF-8であると仮定する。
要素の名前ではアルファベットの大文字と小文字とが区別される。例えば、次の例は整形式である。
しかし次の例は整形式ではない。<Abc>
...</Abc>
XML文書のスキーマを設計する際に、XMLの要素の名前を注意深く選択すると、そのスキーマに準拠したXML文書のデータの意味を、第三者に伝えるために有効であろう。XMLの要素の名前を注意深く選択することにより、そのスキーマに準拠したXML文書は、人間にとって読みやすいものとなる。 XMLの要素と属性の名前を、体が名を表すように注意深く選択決定することで、人間がXML文書を読む際に、要素と属性の意味を、外部の説明文書を参照することなく、よりよく理解できるようになる利点が生まれる。ただしこのような作業を行うことは、XML文書の冗長性が増えることでもある。 人によっては、XML文書を書く際の労力が増えることを、好まない場合がある。またファイルサイズも大きくなることになる。ただし圧縮技術をXML文書に適用してファイルサイズを小さくすることは可能である。 整形式XML文書を正確に書くためには、ここまで述べたことよりずっと多くの規則にしたがう必要がある。例えば、XML名前空間を使うことや、XMLでの﹁名前﹂として使うことができる正確な文字集合を使って、XML文書を書くことなどである。とはいえ、ここまで述べた整形式文書に関する概略を理解しておけば、多くのXML文書を読み理解しあるいは多くのXML文書を書くために必要な基礎は、身についたといえる。<ABC>
...</abc>
自動的に検査する
編集irb> require "rexml/document" irb> include REXML irb> doc = Document.new(File.new("test.xml")).root
XML文書の論理的構造と妥当なXML文書
編集Document Type Definition (DTD、文書型定義)
編集XML Schema
編集RELAX NG
編集ISO 文書スキーマ定義言語
編集XML文書を検証する過程でXML情報集合を変更することについて
編集XML文書を視覚的に表示する
編集XML文書を視覚的に表示するための方法を説明する。
XML文書は、その文書の内容をどのように視覚的に表示するかという情報を、一切含んでいない。 Cascading Style Sheets (CSS) や Extensible Stylesheet Language (XSL) のようなXMLのためのスタイルシート言語を使うのでなければ、ほとんどのウェブブラウザは普通のXML文書を生のXMLテキストとして描画する。いくつかのウェブブラウザは「ハンドル」をつけて表示する (例えば、余白に + と - の符号を表示する)。ハンドルを使うことにより、XML文書構造の部分木を、マウスクリックで展開したり折りたたんだりすることができる。
CSSを使ってウェブブラウザでXML文書を描画するためには、XML文書は次のような要領でスタイルシートへの参照を含めなければならない (XMLの処理命令を使ってスタイルシートを使って描画する旨を指定している)。
<?xml-stylesheet type="text/css" href="myStyleSheet.css"?>
この方法は、HTML文書におけるスタイルシート指定の方法とは異なる。HTML文書では <link/>
要素を使ってスタイルシートを指定する。
XML文書を視覚的に表示するために、Extensible Stylesheet Language(XSL、拡張可能なスタイルシート言語)を使うこともできる。XSLを使う場合は、XML文書をXHTML/HTML文書の構造に変換するか、もしくはウェブブラウザで視覚的に表示することができる他の文書の構造に変換する。
クライアント側でXSL Transformations (XSLT) のスタイルシートを指定するためには、XML文書に次のようにXSLTスタイルシートへの参照を含めることが、必要である(XMLの処理命令を使って実現している)。
<?xml-stylesheet type="text/xsl" href="myTransform.xslt"?>
XMLの拡張
編集MIMEタイプ
編集XML名前空間
編集名前空間の宣言
編集xmlns
を使って宣言される。xmlns
属性の属性値はIRI (Internationalized Resource Identifier) である必要があり、通常はURI (Uniform Resource Identifier) である。
例を示す。
xmlns="http://www.w3.org/1999/xhtml"この例の "http://www.w3.org/1999/xhtml" を名前空間名という。ここで注意すべきこととしては、名前空間の宣言で記述されたURIは、実際にインターネット上の住所として解釈されるわけではないということである(自由に考えよう、URIほど便利なものが必ずインターネットのアドレスをささなければいけないなどと、誰が決めたのか)。例えば、http://www.w3.org/1999/xhtml自体には何のコードもない。このURIの文書では、人間の読者に対してXHTMLについて簡単に説明しているだけである。 ("http://www.w3.org/1999/xhtml" のような) URIを名前空間の識別子として使うことで、︵"xhtml" のような︶単純な文字列を名前空間名として使うよりも、異なる名前空間が意図せずして同じ名前空間名を使ってしまう危険性を低減する。名前空間の識別子は、ウェブの住所︵アドレス︶の慣習にしたがう必要はない。 名前空間の宣言は短い接頭辞を含むことができる。この名前空間接頭辞を使うことで、異なるボキャブラリに由来する要素と属性を識別することができる。 名前空間接頭辞を使う例を示す。
xmlns:xhtml="http://www.w3.org/1999/xhtml"XML名前空間を使ったXML文書の例を示す。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="/社員名簿">
<html>
<head>
<title>XML文書をXHTML文書に変換する例</title>
</head>
<body>
<h1>社員名簿</h1>
<ul>
<xsl:apply-templates select="社員">
<xsl:sort select="姓"/>
</xsl:apply-templates>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="社員">
<li>
<xsl:value-of select="姓"/> <xsl:value-of select="名"/>
</li>
</xsl:template>
</xsl:stylesheet>
XML文書をプログラムで処理する
編集- Pull Parsing
- データバインディング
Simple API for XML (SAX)
編集Document Object Model (DOM)
編集Document
オブジェクトは、XML文書をXMLプロセサが処理することにより生成することもできるし、プログラマがプログラミングすることによって生成することもできる。DOMにおける Node
(節) のさまざまな型のデータ型は、DOM仕様においては抽象的にインタフェースとして定義されている。Node
のデータ型の実装は、プログラミング言語に固有の言語バインディングを提供する。
DOMの実装は、サイズの大きいXML文書を扱う場合はたくさんのメモリを使う。なぜならDOMの実装は、一般的にはXML文書全体からオブジェクトの木構造を構築してメモリにロード︵展開︶し、その後にDOMを介した処理をできるようにしているからである。
Javaでは、標準ライブラリを構成するいくつかのパッケージでDOMが実装されており、Javaのプログラマは標準ライブラリのDOMを使うことができる。DOMの仕様は、World Wide Web Consortium (W3C) で策定されているため、DOMで中核をなす Node
やDocument
などのインタフェースや、直列化 (出力) などの機能を提供するためのインタフェースはパッケージ org.w3c.dom.*
に収められている。
[8]
変換エンジンとフィルタ
編集Pull Parsing
編集System.Xml.XmlReader
- .NET Framework
例えば、JavaのStAXフレームワークでは、本質的な﹁反復子﹂ (イテレータ) を作成して使うことができる。
Pull Parsing で作成される﹁反復子﹂はXML文書中のさまざまな要素、属性、データを順番に訪れる。
﹁反復子﹂を使うプログラムは、処理中に現在の項目 (例えば、要素の開始、要素の終了、テキスト) を調べ、その特性 (例えば、要素の名前、名前空間、属性値、テキスト内容) を調査する。
そして反復子に﹁次の﹂項目へ移動するよう指示することもできる。
プログラムは、このようにXML文書を走査するようにして、文書から情報を取り出すことができる。
Pull Parsing の技法の特筆すべき長所は、XML文書をパースするDOMの技法と比べて非常に高速であり、メモリ使用が非常に少ないことである。
もう一つの長所は、再帰下降の手法は、パースを実行するプログラム内で、データを型づけされた変数として保持することに適していることである。
SAXでは、例えば、プログラマが自分で処理中の要素の祖先となる要素群を格納するスタック内に中間データを保持するコードをプログラミングする必要があることが多い。
これに対し、Pull Parsing の技法を使ってXML文書を処理するプログラムは、SAXを使うプログラムよりも、非常に単純で理解し易く保守が容易になることが多い。
データバインディング
編集- Relaxer[11]
- Java Architecture for XML Binding (JAXB)[12]
XMLに準拠したアプリケーションソフトウェアとエディタ
編集XML情報集合
編集情報集合への追加情報
編集歴史
編集起源
編集バージョン
編集特許の主張
編集XMLに対する支持と批判
編集多くの論者がXMLに対してさまざまな批判を行ってきた。 こうした批判は、XMLの長所と潜在的な欠点に対する言及を含んでいる[28]。
XMLの長所
編集XMLの短所
編集標準化
編集先述したISOの標準群のほかに、XML関連では次の文書が発行されている。
- ISO/IEC 8825-4:2002 Information technology -- ASN.1 encoding rules: XML Encoding Rules (XER)
- ISO/IEC 8825-5:2004 Information technology -- ASN.1 encoding rules: Mapping W3C XML schema definitions into ASN.1
- ISO/IEC 9075-14:2006 Information technology -- Database languages -- SQL -- Part 14: XML-Related Specifications (SQL/XML)
- ISO 10303-28:2007 Industrial automation systems and integration -- Product data representation and exchange -- Part 28: Implementation methods: XML representations of EXPRESS schemas and data, using XML schemas
- ISO/IEC 13250-3:2007 Information technology -- Topic Maps -- Part 3: XML syntax
- ISO/IEC 13522-5:1997 Information technology -- Coding of multimedia and hypermedia information -- Part 5: Support for base-level interactive applications
- ISO/IEC 13522-8:2001 Information technology -- Coding of multimedia and hypermedia information -- Part 8: XML notation for ISO/IEC 13522-5
- ISO/IEC 18056:2007 Information technology -- Telecommunications and information exchange between systems -- XML Protocol for Computer Supported Telecommunications Applications (CSTA) Phase III
- ISO/IEC 19503:2005 Information technology -- XML Metadata Interchange (XMI)
- ISO/IEC 19776-1:2005 Information technology -- Computer graphics, image processing and environmental data representation -- Extensible 3D (X3D) encodings -- Part 1: Extensible Markup Language (XML) encoding
- ISO/IEC 22537:2006 Information technology -- ECMAScript for XML (E4X) specification
- ISO 22643:2003 Space data and information transfer systems -- Data entity dictionary specification language (DEDSL) -- XML/DTD Syntax
- ISO/IEC 23001-1:2006 Information technology -- MPEG systems technologies -- Part 1: Binary MPEG format for XML
- ISO 24531:2007 Intelligent transport systems -- System architecture, taxonomy and terminology -- Using XML in ITS standards, data registries and data dictionaries
注釈
編集出典
編集参考文献
編集関連項目
編集XML関係の仕様
編集- スキーマ言語
- Document Type Definition(DTD、文書型定義)
- XML Schema
- Regular Language description for XML (RELAX)
- TREX
- 文書スキーマ定義言語 (DSDL: Document Schema Definition Languages)
- スタイルシート
- Extensible Stylesheet Language (XSL)
- XSL Formatting Objects (XSL-FO)
- XSL Transformations (XSLT)
- Cascading Style Sheets (CSS)
- Document Style Semantics and Specification Language (DSSSL)
- Extensible Stylesheet Language (XSL)
- XML Path Language (XPath)
- XML Linking Language (XLink)
- XQuery
- Jaql
関連する団体
編集- World Wide Web Consortium (W3C) - 標準化団体の一つ。
- OASIS - 標準化団体の一つ。
- Apache XML - Apacheソフトウェア財団のプロジェクト。
- Apache XML Graphics - Apacheソフトウェア財団のもう一つのプロジェクト。
XMLと関連する技術
編集- Abstract Syntax Notation One (ASN.1) - 電気通信やコンピュータネットワークでのデータ構造の表現・エンコード・転送・デコードを記述する記法
- JavaScript Object Notation (JSON) - JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語
- YAML - 構造化データやオブジェクトを文字列に直列化(シリアライズ)するためのデータ形式
- Broadcast Markup Language - XMLベースのデータ放送向け記述言語