java中做xsd验证xml的例子时发现有异常报出,不知什么原因,各位帮忙看下异常!!!Exceptioninthread"main"org.xml.sax.SAXParseException:src-resolve:Cannotresolvethename'Respon...
java中做xsd 验证 xml的例子时发现有异常报出,不知什么原因,各位帮忙看下异常!!!
Exception in thread "main" org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'ResponseTypeCode:ResponseTypeCode' to a(n) 'type definition' component.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:2241)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1201)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseSimpleContent(XSDComplexTypeTraverser.java:398)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseComplexTypeDecl(XSDComplexTypeTraverser.java:277)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDComplexTypeTraverser.traverseGlobal(XSDComplexTypeTraverser.java:196)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseSchemas(XSDHandler.java:1078)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:481)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:556)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:523)
at com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaFactoryImpl.newSchema(SchemaFactoryImpl.java:206)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:489)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:505)
at TestXml.main(TestXml.java:27)
PS:需要另外引入特殊的jar包吗???
1、之前异常的原因是xsd文件有误,已换过且无上述异常。
2、新问题:
a、验证报出:“Not enough values specified for identity constraint specified for element "Declaration".” (ps:主要待解决问题)
b、运行超慢(用22分钟),此时加载简单的xsd时就运行很快。
(ps:性能上不可接受。-- Schema schema = constraintFactory.newSchema(constraints); 就这句慢)
****************
如果采用dom4j进行校验,运行速度不存在问题(很快),此时异常情况如下:
cvc-elt.1: Cannot find the declaration of element 'Manifest'.
。。。。。。
PS:我觉得自己去做xml验证老出问题,与我采用的xsd有关(随便网上找个简单的xsd验证就能跑,自己的xsd就不行),我的xsd里面包含类似以下语句:
可能与xsd的引用有关,也就是当有引用存在时,再用程序去加载xsd验证时,会出问题!!!
展开