RELAX NG
スキーマ言語のひとつだよ
XMLファイルの構造を表現するときに使うよ
簡単に書くよ
RELAX NG(読:リラクシング)とは
「このXMLファイルは、こんな構造になっていますよ」が書いてあるファイルの書き方ルールのひとつ
です。
詳しく書くよ
まずは予備知識から行きましょう。
XMLは「マークアップ言語のひとつでHTMLの親戚みたいなもの」ね。
よく分からなければ「文章に対する目印の付け方ルール(のひとつ)」くらいに解釈してください。
この「XML」というルールに沿って作られた文書ファイルを、一般的には「XMLファイル」と呼びます。
XMLファイルはテキストファイル(中身が文字だけのファイル)です。
拡張子は「.xml」の場合が多いですが、違うこともあります。
XMLファイルの中身は、例えば以下のようになっています。
<?xml version="1.0" encoding="Shift_JIS" ?>
<staff>
<member>
<name>ピヨ太</name>
<position>社長</position>
<age>40代のおっさん</age>
</member>
<member>
<name>ピヨ子</name>
<position>営業部長</position>
<age>永遠の美少女</age>
</member>
</staff>
例えば
ピヨ太
という文字が
<name> ~ </name>
という目印で囲まれていますよね。
このように文字を目印で囲むことによって
ピヨ太ってのはname(名前)だよ
というのを表現しています。
XMLは、構造を自由に定義できるのが魅力であり長所です。
ただし、その構造が明確になっていないと使いづらくて仕方ありません。
そこで、実際のXMLファイルとは別に、XMLファイルの中身の構造を示したファイルを用意することがあります。
例えば
・「<staff>」と「</staff>」の間に「member」要素が入るよ
・「<member>」と「</member>」の間に「name」「position」「age」の要素が入るよ
・「<name>」と「</name>」の間に、社員の名前を書くよ
・「<position>」と「</position>」の間に、社員の役職を書くよ
・「<age>」と「</age>」の間に、社員の年齢を書くよ
のような内容が書いてあるファイルです。
このXMLファイルの中身の構造を表現するときに使う書き方ルールを「スキーマ言語」と言います。
スキーマ言語は
ファイルの書き方ルール
であり
XMLファイルとかの構造を定義するときに使うもの
です。
実は世の中にあるスキーマ言語は一種類では ありません。
いくつかあります。
つまり、XMLファイルの中身の構造を示すときの書き方がいろいろあるわけです。
このいくつかあるスキーマ言語(書き方ルール)のひとつが「RELAX NG」です。
スキーマ言語には、他に「DTD」や「XML Schema」などがあります。
一言でまとめるよ
まぁ「RELAX NG」って単語が出てきたら「スキーマ言語(XMLファイルとかの構造を示すときの書き方ルール)なんだな~」と お考えください。






