【スキーマ言語】に関する知恵袋
【質問】
スキーマ言語とはなんですか?
【解答】
スキーマ言語とは、XMLで文書を作成する際に、その構造を定義する言語のことです。なお、XML に限らず、XML に似た言語のSGMLにおいても、スキーマ言語は有ります。すなわち、SGMLで文書を作成する際に、その構造を定義する言語がスキーマ言語です。その他には、そもそも「スキーマ」とは、本来データベースのデータを作成する際に、その構造を定義したものを指します。上記のことは、質問者さんは既に、インターネットで検索して調べて、わかっていると思います。しかし、「構造定義の言語と言われても、それって何のことであろう」と疑問に思い、本質問を出されたのだと思います。少なくとも私は、XML を勉強しだした頃は、「構造の定義をする言語」と言われても、意味が全くわかりませんでした。よって以下の回答では、前提となる事柄から順番に説明します。[XML の意味と、その自由度]ところでXMLは、タグ(「<」と「>」を使った文章)を使って、データを表現する言語です。XMLでは、タグを自由に取り決めることが可能で、そのため、様々なデータを表現することが可能です。OCRのソフトの情報処理の概要に触れると、表のデータをXMLで表現することが可能であれば、階層のデータもXMLで表現することが可能です。スキーマの言語の知恵袋についてだが、すなわち、単純な構造のデータから、OCRのソフトの情報処理の概要に触れると、複雑な構造のデータまで、様々な構造のデータをXMLで表現することが可能です。よって、音楽、地図、帳簿、医療のカルテ等々、様々なデータをXMLで表現しています。なお、XML は、その自由なままで取り扱う場合もありますが、構造を取り決めて取り扱う場合もあります。[XML で、その構造を取り決める場合について]XMLは、前述の通り、タグで様々の構造のデータを自由に定義することが可能です。しかし、いくら自由とは言え、XMLを作る側と、それを利用する側で、その取り決めに合意がなければ意味がありません。すなわち、実際に、ある企業から、別の企業へ、XML形式のデータをやり取りする場合、勝手気ままに自由な構造にしたら、受け取る側は困ってしまいます。普通は、互いの企業が話し合って、「こう言う構造にしましょう」と取り決めます。例えば、そのやり取りするXML では、「まずは、各種の飲み薬の在庫の情報を記しましょう」と言うように、その構造を打ち合わせをして取り決めます。[取り決めた構造の宣言文]XML文の本体の前に、取り決めた構造の形式を宣言する文章を記述することが可能です。そして、XMLデータの本体が、その構造形式の宣言に従っているのかチェックされる仕組みになっています。スキーマの言語の知恵袋から考察していくと、この文書構造を定義する言語をスキーマ言語と言います。すなわち、前述のように、XML を使う企業が、「こう言う構造にしましょうよ」と打ち合わせで取り決めます。その取り決めた構造の内容は、宣言文のようにして、XML文の本体の前側の部分に埋め込むことが可能です。その構造を定義する言語のことを、スキーマ言語と言います。[XML のスキーマ言語]XML のスキーマ言語では、以前はDTDと言う言語を使っていました(今も使われていますが)。ところで、XML が誕生する前からある、XML に似た言語にSGML と言う言語があります(HTMLおよびXMLの親にあたる言語)。前述のDTD は、もともとSGML 用のスキーマ言語であって、それをXML 用として使いました。DTDは、他の言語用のものをXMLで使っているので、不便で使い辛い点もあります。そこで、DTDをXML書式に再定義し直したのが、XML Schemaと言う言語です。なお、DTD は、今も使われているので、XML のスキーマ言語には、DTD と XML Schema との2種類が存在します。[追記: 取り決める構造の具体例]上記説明では、「XMLの構造を取り決める」と言いましたが、具体的にどう言う事柄が取り決められるのか、それを知りたい場合は、以下を参照して下さい。大雑把ですが、以前の関連質問で説明しましたので、それを参照して下さい。http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1033234540
その他関連ワード
- アウトラインフォント|
- 家庭内LAN|
- ホスト|
- データセンター|
- SNS|
- マルチプラットフォーム|
- USB|
- 張り付け|
- デフラグ|
- 条件付き書式|
