Re: [xsl] Testing 2 XML documents for equality - a solution

Subject: Re: [xsl] Testing 2 XML documents for equality - a solution
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 30 Mar 2005 16:55:06 +0100
I don't think the stylesheet really works.
For example for attribute nodes you just concatenate the names and
values so even if you could be sure that the order of attribute nodes
was preserved (you can't be sure of this) then
x="2" and x2="" would be considered equal.

Also your ignore white space test ignores far to much:

= '')]">
            <xsl:value-of select="name()"
/><xsl:value-of select="." />

consider the 2 document fragments



in the first document the nodes x and a and both the text nodes all
normalize-space(self::text())= ''
so the for-each will be empty.
Similarly in the second fragment.

so presumably these documents will compare equal, which seems strange.

Conversely you can not be sure that
<x a="2" b="3"/> will compare equal to
<x a="2" b="3"/>
as teh attribute may be reported in one order for doc1 and teh other
order for doc2.


This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

Current Thread