[
http://jira.jboss.com/jira/browse/JBCOMMON-43?page=comments#action_12405316 ]
Alexey Loubyansky commented on JBCOMMON-43:
-------------------------------------------
The test itself is not a problem. The question is whether it's going to affect
existing users or cause us problems in the future. That's why I brought it up on the
forums.
There is a workaround though... It is still possible to take that schemaLocation from the
XML and map it to another schemaLocation (some local one perhaps) that we would like to
use internally to resolve the schema. So the picture might look like:
- there is publicId (namespace) in the XML
- this publicId is mapped (in the JBossEntityResolver) to a systemId (schemaLocation) -
schemaLocation1
- the XML comes with its own systemId (schemaLocation) for the publicId (namespace) -
schemaLocation2, which is different from schemaLocation1
Since, the schemaLocation's are different, further schemaLocation1 is ignored! This is
the difference from the previous version. The resolution is now based on schemaLocation2.
But... In JBossEntityResolver we may also map schemaLocation2 (as publicId) to another
schemaLocation, e.g. schemaLocation1! Assuming schemaLocation1 can be resolved using
classpath resource loading (it won't be tried as URL).
JBossEntityResolver: xsd:redefine resolution
--------------------------------------------
Key: JBCOMMON-43
URL:
http://jira.jboss.com/jira/browse/JBCOMMON-43
Project: JBoss Common
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: common-core
Affects Versions: 2.2.3.GA
Reporter: Alexey Loubyansky
Assigned To: Alexey Loubyansky
Fix For: 2.2.4.GA
What happens is the parser resolving xsd:redefine passes the namespace of the redefining
schema as publicId and the schema location of the redefined schema as systemId. If the
redefining schema's namespace has already been mapped to a schema location of the
redefining schema then the schema location argument is ignored and the redefining schema
is returned instead of the redefined schema.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira