正しく生成されていない XML ドキュメントを解析すると、次のエラーが発生します。
org.xml.sax.SAXParseException: The value of attribute "bar" associated with an element type "foo" must not contain the '<' character.
問題の原因はわかっています。それはこの行です:
<foo bar="x<y">42</foo>
だったはず
<foo bar="x<y">42</foo>
これが有効な XML ではないことは認識していますが、私のコードは同様のファイルを無人でダウンロードして解析する必要があり、政治的な理由から、特に他のプログラムがファイルを読み取って許容している場合は、サプライヤーに欠陥のあるプログラムを修正するよう説得することはできない可能性があります。このエラー。
それを許容するように Xerces を構成する方法はありますか? 現時点では致命的なエラーとして扱います。ドキュメントの残りの部分が解析されないため、それを無視するように を実装しErrorHandler
ても満足のいくものではありません。
または、このエラーを許容するように構成できる別のストリームベースのパーサーを提案できますか? これらのドキュメントは数百メガバイトになるため、DOM パーサーを使用することは現実的ではありません。