RELAX (Regular Language description for XML) について
RELAXは、XML文書の構造を定義するための
スキーマ言語の一つです。W3C
XML Schemaと比較して仕様が簡潔であることが特徴で、XML文書の検証に利用されます。
RELAXの構成
RELAXは、以下の2つの仕様から構成されています。
1.
RELAX Core: 単一の名前空間における要素と属性を扱うための仕様です。W3C
XML Schemaで規定された豊富な
データ型を利用できます。
2.
RELAX Namespace: 複数の名前空間を使用するXML文書を扱うための仕様です。
RELAXの歴史
RELAX Coreは、2000年6月にJIS TR X 0029:2000として発行され、2001年8月にはISO/IEC Technical Report 22250-1として国際規格にも承認されました。RELAX Namespaceは、2001年7月にJIS TR X 0044:2001として公表されています。
RELAXの開発とほぼ同時期に、ジェームズ・クラークによって
TREX (Tree Regular Expressions for XML) という別の
スキーマ言語も開発されていました。その後、クラークと
村田真らは、
TREXとRELAX Coreを統合し、
RELAX NGという新しい
スキーマ言語を設計しました。
RELAX Core のスキーマ例
例えば、書籍(book)の情報を記述するXML文書を考えてみましょう。書籍は、1つ以上のページ(page)で構成され、各ページはテキスト(text)のみを含みます。このXML文書の構造をRELAX Coreで記述すると以下のようになります。
xml
XML文書の例 >
テキスト1
テキスト2
RELAX Core でのスキーマ記述例:
xml
RELAXで記述されたスキーマファイルには、慣習的に".rlx"という
拡張子が使用されます。
RELAXの実装
RELAXのスキーマを検証するための
実装としては、以下のようなものが利用可能です。
Sun Multi-Schema Validator (MSV): RELAX Core、RELAX Namespace、TREX、RELAX NG、DTD、W3C XML Schemaなど、多様なスキーマ言語に対応した検証ツールです。オープンソースで無償で利用可能です。
DTD2RELAX: 従来のDTDスキーマをRELAX Coreのスキーマに変換する
ソフトウェアです。
関連事項
RELAXは、以下の分野と関連があります。
コンピュータ言語
データ記述言語
仕様記述言語
スキーマ言語
外部リンク
RELAX オフィシャルサイト
Sun Multi-Schema Validator (MSV): RELAX Core, RELAX Namespace,
TREX,
RELAX NG, DTD, W3C
XML Schema に対応した検証
ソフトウェア。
*
DTD2RELAX: DTDスキーマをRELAX Coreスキーマに変換する
ソフトウェア。
RELAXは、XML文書の構造を柔軟かつ簡潔に定義するための強力なツールです。その簡潔さから、複雑なXMLスキーマをより理解しやすく、開発しやすいというメリットがあります。