Re: [xsl] Locating Things Relative to Location of Style Sheet

Subject: Re: [xsl] Locating Things Relative to Location of Style Sheet
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 05 Dec 2002 14:14:33 -0500
At 2002-12-05 11:45 -0600, W. Eliot Kimber wrote:
Is there a way using normal XSLT facilities to get or operate relative to the location of the style sheet without passing in the style sheet location as a runtime parameter?

For XML document resources, just ignore the second argument to document() and it will be relative to the stylesheet Base URI.


My specific use case is generating FO output instances that include graphics that are stored relative to the style sheet, not the input XML document.

I just tried to use entities in the stylesheet with relative URI SYSTEM identifiers, but they are be relative to the current directory and not the directory of the stylesheet file itself.


Can you think of extending the code below to do what you want?

................... Ken

X:\samp>type unparsed.xsl
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE xsl:stylesheet [
  <!NOTATION image SYSTEM "">
  <!ENTITY flags SYSTEM "smflags.bmp" NDATA image>
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="1.0">

<xsl:template match="/">
  <xsl:for-each select="document('')">
    <xsl:value-of select="unparsed-entity-uri('flags')"/>
  </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

X:\samp>xt unparsed.xsl unparsed.xsl
<?xml version="1.0" encoding="utf-8"?>
file:/X:/samp/smflags.bmp
X:\samp>t:

T:\>xt x:unparsed.xsl x:unparsed.xsl
<?xml version="1.0" encoding="utf-8"?>
file:/smflags.bmp
T:\>


-- Upcoming hands-on in-depth XSLT/XPath and/or XSL-FO: - North America: Feb 3 - Feb 7,2003

G. Ken Holman               mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.        http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                     Definitive XSLT and XPath
ISBN 0-13-140374-5                             Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1             Practical Formatting Using XSL-FO
Next conference training:                    2002-12-08,03-03,06


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread