Subject: RE: [xsl] A difference in node builds From: "Michael Kay" <mhk@xxxxxxxxx> Date: Mon, 8 Sep 2003 15:28:18 +0100 |
It seems to me to be very likely that the two nodes differ in the whitespace that they contain. Without seeing more detail, that's all I can really say. I'm not an enthusiast for deep-equal(). I think people have too many different notions of what equality actually means. "Equal modulo whitespace text nodes" is another example of such a notion. Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Vorndran, Charles P > Sent: 08 September 2003 12:36 > To: 'XSL-List@xxxxxxxxxxxxxxxxxxxxxx' > Subject: [xsl] A difference in node builds > > > I am having some difficulties using deep-equal() in Saxon > 7.6.5 and the problem doesn't seem to be in the function. > Instead, the problem seems to be in the nodes that are being > compared and how those nodes are built. > > To verify that deep-equal() works, I created an xsl test > environment that creates two nodes from two xml files on the > file system, using the > document() function. I then compared these nodes with > deep-equal(). When one file is actually a copy of the other, > deep-equal() returns a true on the comparison. When I modify > one of the input files structurally, deep-equal() returns a > false. So, I'm satisfied that deep-equal() works, at least > for what I want. > > The problem is, in the real application I create a node, > NODE1, with data extracted from a larger xml input file, and > compare NODE1 to NODE2 which is imported from a file (FILE1) > using document(). FILE1 was built from a previous run of the > same stylesheet, essentially being derived from a node that > is now represented by and should have been identical to > NODE1. Even though I know that nothing has changed between > runs, deep-equal() indicates that the new NODE1 and the > imported NODE2 are not the same. Yet the files created from > the two nodes, using xsl:result-document and the same output > format, are identical according to diff. > > Another reason why I suspect a node difference is that when I > change the output format to text (using xsl:output > method="text"), the text characters are the same but the > spacing, linefeeds and tabbing are drastically different. > Yeah, I know, whitespace differences shouldn't come into play > here but it does seem to cloud things up a bit. > > So, I guess it's back "How do I inspect a node that is in > memory?" unless someone can give me some other suggestions as > to what's happening. > > Thanks > > Chuck Vorndran > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] A difference in node builds, Vorndran, Charles P | Thread | [xsl] Treating a source document di, Tim Müller-Seydlitz |
Re: [xsl] following-sibling on attr, Vidar S. Ramdal | Date | RE: [xsl] Automatically copying an , Michael Kay |
Month |