Re: [xsl] Need an XPath expression for: $B is not contained in $A

Subject: Re: [xsl] Need an XPath expression for: $B is not contained in $A
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 14 Jun 2018 13:38:26 -0000
> On 14 Jun 2018, at 14:23, Eliot Kimber ekimber@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> This seems to work:
>
>      <test>b1 in A: <xsl:value-of select="$B1/ancestor::* = $A"/></test>
>      <test>b2 in A: <xsl:value-of select="$B2/ancestor::* = $A"/></test>

Unfortunately that's a bug that can go undetected for a long time. You're
comparing the string-values of the two nodes, not their node identity. It will
usually give the right answer, but

(a) getting the string value of a node that's near the root of the tree can be
very expensive

(b) two nodes can have the same string value without being the same node

Michael Kay
Saxonica

Current Thread