Re: [xsl] xsl:element name AVT

Subject: Re: [xsl] xsl:element name AVT
From: Jack Matheson <jack@xxxxxxxxxxxxxx>
Date: Wed, 02 Feb 2005 09:47:28 -0600
Ahh great, thanks for the speedy fix.

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:

https://sourceforge.net/tracker/index.php?func=detail&aid=1114286&group_id=2
9872&atid=397617

Michael Kay
http://www.saxonica.com/




-----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="http://www.w3.org/1999/XSL/Transform"; 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 expect...is this another case of "assuming XSLT 1.0 semantics in an XSLT 2.0 environment" ?

Current Thread