[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

スキーマ言語

pointこの用語のポイント

pointファイルの書き方ルールだよ

pointXMLファイルとかの構造を定義するときに使うよ

スポンサーリンク

簡単に書くよ

スキーマ言語とは

「このXMLファイル(とかSGMLファイルとか)は、こんな構造になっていますよ」が書いてあるファイルの、書き方ルール
です。

image piyo

詳しく書くよ

まずは予備知識から行きましょう。

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>30代のおっさん</age>
    </member>
    <member>
        <name>ピヨ子</name>
        <position>営業部長</position>
        <age>永遠の美少女</age>
    </member>
</staff>


それぞれ、名前と役職と年齢?が項目として追加されています。

ピヨ太君が最初に作ったファイルとピヨ子さんが変更したファイル、どちらもXMLファイルです。
中身はXMLのルールに従って書かれています。

ですが、中身の構成は違いますよね?
色分けすると、その差は、よりはっきりします。

スキーマ言語2

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ファイルの構造を定義する際の書き方ルール」と解釈しても、困ることは少ないと思います。

image piyo2

一言でまとめるよ

まぁ「スキーマ言語」って単語が出てきたら「XMLファイルとかの構造を定義したファイルの、書き方ルールなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク