Lists Home |
Date Index |
- To: "Gerben Rampaart" <firstname.lastname@example.org>, <email@example.com>
- Subject: RE: [xml-dev] XSLT: Variable href in <xsl:import>
- From: "Hunsberger, Peter" <Peter.Hunsberger@STJUDE.ORG>
- Date: Wed, 11 Aug 2004 09:36:44 -0500
- Thread-index: AcR/nnVHqAivO3rYToKBb7AodqXWPwAEW0Qw
- Thread-topic: [xml-dev] XSLT: Variable href in <xsl:import>
Gerben Rampaart <firstname.lastname@example.org> asks:
> I have a big (and I mean BIG) xslt which I split up in about
> 6 parts which all hold templates that are pretty much related
> to each other. But, I am not ruling out that those
> stylesheets will shift directories a couple of times (in my
> VS.NET project) and on top of that I just don't like
> hardcoded relative paths in my xslt.
> For this reason, we have centered all the path information in
> one file (the web.config for all you VS programmers out
> there) and with a simple configuration in there, we change
> the path for a xslt for the entire application.
> Except, that darn <xsl:import> tag won't cooperate, It won't
> accept extensionobject method returns, no param values, no nothing.
> Or this:
> <xsl:attribute name="href"><value-of name="$MyParam"
> /></xsl:attribute> </xsl:import>
> doesn't work.
> How do I make that import tag have a variable path?
As has been pointed out, you can't. One thing you can do is use a
framework that allows relative paths to be resolved for your stylesheets
independently of the XSLT in use (IOW, one that includes URI resolvers
that do the dirty work for you). If you're in a position to do so you
might want to look at the Apache Cocoon project for such capabilities.
It would also give you the capability to dynamically generate a top
level XSLT that includes the lower level XSLTs; you'd generate the XSLT
and the relevant include paths at run time and then execute it...