Hi, It's likely this problem [1] with the SchemaFactory. We're working on it.
Thanks. [1] https://issues.apache.org/jira/browse/XERCESJ-1130 Michael Glavassevich XML Technologies and WAS Development IBM Toronto Lab E-mail: [email protected] E-mail: [email protected] [email protected] wrote on 22/08/2012 10:25:19 AM: > From: John Butler <[email protected]> > To: [email protected], > Date: 22/08/2012 10:41 AM > Subject: Validate XML with loading schemas at runtime, failure > depending on schema order > Sent by: [email protected] > > I have posted this question on Stack Overflow here: > > http://stackoverflow.com/questions/11852311/validate-xml-with- > loading-schemas-at-runtime-failure-depending-on-schema-order > > I am trying to do xml validation. I am being given a list of schemas > at run-time (possibly wrapped in a jar). Validation passes or failes > based on the order in which I provide the schemas to the SchemaFactory. > > Here is what I am doing: > > > private void validateXml(String xml, List<URI> schemas){ > Source[] source = new StreamSource[schemas.size()]; > int i=0; > for (URI f : schemas){ > source[i++] = new StreamSource(f.openStream()); > } > > SchemaFactory sf = SchemaFactory.newInstance > (XMLConstants.W3C_XML_SCHEMA_NA_URI); > sf.setResourceResolver(new MyClassPathResourceResolver()); > > Schema schema = schemaFactory.newSchema(source); > Validator validator = schema.newValidator(); > validator.validate(new StreamSource(new > ByteArrayInputStream(xml.getBytes())); > > > again, this fails if the passed set of schema do not start with the > schema to which the root element of the xml referrs. Is there a fix > to this or am I doing something wrong? >
