Subject: Re: [xsl] Getting the name the input data document From: Jingjun Long <longjingjun@xxxxxxxxx> Date: Fri, 21 Aug 2009 11:03:01 +0800 |
Hello, I tried to use base-uri to get XML path and static-base-uri to get XSL path. This works find when I run the transformation from XML file and XSL file locate on the hard disk. When I run the transformation against XML which generate on the fly by a program. The base-uri function return empty. From the implementation point of view there is no base-uri for a XML which generated on the fly. Jingjun 2009/8/21 Mark Wilson <mark@xxxxxxxxxxxx> > > 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Getting the name the inpu, Mark Wilson | Thread | RE: [xsl] Getting the name the inpu, Michael Kay |
Re: [xsl] Getting the name the inpu, Mark Wilson | Date | RE: [xsl] Getting the name the inpu, Michael Kay |
Month |