XML : Java XML Validation: Unable to resolve definitions from local XSD files

I'm trying to validate xml, but I'm trying to do it without an internet connection. Therefore, I've tried to download all the XSD's that I need and change the imports to the local files, but it's unable to find a few definitions. Oddly enough, when I command+click on the offending line in IntelliJ, it takes me to the right local XSD.

I've written a minimal example that demonstrates the problem and posted it here: https://github.com/spearskw/testXsd

And here is the stack trace I get when I try to run it:

  org.xml.sax.SAXParseException; systemId: file:/Users/kevin/repo/xsdTest/target/classes/schemas/saml-schema-protocol-2.0.xsd; lineNumber: 32; columnNumber: 56; src-resolve: Cannot resolve the name 'ds:Signature' to a(n) 'element declaration' component.  at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)  at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)  at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)  at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4162)  at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4145)  at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1678)  at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseLocal(XSDElementTraverser.java:170)  at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseLocalElements(XSDHandler.java:3618)  at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:633)  at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:617)  at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:575)  at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:541)  at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:255)  at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)  at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:670)  at testXsd.TestSchemaValidation.validateSaml(TestSchemaValidation.java:35)  at testXsd.TestSchemaValidation.main(TestSchemaValidation.java:57)  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  at java.lang.reflect.Method.invoke(Method.java:497)  at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)    

No comments:

Post a Comment