リラックスNG

リラックスNG
ファイル名拡張子
.rng
インターネットメディアタイプ
application/xml、text/xml
フォーマットの種類XMLスキーマ言語
から拡張XML

コンピューティングにおいて、RELAX NGREgular LAnguage for XML Next Generation)はXMLスキーマ言語です。RELAX NGスキーマは、XML文書の構造と内容のパターンを指定します。RELAX NGスキーマ自体はXML文書ですが、RELAX NGは一般的なコンパクトな非XML構文も提供しています。[ 1 ]他のXMLスキーマ言語と比較して、RELAX NGは比較的シンプルであると考えられています

これは、2001年と2002年にOASIS RELAX NG技術委員会の委員会仕様によって、村田誠RELAXジェームズ・クラークTREXに基づいて定義された。[ 2 ] [ 3 ] [ 4 ]また、国際標準ISO / IEC 19757:文書スキーマ定義言語(DSDL)のパート2でも定義された。[ 5 ] [ 6 ] ISO / IEC 19757-2は、ISO / IEC JTC 1 / SC 34によって開発され、2003年に最初のバージョンが公開された。[ 7 ]

W3C XMLスキーマとの比較

RELAX NG 仕様は W3C XML スキーマ仕様とほぼ同時期に開発されましたが、2001 年に W3C 勧告となった時点では、W3C XML スキーマ仕様の方がよく知られており、オープンソースおよび独自の XML パーサーとエディターでより広く実装されていました。しかし、それ以降、RELAX NG サポートは XML ソフトウェアにますます浸透し、DocBookTEIガイドライン、OpenDocumentEPUBなどの一般的なドキュメント中心のマークアップ言語の主要なスキーマとして採用されたことで、RELAX NG は受け入れられるようになりました。

RELAX NG は、データ型指定正規表現のサポート、名前空間のサポート、複雑な定義の参照機能など、 従来のDTDとは異なる多くの機能を W3C XML スキーマと共有しています。

ファイル名拡張子

非公式な慣例により、RELAX NGの標準構文スキーマは通常、ファイル名拡張子「.rng」で命名されます。コンパクト構文スキーマの場合は、「.rnc」という拡張子が使用されます。

決定論

Relax NGスキーマは必ずしも「決定論的」または「明確」であるとは限りません

Relax NG から DTD への変換

Relax NGスキーマは、 Trangを適用することでDTDに変換できます。Trangは[1]にあります。Trangのマニュアルは[2]にあります。TrangはOASIS DITA 1.3スキーマをDTDに変換できず、次のようなメッセージが表示されて変換に失敗します。

申し訳ありませんが、combine="choice" による定義の結合はサポートされていません。 

参照

参考文献