最近使用javax.xml.validation.Validator及Schema对XML Document进行校验,但是遇到了一个问题:同样的代码在Oracle JDK下运行成功,但是在IBM JDK下就报错:
org.xml.sax.SAXParseException: cvc-elt.1:找不到元素“root”的声明。
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
at org.apache.xerces.jaxp.validation.DOMValidatorHelper.beginNode(Unknown Source)
at org.apache.xerces.jaxp.validation.DOMValidatorHelper.validate(Unknown Source)
at org.apache.xerces.jaxp.validation.DOMValidatorHelper.validate(Unknown Source)
at org.apache.xerces.jaxp.validation.ValidatorImpl.validate(Unknown Source)
at javax.xml.validation.Validator.validate(Unknown Source)
at albert.yao.xml.ValidateXMLDocument.main(ValidateXMLDocument.java:63)
应该是namespace设置的问题,折腾了几天,只能先用Oracle的JDK了,等后面有时间再研究
在使用javax.xml.validation.Validator和Schema验证XML文档时,遇到一个异常:在Oracle JDK环境下运行正常,但在IBM JDK环境下报错,提示找不到元素'root'的声明。错误堆栈显示为SAXParseException,经过分析可能是namespace配置导致的问题。目前采用Oracle JDK作为临时解决方案,后续计划深入研究这个问题。
394

被折叠的 条评论
为什么被折叠?



