Subject: Re: [xsl] deep-equal behaves differently when node is stored in a variable From: "Michael Kay michaelkay90@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 15 Apr 2025 22:12:41 -0000 |
Or if you really want to variable to contain a copy of the node, rather than the original, then in place of xsl:sequence you could do <xsl:variable name="person" as="node()"> <xsl:copy-of select="."/> </xsl:variable> But I find it hard to think of a good reason for making a copy: people often use xsl:copy-of unnecessarily when xsl:sequence is more direct. Michael Kay Saxonica > On 15 Apr 2025, at 22:15, Martin Honnen martin.honnen@xxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > On 15/04/2025 23:11, Wolfhart Totschnig wolfhart.totschnig@xxxxxxxxxxx wrote: >> Dear list, >> >> I would like to ask for your help with the following puzzling behavior that I have encountered. The situation is that I am testing whether the context node, which is a <person> element with child elements (first?, middle?, last), is deep-equal to one of a set of other nodes. I found the following solution: >> >> some $p in //person satisfies deep-equal($p, .) >> >> However, when I store the context node in a variable, like so: >> >> <xsl:variable name="person"> >> \xA0\xA0 <xsl:copy-of select="."/> >> </xsl:variable> > > > That creates a document node containing a copy of the context node, so you either need > > <xsl:variable name="person" select="."/> > > or, if you, for reasons I don't see, want to use the inner selection, use > > <xsl:variable name="person" as="node()"> > > <xsl:sequence select="."/> > > </xsl:variable> > >> >> and then make the comparison with the variable, like so: >> >> some $p in //person satisfies deep-equal($p, $person) >> >> then the test comes out false. Why is that? Why does it make a difference whether I store the context node in a variable or call it directly? >> >> > A document node is not deep-equal to an element node.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] deep-equal behaves differ, Martin Honnen martin | Thread | Re: [xsl] deep-equal behaves differ, Wolfhart Totschnig w |
Re: [xsl] deep-equal behaves differ, Martin Honnen martin | Date | Re: [xsl] deep-equal behaves differ, Wolfhart Totschnig w |
Month |