XMLではHTMLの固定されたタグと異なり、ユーザーが自由にタグを定義し、それぞれのタグに意味を持たせることができる。この部分がXMLの優れた点の1つとして挙げられる「柔軟性」であり、注目されている点と考えられる。ただし、XMLを実際の業務に使用するには、個々のユーザーが自由に定義したタグを使用するより、あらかじめXML文書のデータ構造(使用するXML文書にはどのようなタグが必要なのか?どのような構造をもっているのか?属性の定義はどうするか?等、要素や属性の配列に関して、正しい並び方と間違った並べ方をコンピュータ言語として明確に記述したもの)が決められているほうが利用価値が高い。例えばXMLでデータ交換を行う場合、共通のXML文書のデータ構造を使用することによりデータの意味が共有できる。また、共通のXML文書のデータ構造に沿って作成されたXML文書であれば誰が見ても理解でき、構造、タグの用途も決められているのでソフトウェアでの処理も簡単で正確に処理ができる。このXML文書のデータ構造を記述したものをXMLにおけるスキーマ(schema)という。また、スキーマを記述するための言語を、スキーマ言語と呼び、代表的なものとして以下のものがある。

1.DTD(DocumentTypeDefinition)

SGMLXMLで文書を記述する際、その文書中でどのようなタグや属性が使われているかを定義したもの

特徴

・現在、最も一般的に使用されているスキーマ表現

 ・SGMLからXMLに移行する際、システムに大きな変更を加える必要がない

 DTDは主に以下の4つの部分で構成される。

  ・要素型宣言:XMLインスタンスで使用できる要素を定義

※要素の名前、要素の階層構造(親子関係、兄弟関係)、要素の出現ルールなどを規定

  ・属性リスト宣言:要素の不可情報としての属性を定義

※どの要素にどのような属性がつくか、属性名はなにか、属性値としてどのようなものを指定できるか、属性の指定は必須か任意か、デフォルト値は何かといったことを規定

  ・エンティティ宣言:XMLインスタンス中やDTDで使用したいエンティティの定義

※置き換えたい文字列や取り込みたい外部ファイルは何か、それを参照するときに使用するエンティティ名はなにか、といった情報を規定

  ・記法宣言:外部のファイルとして参照するエンティティがXML以外の記法を使用している場合、その記法を識別するための名前を指定。

DTDの長所

 ・SGMLからの移行が比較的容易。

 ・ツール、ノウハウなど環境が整っている

DTDの短所

 ・XMLとは異なる記法を持つ

・データ型が用意されていない

・名前空間との相性が悪い

2.XML Schema

XML文書の構造を定義するスキーマ言語の一つ。XML関連技術の標準を策定しているW3Cが標準化にあたっている

XMLSchemaの長所

DTDの持つ問題点に対応

W3Cが次世代の標準として推進

XMLSchemaの短所

・仕様が複雑で解りにくい面がある

3.Relax(REgularLAnguagefor Xml) リラックス

XML文書の構造を定義するスキーマ言語の一つ。日本発の技術で、INSTAC(日本規格協会)XMLSWG(XML調査研究委員会)が仕様の策定にあたっており、国際標準化機構(ISO)の標準となることを目指している

Relaxの長所

 ・DTDの持つ問題点に対応

 ・XMLSchemaと比べてわかりやすい

Relaxの短所

 ・ツール、リソースなどの不足

Reference

 ・エンジニアのためのXMLスキーマ講座

1回:XMLにおけるスキーマとは何か

  http://www.utj.co.jp/xml/dev/schema/sch_4.html

 ・@IT アットマーク・アイティ

  http://www.atmarkit.co.jp/fxml/

⑤作成者:古林堅助-20060927

Titleスキーマ言語について


②用語記述: SGMLHTMLXHTMLRELAXNGXMLSchema


③解説:

スキーマ言語(Schema)

/    定義:スキーマ言語(スキーマげんご)とはXMLSGML等で文書を作成する際、その文書構造を定義する言語を言う。
「スキーマ」とは本来データベースの構造定義であり、RDBの場合はテーブルの各項目のデータ型、他のテーブルとの関連性などを定義したものを指す。XML文書等では、同様にXMLで作成された各要素の互いの関連性や個々の文書全体での位置付け等の定義を指す。

/    説明:本来、文書は構成要素の集合体であるが、一定の構造を持たなければ単なる要素の寄せ集めでしかなく、規則性や体裁といった構造を得て初めて意味のある有用な文書となる。XMLSGMLは文書の各要素を作成するメタ言語であり、文書構造自体を定義する事はできない為、このままでは扱いにくい。そこで構造を定義する言語が必要となり、開発されたのがスキーマ言語である。
例えば、SGMLではDTDがスキーマ言語として使用されていた。XMLSGMLから派生した関係からXMLでもDTDが使用されていたが、DTDは文法がXMLと全く異なっている事や、要素のデータ型を定義する事ができない事等から、新たにXMLSchemaRELAX(現RELAXNG)が開発されている。


Reference

       1.IT用語辞典e-WORDs

http://e-words.jp/

       2.フリー百科事典『ウィキペディア(Wikipedia)』

         http://ja.wikipedia.org/wiki/メインページ



⑤作成者:山田浩司-20060925


最終更新:2006年11月21日 21:39