xsl-list
[Top] [All Lists]

RE: java - standard implementation of the URIResolver

2003-09-30 15:01:10
JSR 206 is currently underway in the Java Community Process to define a
new version of the JAXP specs. Clarifying this kind of thing is high on
their list of priorities. I haven't yet had a chance to check exactly
what the revised definition will do: it's out for community review at
the moment.

I have forwarded your note, a useful analysis.

Michael Kay

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Robert Koberg
Sent: 30 September 2003 18:26
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] java - standard implementation of the URIResolver


Hi,

I want to report my findings with regard to standard 
implementations of how the method setURIReolver works in the 
popular Open Source java xsl processors. From what I 
understand from past discussions is that the spec is not 
clear on the issue. I was wondering if processor developers 
could get together and decide either one way to implement the 
setURIResolver or do it the way Saxon does by doing both 
(hopefully explained below). 

According to most API's you can set the URIResolver on the 
TransformerFactory and on the Transformer. Generally, the 
resolver set on the TransformerFactory resolves xsl:includes 
and xsl:imports. If set on the Tranformer it resolves 
document() function calls.


- Saxon allows you to set the resolver on the 
TransformerFactory to resolve both includes/imports and document(). 
It also lets you set one for the factory and one for the 
transformer. When this is done the factory resolves 
include/import and the transformer resolves document(). This 
is the best way, IMHO.

- jd.xslt only uses the TransformerFactory to be used for 
xsl:include/xsl:import and document() resolution.

Strangely, the standard xalan and it's xsltc implementation 
do two different things.
- standard xalan requires you to use the TransformerFactory 
for xsl:include and xsl:import and the Transformer for document()
- xsltc xalan uses the TransformerFactory for both 
xsl:include/xsl:import and document() -- not the Transformer 
for document(), like the standard xalan.

Any chance of standardizing on one way? :)

Best,
-Rob


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list