Re: [xsl] Getting the name the input data document

Subject: Re: [xsl] Getting the name the input data document
From: "Mark Wilson" <mark@xxxxxxxxxxxx>
Date: Thu, 20 Aug 2009 18:41:45 -0700
As always Ken, you are more than helpful.
Thanks,
Mark

--------------------------------------------------
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Sent: Thursday, August 20, 2009 6:27 PM
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [xsl] Getting the name the input data document

I just remembered that isn't the only way ... you can also use base-uri():

t:\ftemp>xslt2 mark.xml mark.xsl

Filename: file:/t:/ftemp/mark.xml
Alternate: file:/t:/ftemp/mark.xml
t:\ftemp>type mark.xsl
<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="2.0">

<xsl:output method="text"/>

<xsl:template match="/">
Filename: <xsl:value-of select="document-uri(/)"/>
Alternate: <xsl:value-of select="base-uri(/)"/>
</xsl:template>

</xsl:stylesheet>
t:\ftemp>


At 2009-08-20 21:22 -0400, I wrote:
At 2009-08-20 18:18 -0700, Mark Wilson wrote:
I've poked around, but suspect I am searching for the wrong terms in the index to Michael's XML/XPath book. I found one reference on the web that said what I want to do could not be done with XSLT 1.0.

You can do it for the stylesheet in XSLT 1.0 but not for the data file.


However, I am using XSLT 2.0.

Not a problem.


I need to know the file name of the file my XSLT style sheet is acting upon so that I can write it out as part of the tile of an XSL-FO output PDF document. Does XSLT 2.0 have a way of getting the file name?

The document-uri() function is what you need.


I hope the example below helps.

. . . . . . . . Ken

t:\ftemp>xslt2 mark.xml mark.xsl

Filename: file:/t:/ftemp/mark.xml
t:\ftemp>type mark.xsl
<?xml version="1.0" encoding="US-ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="2.0">

<xsl:output method="text"/>

<xsl:template match="/">
Filename: <xsl:value-of select="document-uri(/)"/>
</xsl:template>

</xsl:stylesheet>
t:\ftemp>


--
Interested in these classes?  http://www.CraneSoftwrights.com/s/i/
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread