スキーマ言語
ファイルの書き方ルールだよ
XMLファイルとかの構造を定義するときに使うよ
簡単に書くよ
スキーマ言語(読:スキーマゲンゴ 英:schema language)とは
「このXMLファイル(とかSGMLファイルとか)は、こんな構造になっていますよ」が書いてあるファイルの、書き方ルール
です。
詳しく書くよ
まずは予備知識から行きましょう。
XMLは「マークアップ言語のひとつでHTMLの親戚みたいなもの」ね。
よく分からなければ「文章に対する目印の付け方ルール(のひとつ)」くらいに解釈してください。
日本語の文章でも「大事なところは太字にする」とか「会話文はカギカッコで囲む」とかルールがありますよね。
それと同じです。
どっかの誰かが「この形式の文書は、こんな書き方にしようぜ!」とルールを決めて、それに「XML」という名前を付けました。
ただ、それだけです。
この「XML」というルールに沿って作られた文書ファイルを、一般的には「XMLファイル」と呼びます。
XMLファイルはテキストファイル(中身が文字だけのファイル)です。
拡張子(ファイルの種類を表す目印)は「.xml」の場合が多いですが、違うこともあります。
さて、このXMLファイルですが、中身の構造は作る人の自由です。
最低限の書き方ルールはありますけどね。
どんな要素を用意するかとかは自由に決められます。
例えば、ピヨ太君は、中身が以下のようになっているXMLファイルを作りました。
<?xml version="1.0" encoding="Shift_JIS" ?>
<staff>
<member>ピヨ太</member>
<member>ピヨ子</member>
</staff>
どうやら、ピヨピヨカンパニーの社員名簿のようです。
随分シンプルですね。
あまりにもシンプル過ぎる社員名簿です。
見かねたピヨ子さんが、以下のように変更しました。
<?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>
それぞれ、名前と役職と年齢?が項目として追加されています。
ピヨ太君が最初に作ったファイルとピヨ子さんが変更したファイル、どちらもXMLファイルです。
中身はXMLのルールに従って書かれています。
ですが、中身の構成は違いますよね?
色分けすると、その差は、よりはっきりします。
XMLは、構造を自由に定義できるのが魅力であり長所です。
ただし、その構造が明確になっていないと使いづらくて仕方ありません。
中身の構造を熟知していない人が変更しようと思ったら大変です。
きっと「あれ?この要素の中には、どんな要素が書けるんだっけ?」や「あれ?この要素って省略して良いのかな?」などの疑問が出てくるでしょう。
そこで「このXMLファイルは、こんな構造だから」というのを説明するファイルが用意されるようになりました。
先程のピヨ太君が作ったXMLファイルであれば
・「<staff>」と「</staff>」の間に「member」要素が入るよ
・「<member>」と「</member>」の間に、社員の名前を書くよ
ピヨ子さんが変更したXMLファイルであれば
・「<staff>」と「</staff>」の間に「member」要素が入るよ
・「<member>」と「</member>」の間に「name」「position」「age」の要素が入るよ
・「<name>」と「</name>」の間に、社員の名前を書くよ
・「<position>」と「</position>」の間に、社員の役職を書くよ
・「<age>」と「</age>」の間に、社員の年齢を書くよ
のような内容が書いてあるファイルです。
このファイルの内容を見れば、XMLファイルの構造が分かります。
自由に内容を変更したり、構造的におかしいところがないかチェックできる理屈です。
前振りが長くなりましたが、この
XMLファイルとかの構造を定義したファイルの、書き方ルール
が「スキーマ言語」です。
「XMLファイルとかの構造を定義するときは、こんな書き方をしなさい」が示されています。
なお、XMLファイル「とか」と付けているのは、XMLファイル以外もあるからです。
XMLの親戚にSGMLというのがいるのですが、SGMLファイルの構造を定義したファイルの書き方ルールも「スキーマ言語」と呼ばれます。
とはいえ、SGMLは最近あまり使われていませんけどね。
単純に「XMLファイルの構造を定義するときの書き方ルール」と解釈しても、困ることは少ないと思います。
一言でまとめるよ
まぁ「スキーマ言語」って単語が出てきたら「XMLファイルとかの構造を定義したファイルの、書き方ルールなんだな~」と お考えください。
おまけ
■訳してみるよ
「schema(スキーマ)」の意味は「図式」とか「図表」とか「図解」とか「概要」とかです。
「言語」は日本語ですね。
何となく くっつけると
図解言語
となります。
■検索してみる?






