xsl-list
[Top] [All Lists]

Re: [xsl] Getting the path to the stylesheet

2012-07-05 20:48:09
At 2012-07-05 15:22 +0100, Ihe Onwuka wrote:
On Thu, Jul 5, 2012 at 3:06 PM, Michael Kay <mike(_at_)saxonica(_dot_)com> 
wrote:
>
> On 05/07/2012 15:00, Ihe Onwuka wrote:
>>
>> What is the standard way of getting the absolute path to a stylesheet
>> so that references in the result tree can be resolved relative to it.
>>
>>
>
> Call the static-base-uri() function.
>

Sorry for not clarifyingl, does that work for XSLT 1.0, if not  what does.

The example below shows you get the base URI of the stylesheet when using XSLT 1.0. I've needed this when working with the OASIS specification stylesheets.

I hope this helps.

. . . . . . . . . . Ken

~/t/ftemp $ pwd
/Users/admin/t/ftemp
~/t/ftemp $ xslt ihe.xml ihe.xsl

Stylesheet URI: file:/Users/admin/t/ftemp/ihe.xsl

~/t/ftemp $ cat ihe.xsl
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet
[
<!NOTATION xsl SYSTEM "">
<!ENTITY static-base-uri SYSTEM "" NDATA xsl>
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  version="1.0">

<xsl:output method="text"/>

<xsl:template match="/">
  <xsl:variable name="static-base-uri">
    <xsl:for-each select="document('')">
      <xsl:value-of select="unparsed-entity-uri('static-base-uri')"/>
    </xsl:for-each>
  </xsl:variable>
Stylesheet URI: <xsl:value-of select="$static-base-uri"/>
  <xsl:text>&#xa;&#xa;</xsl:text>
</xsl:template>

</xsl:stylesheet>
~/t/ftemp $ cat ihe.xml
<?xml version="1.0" encoding="UTF-8"?>
<doc/>
~/t/ftemp $


--
Public XSLT, XSL-FO, UBL and code list classes in Europe -- Oct 2012
Contact us for world-wide XML consulting and instructor-led training
Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/m/
G. Ken Holman                   mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>