DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16020>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16020 Schema ordering is important when validating with JAXP Summary: Schema ordering is important when validating with JAXP Product: Xerces2-J Version: 2.2.1 Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: Other Component: JAXP AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I have a validator utility that until today was adding schemas by calling dbf.setAttribute("http://apache.org/xml/properties/schema/external-schemaLocation", schemaLocs); where schemalocs is a 'list' of uri/location pairs, and this all works fine. I've just ported this to JAXP1.2 and I'm now calling dbf.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaSource", schemaFileNames); where schemaFileNames is an array of schema file locations (all local). This works, but only for a given value of works! I have a WSDL doc that I'm trying to validate, and I'm passing 6 schemas to the validator. One of these schemas is mine, the others are 'standard' (wsdl.xsd, soap-envelope.xsd etc) expect that the soap-envelope.xsd has been tweaked so that it contains an attribute group for the encodingStyle attribute. This tweak is there so that I can add a reference to that attribute to my schema. When using JAXP 1.2, if I pass the schemas in this order ..\schema\soap-encoding.xsd ..\schema\wsdl.xsd ..\schema\wsdl-soap.xsd ..\schema\soap-envelope.xsd ..\schema\XMLSchema.xsd ..\schema\bookOperations.xsd (this is my schema with the forward ref.) then everything validates OK. However if I pass them in this order ..\schema\bookOperations.xsd ..\schema\soap-encoding.xsd ..\schema\wsdl.xsd ..\schema\wsdl-soap.xsd ..\schema\soap-envelope.xsd ..\schema\XMLSchema.xsd then the parse fails: I get error: org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name 'soap:encodingStyle' to a(n) attribute group component. SystemId: file:///D:/home/kevinj/Course/Terra/gjws/content/activities/ejws/wsdl/work/solutions/schema/bookOperations.xsd Column: 51 Line: 28 It looks like there is a forward ref from bookoperations.xsd to soap-envelope.xsd if I pass the schemas in this order through JAXP1.2 As I said, if I use the dbf.setAttribute("http://apache.org/xml/properties/schema/external-schemaLocation", schemaLocs); call then the order doesn't matter and things work fine. Kevin Jones Developmentor --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
