【发布时间】:2013-05-15 02:22:13
【问题描述】:
我的问题是解析一个 XSD 架构,它的元素的 maxOccurs 大于 5000(但不是 unbounded)。
这实际上是 Xerces(我正在使用,版本 2.9.1)或 JAXP 中的一个已知问题,如下所述:http://bugs.sun.com/view_bug.do;jsessionid=85335466c2c1fc52f0245d20b2e?bug_id=4990915
我已经知道,如果我将 XSD 中的 maxOccurs 数字从大于 5000 的数字更改为 unbounded,一切正常。遗憾的是,这不是一个选项,就我而言(我不能干预 XSD 文件)。
我的问题是:
- 有人知道 Xerces 中针对此问题的其他解决方法吗?或者
- 谁能推荐另一个没有此限制的 XML 解析器?
谢谢!
【问题讨论】:
-
那个错误报告说实际限制是 2147483647。
-
Xerces 中加载模式时解析方法抛出的异常明确指出:
FATAL : org.xml.sax.SAXParseException: Current configuration of the parser doesn't allow a maxOccurs attribute value to be set greater than the value 5,000. -
注意“当前配置”一词,不要将“配置”与“实施”混淆。
-
你说得对,对我来说是配置问题。
标签: java xml-parsing xsd xerces jaxp