[jboss-dev-forums] [Design of JBossXB] - JBossEntityResolver and xsd:redefine resolution

alex.loubyansky@jboss.com do-not-reply at jboss.com
Fri Mar 14 08:35:05 EDT 2008


The issue was discovered in http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4136295#4136295

The problem is that when the  schema that contains xsd:redefine is parsed and when the redefine is resolved, the arguments passed to the JBossEntityResolver.resolve(publicId, systemId) are:
- publicId is the namespace of the schema that contains xsd:redefine
- systemId is the schemaLocation attribute of the xsd:redefine

In some cases (i.e. if the namespace of the redefining schema is mapped to its schema location in the JBossEntityResolver and both schemas are in the classpath) this results in StackOverflowError since the JBossEntityResolver is looking at the publicId first during resolveEntity.

I want to change this to check if the publicId is registered and if the registered schemaLocation is different from the systemId argument then try resolving the systemId argument first.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4136646#4136646

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4136646



More information about the jboss-dev-forums mailing list