RE: [xsl] compare two nodes (the child elements, not the string values) in XSLT 1.0

Subject: RE: [xsl] compare two nodes (the child elements, not the string values) in XSLT 1.0
From: Robby Pelssers <Robby.Pelssers@xxxxxxx>
Date: Wed, 6 Jul 2011 20:58:13 +0200
http://www.w3.org/TR/xpath-functions/#func-deep-equal

-----Original Message-----
From: Robby Pelssers [mailto:Robby.Pelssers@xxxxxxx]
Sent: Wednesday, July 06, 2011 8:57 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] compare two nodes (the child elements, not the string
values) in XSLT 1.0

Try the deep-equal function...
Robby

-----Original Message-----
From: Wolfhart Totschnig [mailto:wolfhart@xxxxxxxxxxxxx]
Sent: Wednesday, July 06, 2011 8:55 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] compare two nodes (the child elements, not the string values)
in XSLT 1.0

Hello,

I have a seemingly simple xslt problem to which I cannot find the
solution. I want to test whether the context node, which is an <author>
element with the form (first?, middle?, last), is equal to one of a set
of <person> elements. By "equal" I mean having the same child elements
and values of these elements. At first, I thought it would be as easy as

test="path/person = ."

But then I realized that the "=" operator compares the string values of
the nodes, such that

<author>
<first>John</first>
<last>Doe</last>
</author>

and

<person>
<last>JohnDoe<last>
</person>

will be evaluated as equal, which I want to avoid. So how can I check,
in XSLT 1.0, whether two nodes are equal in the sense I intend?

Thank you for your help!
Wolfhart

Current Thread