Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?

Subject: Re: [xsl] Referring to stylesheet itself, possible in XSLT 1.0, but how in XSLT 2.0?
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Tue, 17 Oct 2006 10:45:14 +0100
On 10/17/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:
try putting xml:base at the level of the stylesheet where you need it, e.g.
on a template rule, and have a global variable

<xsl:variable name="stylesheet-uri" select="static-base-uri()"/>

The global variable will then use the "real" base URI of the stylesheet
module.

That works - which makes me wonder why the following doesnt:


<xsl:template match="/" xml:base="foo">
	<xsl:value-of select="document-uri(document(''))"/>
</xsl:template>

With xml:base on the root matching matching template, why does calling
document('') return that base (the same goes for xsl:stylesheet).  I
would've thought the root *node* returned from document('') was
outside the scope of the xml:base change, and so would return the
original base...

Current Thread