Thanks for these. (Are you doing conformance testing or something??)
On the first one, it's not actually an optimization bug, it's a bug in
the test for node identity. It seems that "A is B" returns true if A is
a non-namespace node and B is a namespace node that happens to have the
same offset in its containing array that A has in its array. In this
case they both have offset 1. The behavior is asymmetric because
Element.isSameNode(B) is not the same code as Namespace.isSameNode(A).
The second one is a design error, it has been there since time
immemorial. I probably misread the spec on the day that I implemented
it. Not many people use generate-id() on attribute or namespace nodes!
Both bugs are also present in 6.5.3.
[mailto:saxon-help-admin@...] On Behalf Of Anton
Sent: 11 September 2003 05:30
Subject: [saxon] generate-id() bugs
Problem description - please see XSL file.
<doc xmlns:ns="some ns" ns:att="att value"/>
<xsl:text>BUG 1 - wrong optimization causes
different results being output</xsl:text>
[<xsl:value-of select="generate-id(.) =
<xsl:text> BUG 2 - colon (':') is not
an alphanumeric character</xsl:text>
<xsl:value-of select="concat(' id of att =