InfoQ

News

RELAX-NGを使うほうがよいのでは?

作者 Gavin Terrill, 翻訳者 岡田 英久 投稿日 2007年11月9日 午後7時19分

コミュニティ
Architecture
トピック
Domain Specific Languages
タグ
XMLスキーマ,
W3C

RELAX-NG(「リラクシング」と発音する)は一般的に知られているDTDやXSDよりも単純でエレガントな特徴をもったもう1つのXMLスキーマ定義言語である。特にW3C XML SchemaについてはTim Bray氏らXMLの専門家が次のようにコメントする(source)など、複雑すぎるとの声があがっている。

W3C XML Schemas (XSD)はひどい。読むのも書くのも理解するのも困難だし、相互運用性に問題があるし、XMLでいつもやりたいと思うことを記述できない場合がよくある。

RELAX-NGの長所についてインターネットに散在している情報を把握する助けになるようにと、Griffin Brown氏は最近「W3C XML SchemaではなくRELAX NGでXMLを設計する10の理由(source)」をリストにした。そのリストは以下の内容を含んでいる。

  1. "優れた仕様は優れた相互運用性を意味する"
  2. "Compact Syntaxの有用性 (RELAX-NGは<>なしで規約を簡潔に表現するDSL(サイト・英語)をサポートしている)"
  3. "仕様が安定したISO国際標準規格である"
  4. "PSVIがない (PSVIは有害であるとみなされている(source))"
  5. "デフォルト値のメカニズムがない"
  6. "優れたデータタイプのサポート"
  7. "より洗練されたモデリング"
  8. "より洗練された文法の検証"
  9. "インスタンスの非依存性"
XSDファイルをRELAX-NG(.RNG)に変換するにはSun Multi-Schema Validatorが利用できる。Sun Multi-Schema Validator(サイト・英語)は詳細なXML Syntaxフォーマットの.RNGファイルを生成する。Compact Syntaxフォーマットに変換するにはTrang(サイト・英語)が利用できる。

原文はこちらです:http://www.infoq.com/news/2007/10/relaxng
ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

Typemock: その過去・現在・未来

Eli Lopian氏率いるTypemock社の過去・現在・未来について、インタビュー形式にて記します。

企業とSaaSの仮想化がもたらすのは、迅速性(アップ)だけではない

この論文では、仮想化やクラウドサービスの複雑なメリットと実世界における応用を検討します。さらに重要なこととして、Contegixが複雑な問題の解決に仮想化を実装している方法や、仮想化を使うべきではないケースについて詳細を提供します。

RubyのFiberを非同期I/Oに使うNeverBlockとRevactor

Fiberはユーザに試練を課すことなくこの考えを実装する有益な並行性ツールとして、ライブラリが2つあります。まさにこのためのソリューションとしてあるのがNeverBlockライブラリです。私たちはNeverBlockプロジェクトのMohammad A. Ali氏とRevactorライブラリのTony Arcier氏に話を聞きました。

拡張性に関する悪習慣

システムの保守容易性や拡張性を確保するためのベスト・プラクティスに関する記事は数多くありますが、この記事では避けた方がいい、いくつかの悪習慣(ワースト・プラクティス)を強調します。

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。