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)
こちらも今のところ利用出来ていない状況です。
以上になります。
よろしくお願いします。
お礼
「dscripty」様 お世話になっております。 ご回答いただきました 「xmllint」(libxml2)を、 その後、さっそく試してみたところ、 無事にデータ検証することが出来ました。 本当にありがとうございました。