TREX

ウィキペディアから無料の百科事典

TREX (Tree Regular Expressions for XML) は、マークアップ言語XMLスキーマ言語の一つである。 TREXで記述されたスキーマは、それ自身がXML文書である。 TREXは、W3C XML Schema と比べて仕様が簡潔である。 TREXは、ジェームズ・クラークによって設計された。

なおクラークがTREXを設計したのとほぼ同じ時期に、村田真などの人々も、別の新しいスキーマ言語RELAX (Regular Language description for XML) を開発していた。 クラークと村田は、TREX と RELAX Core に基づいて、この2つのスキーマ言語を統合して RELAX NG を設計した。

RELAX NG の文法は、TREX の文法を発展させて設計された。 TREX の文法と RELAX NG の文法は、よく似ている。

TREX で記述されたスキーマを使う例[編集]

一冊の書籍 (book) を記述するための簡単なXML文書のためのスキーマを定義することを、考える。 一冊の書籍は、一つもしくは複数の (one or more) ページ (page) の並びとして定義される。 おのおののページは、テキストのみを含む。 一冊の書籍を記述するXML文書インスタンスの例を次に示す。

<?xml version="1.0" encoding="UTF-8"?> <book>   <page>これは1ページです。</page>   <page>これは2ページです。</page> </book> 

この書籍のXML文書のスキーマは、TREXでは次のように記述することができる。

<?xml version="1.0" encoding="UTF-8"?> <grammar xmlns="http://www.thaiopensource.com/trex">    <start>     <element name="book">       <oneOrMore>         <ref name="page"/>       </oneOrMore>     </element>   </start>    <define name="page">     <element name="page">       <anyString/>     </element>   </define>  </grammar> 

TREXの実装[編集]

TREX の妥当性検証器 (バリデータ) の実装として利用可能なものの一部を示す。 オープンソースであり無償で利用することができる。

ファイル名の接尾辞 (拡張子)[編集]

非公式的な慣習として、TREXで記述されたスキーマ (パターン) は、ファイルの名称の接尾辞 (拡張子) として ".trex" が使われている。

関連項目[編集]

外部リンク[編集]