tags:

views:

36

answers:

2

Hi again everyone.

I'm working on a website with a large number of pages, and each one has this in it: <xsl:include href="team-menu.xsl" />

This xsl file is stored in the root directory.

Essentially including my "team menu" on each page. My problem is when I include this on nested pages, e.g. "/teammembers/smith.xsl", the links in the menu are broken because they refer to pages that aren't in the same directory as the page i'm viewing.

This is probably really easy, but I just don't know how to fix it. Is there a way to tell the XSL the root directory and/or set some sort of global directory? Thanks for your help!

A: 

If I understand your question correctly you could just use absolute links, instead of relative ones.

I.e. /index.xml instead of index.xml.

svick
I just ended up doing this, which I initially wanted to avoid because of local display issues, but it still works!
Andrew Parisi
+1  A: 

You can use XSL parameters to pass the base directory. All processors come with a mechanism for passing these (eg xsltproc --stringparam basedir style). Within your stylesheet, you should be able to use something like the following to consume the parameter:

<xsl:param name="basedir" />
<xsl:include href="{$basedir}/team-menu.xsl" />
nullptr