Re: [xsl] Uri resolver in Saxon 8

Subject: Re: [xsl] Uri resolver in Saxon 8
From: Barry Lay <blay@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 11 Aug 2004 21:58:18 -0400
Thanks, I will keep that in mind. The various implementations of Source don't seem to set it automatically so I never knew what it was for.

Also, the XSLT 2.0 spec states that "..the way in which the URI reference is used to locate a stylesheet module is implementation-defined." (section 3.10.1). I presume this means that setting the systemId on the Source object may work for Saxon but is not guaranteed to work in general.

Barry

Michael Kay wrote:

I tend to use a URIResolver for this sort of thing. The javax.xml.transform.Source interface does not define a mechanism for determining the source file location (there may not even be one) so the XSL transform has no way of knowing where the XSL file came from, thus can't find things relative to it.



On the contrary: Source has a method setSystemId(). Whether or not this is actually the location of the stylesheet, the value you supply is treated as the base URI of the stylesheet, and is used to resolve relative URIs within it.

Michael Kay

Current Thread