Get file name using xsl

xsltxslt-1.0

How can I get the file name using xsl 1.0?

I tried

<xsl:value-of select="base-uri()" />

but got "Fatal Error! Could not find function: base-uri"

Best Solution

base-uri() is a standard XPath 2.0 function, so when running XSLT 1.0 this function will be unavailable.

In XSLT 1.0 the filename (of what?) may be passed as a parameter for the transformation.

Do note that it isn't always possible to produce a filename for a stylesheet or for an XML document -- either or both may be residing in memory without an associated file.

It is not clear from the problem which filename must be produced.

Here is how to find filenames in XPath 2.0 / XSLT 2.0:

The filename of the current document:

 base-uri()

The filename of the current stylesheet module:

  base-uri(document(''))
Related Question