RE: [xsl] xsl:element name AVT

Subject: RE: [xsl] xsl:element name AVT
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 1 Feb 2005 21:39:44 -0000
An embarassing bug, which happens only when the value of the name attribute
uses curly braces but is nevertheless a compile-time string literal. Having
established that the value is known at compile time, it then goes on to test
that the value as written (that is, "{'b:blah'}") is a valid QName.

A fix is at:

Michael Kay 

> -----Original Message-----
> From: Jack Matheson [mailto:jack@xxxxxxxxxxxxxx] 
> Sent: 01 February 2005 19:05
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] xsl:element name AVT
> I'm getting some unexpected results in the following 
> stylesheet, and was 
> wondering if anyone could lend some insight:
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0" 
> xmlns:xsl=""; xmlns:a="aa" 
> xmlns:b="bb">
>    <xsl:template match="/">
>       <xsl:element name="{'b:blah'}"/>
>    </xsl:template>
> </xsl:stylesheet>
> When the name AVT gets expanded, I expect the prefix 'b' to 
> be in scope 
> at this point in the stylesheet.
> Saxon 8.2 gives this error:
> Error at xsl:element on line 4 of file:elem_avt_ns.xsl:
>   Element name is not a valid QName
> Xalan appears to give the result I this another case of 
> "assuming XSLT 1.0 semantics in an XSLT 2.0 environment" ?

Current Thread