TREX

TREX(Tree Regular Expressions for XML)は、XML文書の構造を定義するためのスキーマ言語の一つです。TREXの大きな特徴は、スキーマ自体がXML文書として記述される点にあります。これにより、XML文書を扱うツールでスキーマを処理することが容易になります。TREXは、W3C XML Schemaと比較して仕様が簡潔であり、より簡単にスキーマを記述できるという利点があります。

TREXは、ジェームズ・クラークによって設計されました。ほぼ同時期に、村田真氏らによってRELAX(Regular Language description for XML)という別のスキーマ言語も開発されました。その後、クラーク氏と村田氏らは、TREXとRELAX Coreを統合し、RELAX NGという新しいスキーマ言語を設計しました。RELAX NGの文法は、TREXの文法を発展させたものであり、両者の文法はよく似ています。

TREXによるスキーマ記述例



簡単な例として、書籍(book)を記述するXML文書のためのスキーマをTREXで定義してみましょう。書籍は、1つ以上のページ(page)の並びとして定義され、各ページはテキストのみを含むとします。この構造をTREXで記述すると以下のようになります。

xml









このスキーマは、「book」という要素がルート要素であり、その中に1つ以上の「page」要素が含まれることを定義しています。各「page」要素は、テキストコンテンツのみを持つことを示しています。

このスキーマに対応するXML文書の例は以下の通りです。

xml

Page 1 content.
Page 2 content.
Page 3 content.




TREXの実装



TREXのスキーマの妥当性を検証するための実装として、以下のものが利用可能です。これらの実装はオープンソースであり、無償で利用できます。

Sun Multi-Schema Validator (MSV): TREX、RELAX Core、RELAX Namespace、RELAX NG、DTD、W3C XML Schemaによる妥当性検証をサポートするソフトウェアです。サン・マイクロシステムズの川口耕介氏によって開発されました。

ファイル名の接尾辞(拡張子



TREXで記述されたスキーマファイルには、慣習的に「.trex」という拡張子が用いられます。

関連項目



RELAX NG: TREXを基に設計された、より強力なXMLスキーマ言語です。
RELAX: TREXと同時期に開発された、別のXMLスキーマ言語です。
文書スキーマ定義言語 (DSDL): XML文書の構造を定義するためのさまざまな言語や仕様をまとめたものです。
DTD (Document Type Definition): XML文書の構造を定義するための、より古い言語です。

外部リンク



TREX - Tree Regular Expressions for XML: ジェームズ・クラークのページ
TREX チュートリアル
Sun Multi-Schema Validator (MSV): TREX、RELAX Core 、RELAX Namespace 、RELAX NG 、DTD 、W3C XML Schema による妥当性検証を行うソフトウェアサン・マイクロシステムズ、川口耕介

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。