8

maxOccurs私の問題は、5000 を超える要素を持つ XSD スキーマを解析することです(しかし ではありませんunbounded)。

ここで説明されているように、これは実際には Xerces (私が使用しているバージョン 2.9.1) または JAXP の既知の問題です

XSD の maxOccurs の数値を 5000 より大きい数値からunboundedすべての数値に変更すると、すべてがうまく機能することがわかっています。残念ながら、これは私の場合のオプションではありません (XSD ファイルをいじることはできません)。

私の質問は:

  • この問題に対する Xerces の他の回避策を知っている人はいますか? または
  • この制限のない別の XML パーサーを推奨できますか?

ありがとう!

4

4 に答える 4

14

私も同じ問題を抱えていました。私はこれを使用しました:

System.setProperty("jdk.xml.maxOccurLimit", "XXXXX");
于 2014-10-29T10:32:49.227 に答える
8

パーサーを変更する必要のない解決策を見つけました。

その 5000 の制限を maxOccurs に設定するFEATURE_SECURE_PROCESSING機能があります (他のいくつかと一緒に)。

そして、ここに制限を説明するドキュメントがあります: http://docs.oracle.com/javase/7/docs/technotes/guides/xml/jaxp/JAXP-Compatibility_160.html#JAXP_security

于 2013-05-22T12:37:45.293 に答える