Re: [xsl] Resolving xsl:import href on different base URIs

Subject: Re: [xsl] Resolving xsl:import href on different base URIs
From: "Liam R. E. Quin liam@xxxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 4 Nov 2020 16:56:30 -0000
On Tue, 2020-11-03 at 22:37 +0000, Martynas JuseviD
ius
martynas@xxxxxxxxxxxxx wrote:
> Hi,
> 
> I have a stylesheet that I want to deploy on different setups that
> have different base URIs. That impacts the relative URI of the
> imports
> of that stylesheet. For example, in one case
> 
> B B B  <xsl:import href="../../../xsl/bootstrap/2.3.2/layout.xsl"/>
> 
> and in the other case
> 
> B B B  <xsl:import
> href="../../../../static/com/atomgraph/linkeddatahub/xsl/bootstrap/2.
> 3.2/layout.xsl"/>

In the first instance i'd consider seeing ifi could make the
environments closer,  and, if not, consder an external symbolic link.

Other alternatives include
* using a parameter (as Martin suggested) with _href="{ ....}"
* using an environoment variable, also with _href
  xsl:import _href="{ get-environment-
variable('PATHTOBOOTSTRAP')}/2.3.2/layout.xsl" />
or whatever (if you precompile the stylesheet, though, and deploy the
compiled bytecode, this probably won't help)

* using an XML Catalog
* using a wrapper stylesheet that calls fn:transform() on the real one,
after finding it.

Liam


-- 
Liam Quin,B https://www.delightfulcomputing.com/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations: B http://www.fromoldbooks.org

Current Thread