You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@santuario.apache.org by bu...@apache.org on 2006/04/19 17:30:34 UTC

DO NOT REPLY [Bug 39349] - Setting a URIResolver for the XSLT Transform

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=39349>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=39349





------- Additional Comments From sean.mullan@sun.com  2006-04-19 15:30 -------
(In reply to comment #0)
> Hello,
> 
> I apologize, if this functionality is already implemented and I just fail
> to see it.
> 
> Using the JSR 105 API I see no way to set a javax.xml.transform.URIResolver for
> resolving URIs when performing an XSLT Transform. This means, that the default 
> URIResolver will be used, which is not always desirable.
> 
> Looking at the source code, I can see 2 ways of implementing this
> (I assume you do not want to change the API of XMLCryptoContext):
> 
> 1) explicitly setting a URIResolver property in the XMLCryptoContext,
> e.g. XMLCryptoContext.setProperty("javax.xml.transform.URIResolver",
myURIResolver)
> 
> 2) implementing a URIResolver that internally uses the URIDereferencer
> from the XMLCryptoContext
> 
> In both cases, the resulting URIResolver would have to be passed down to the 
> org.apache.xml.security.transforms.implementations.TransformXSLT that
> actually does the transform.
> 
> If you indicate which way you would prefer it, i would be willing to implement
> this functionality and provide a patch.

Solution 1 is technically an API change (since you propose defining a 
property starting with "javax"), so it would need to go through the Java
Community Process and a maintenance revision of the specification would need 
to be released. Since we have only just recently finalized JSR 105 and don't
have any immediate plans for a maintenance revision, this 
option would take a while. Alternatively, you could define an
implementation-specific property starting with org.apache (but it would 
be specific to the Apache implementation).

Solution 2 is probably better. However, I should note for a tighter JSR
105 integration, the Apache Transform implementations should be
changed to extend the JSR 105 javax.xml.crypto.dsig.TransformService class. 
Then the XMLCryptoContext would be passed to the 
transform method (inherited from TransformService) of the TransformXSLT 
impl, and from there you could get 
the URIDereferencer from the XMLCryptoContext. But that may be more of
a long-term (XMLSec 2.0?) change since it would require some fairly significant 
restructuring/modification of the classes.

--Sean

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.