[jboss-jira] [JBoss JIRA] Commented: (JBCOMMON-43) JBossEntityResolver: xsd:redefine resolution

Alexey Loubyansky (JIRA) jira-events at lists.jboss.org
Thu Mar 27 19:29:40 EDT 2008


    [ 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

        



More information about the jboss-jira mailing list