1. XMLって何よ
XMLは、「Extensible Markup Language」の略で、「拡張可能なマーク付け言語」と訳される。 XMLは、マークアップ言語を定義するためのメタ言語である。 例えば、XHTMLは、XMLによって作られたマークアップ言語である。 また、ポッドキャストやブログなどで使用されるRSSフィードと呼ばれるものもXMLが基礎となっている。 W3Cによって1998年にXML1.0が勧告された。 現在、最新バージョンはXML1.1である。 本ページでは、そのうち現在広く利用されているXML1.0について勉強する。
本ページで勉強するXMLは、「Extensible Markup Language (XML) 1.0 (Third Edition)」と呼ばれるものであり、その仕様書は、 http://www.w3.org/TR/2004/REC-xml-20040204/に掲載されている。
XMLは、以下のような設計目標に従って作られたメタ言語である。
- インターネットにおいてそのまま使用することができる。
- 広範囲のアプリケーションを支援する。
- SGMLと互換性を持つ。
- XML文書を処理するプログラムを容易に書くことができる。
- オプションの機能はできる限り少なくし、理想は、1つも存在しないことである。
- 人間にとって読みやすく、十分に理解しやすい。
- 設計は、すみやかに行う。
- 設計は、厳密かつ簡潔なものにする。
- XML文書は、容易に作成することができる。
- マーク付けの数を減らすことは重要ではない。
XMLも言語であるから、その構文規則がある。XMLの構文規則は拡張BNF記法と呼ばれるもので表現される。以下にその概略を示す。
記号は次の形式で定義される。
記号::=式
式の表現には、以下の各記法を用いる。
記法 | 意味 |
---|---|
#xN | Nは16進の整数 |
[a-zA-Z] | 指定した範囲の値を持つ任意の文字。aからz及びAからZ |
[^a-z] | 指定した範囲外の値を持つ任意の文字。aからz以外 |
[^abc] | 指定した文字以外の値を持つ任意の文字。abc以外 |
"文字列" | 二重引用符で囲むリテラル文字列 |
'文字列' | 二重引用符で囲むリテラル文字列 |
(式) | 組み合わせによる式をまとめて扱う |
A? | Aは、オプション、0回または1回 |
A B | Aの次にBが出現する |
A | B | AまたはB |
A - B | AからBを除外する |
A+ | 1回以上のA |
A* | 0回以上のA |
/* */ | コメント |
[VC:条件] | 妥当性制約条件 |
[WFC:条件] | 整形式制約条件 |