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:for-each select="$doc1//node()[not(normalize-space(self::text()) = '')]"> <xsl:value-of select="name()" /><xsl:value-of select="." /> consider the 2 document fragments <x> <a/> </x> <y> <b/> </y> in the first document the nodes x and a and both the text nodes all satisfy 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. David ________________________________________________________________________ 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: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Testing 2 XML documents f, Touchtel | Thread | RE: [xsl] Testing 2 XML documents f, Michael Kay |
[xsl] Cross reference question, Fredrik | Date | RE: [xsl] Testing 2 XML documents f, Bondarenko, Taras |
Month |