プロが教えるわが家の防犯対策術!

XMLEDITOR.NETツールで、行数が多いXMLを読み込んでから、
[ツール(T)] - [妥当性検証(外部ファイル)(F)]をクリックし、
外部サブセット(別ファイル)のDTDファイルを選択したところ、
以下のエラーメッセージが表示されます。
 ↓
「セキュリティ上の理由から、DTDはこのXMLドキュメントでは使用
 できません。DTD処理を有効にするには、XmlReaderSettingsの
 ProhibitDtdプロパティをFalseに設定し、XmlReader.Createメソ
 ッドにその設定を渡してください。」

ネットでいろいろ調べたところ、
マイクロソフトのSystem.xml.dllモジュール内のようなのですが、
有料のマイクロソフトツール等、私は持っていない為、
そのDLL内を編集することが出来ない状況です。

やはり、有料のマイクロソフトツールを購入して利用しないと、
このエラーは解消出来ないのでしょうか?

PS:
私が実施したいことは、単に、
外部DTDファイルとXMLファイルとの間における
「妥当な文書(valid XML document)」を、
チェックしたいだけなので、
もし、
上記エラーが解消出来ないようでしたら、
他に良いバリデータ(検証ツール)があれば、
そちらを教えていただけましたら幸いです。

ちなみにネットで調べて、「MSV(Oracle Multi-Schema XML Validator)」を
試してみましたが、実行すると、
以下のエラーメッセージが表示されて、
 ↓
Exception in thread "main" java.net.MalformedURLException: no protocol: xmlCheck
/test20120508.dtd/test20120508.xml
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.startDocumentEntity(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl.setInputSource(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.msv.reader.util.GrammarLoader._loadSchema(GrammarLoader.java:513)
at com.sun.msv.reader.util.GrammarLoader.parse(GrammarLoader.java:331)
at com.sun.msv.driver.textui.Driver.run(Driver.java:217)
at com.sun.msv.driver.textui.Driver.main(Driver.java:68)

こちらも今のところ利用出来ていない状況です。

以上になります。
よろしくお願いします。

A 回答 (1件)

xmllint は試した?

    • good
    • 0
この回答へのお礼

「dscripty」様

お世話になっております。
ご回答いただきました
「xmllint」(libxml2)を、
その後、さっそく試してみたところ、
無事にデータ検証することが出来ました。
本当にありがとうございました。

お礼日時:2012/05/08 15:32

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