いちばん失敗した人決定戦

JAXPにて、XMLSchemaを使用したXML解析をしたいのですが、その際、schemaLocationやnoNamespaceSchemaLocation等をXML文書に記述しないで検証を行う手段はないでしょうか?

スキーマのファイルパス情報を、XMLファイルから分離したいのです。

もしもそんな手段がないような場合、「ないんじゃない?」的な意見も頂けるとうれしいです。

A 回答 (1件)

Java開発者じゃないし,正しく意味が取れているか自信がないが,(というかJAXPがなんだか知らない(ぉ)



「schemaLocationやnoNamespaceSchemaLocation等をXML文書に記述しないで検証を行う」方法を調べることにした。

で,見つけたのが以下のValidateTest.javaだ。
また、以下のサンプルはそのままでは動作しない。MyErrorHandlerクラスが載ってないからで,ここをコメントアウトするなり自分で実装するなりすれば動くだろう。

見れば解るだろう
が,args[0]がスキーマのファイル名,args[1]が検証するファイル名だ。

http://www015.upp.so-net.ne.jp/heyjude/java_xml0 …
    • good
    • 0
この回答へのお礼

JAXPとは、Java API for XML Processor(XMLのJava用API)のことです。(ベンダー非依存の統合されたインターフェイス。)

ありがとうございました。
Validatorクラスを使えばよかったんですね。
今までDocumentBuilder#setSchemaで試行錯誤してました。。
そういえば、himajin10万さんには、以前にもお世話になりましたね。
いつもありがとうございます。

Validatorと同じパッケージに、ValidatorHandlerというものがありました。
これを使えば、SAXParserやXMLReadrでパースする際にも、同時に妥当性検証が行えるようです。

お礼日時:2007/11/19 10:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!