• ベストアンサー

RELAX NG

RELAX NGについていくつか質問があります。 1)RELAX NGとXMLを関連付けるにはどうしたらいいか。 DTDでいうDOCTYPEは、RELAX NGの場合どうしたらいいのでしょうか? 2)RELAX NGに対応した妥当性検証ソフトはあるのか。 出来たら、ダウンロードできるサイトも教えていただければ幸いです。 3)属性の値に一意性を持たせられるのか。 DTDでいう、IDのような指定は出来ないのでしょうか? 以上です。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

1)RELAX NGとXMLを関連付けるにはどうしたらいいか。 DTDでいうDOCTYPEは、RELAX NGの場合どうしたらいいのでしょうか? ざっと周辺サイトを見る限り,標準的な手法というものは存在しないようだ。 http://www.griffinbrown.co.uk/blog/PermaLink,guid,9aebb083-a961-42b1-9748-a57e06a0f19a.aspx 日付を見ると2007年7月26日の投稿なので現在においてもそれほど期待しない方がよさそうだ。 ちなみに, http://www.xmlmind.com/xmleditor/_distrib/doc/rngsupport/specifying_a_schema.html 等を見ると,各アプリケーションごとに処理命令で対処するような話も出ている。(当然ながらある一つのアプリケーションで検証されても他のアプリケーションでは有効にならないだろう) 2)RELAX NGに対応した妥当性検証ソフトはあるのか。 出来たら、ダウンロードできるサイトも教えていただければ幸いです。 いくつかはあるようだ。自分は使ってみたわけじゃないが, @IT他で知ったMSV等。 https://msv.dev.java.net/ #以下のリンクはリンク切れしている http://www.atmarkit.co.jp/fxml/rensai2/xmltool05/01.html 3)属性の値に一意性を持たせられるのか。 DTDでいう、IDのような指定は出来ないのでしょうか? 標準的な方法はやはり存在しないんで,datatypeを使え,ということらしい。 http://www.oasis-open.org/committees/relax-ng/compatibility.html#id http://www.ibm.com/developerworks/jp/xml/library/x-custyp/ XML Schemaでいうkey,keyrefも似たような方法でやれってことなのかなあ? http://www6.airnet.ne.jp/manyo/xml/schema/step35-2.html コレなんか見るとSchematronっていう別なもの導入しているようだが。 http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_keys_st5.html