Re: [xsl] Can an xsl file know it's own name dynamically?

Subject: Re: [xsl] Can an xsl file know it's own name dynamically?
From: Alex Muir <alex.g.muir@xxxxxxxxx>
Date: Fri, 4 Dec 2009 12:32:22 +0000
Hi,

I ended up with the following with the following using the FunctX XSLT
Function Library which works fine with xproc via calabash running
things thus far.

I suppose a means of putting this code in an included file and getting
the name of the file doing the including in the output rather than the
included file name over and over is not possible?


  <xsl:template match="processing">
    <xsl:copy>
      <xsl:apply-templates/>
      <xsl:element name="widget">
        <xsl:attribute name="name"
select="functx:substring-after-last-match(fn:static-base-uri(),'/')"/>
        <xsl:attribute name="startExecutionTime"
select="current-dateTime()"/>
      </xsl:element>
    </xsl:copy>
  </xsl:template>

<xsl:template match="*">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>


Thanks Much
Alex

On Thu, Dec 3, 2009 at 3:22 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
>>
>> Can an XSL file know it's own name dynamically?
>>
>
> In XSLT 2.0 the function call static-base-uri() should give you a good
> approximation.
>
> Reservations are:
>
> (a) the base URI might not be the same as the document URI if there are
> xml:base attributes or if multiple XML entities are used
>
> (b) it all depends on the user invoking the transformation in such a way
> that the document URI is known - for example in JAXP if the stylesheet
input
> is supplied as a StreamSource wrapping an InputStream with no SystemId set,
> then there's no chance.
>
> Regards,
>
> Michael Kay
> http://www.saxonica.com/
> http://twitter.com/michaelhkay
>
>



--

Alex
https://sites.google.com/a/utg.edu.gm/alex

Current Thread