|
[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Comparing two XML documents
Subject: Re: Comparing two XML documents
From: Rahil Qamar Yahoo <qamar_rahil@xxxxxxxxxxx>
Date: Fri, 14 Jan 2005 15:52:12 +0000
|
Hi David
Thanks. That was very useful.
Well yeah I didnt include the entire chunks of code. But I've checked
the File 1 in XMLSpy for well-formedness and it didnt complain. So that
shouldnt be an issue. There is quite a bit of XML that has no logical
equivalence in the other file but thats because they come from different
sources which try to model the same concept. I assume there could be
some sort of Rules which could also be established for parsing the two
files.
But you've given me a good pointer to start off my task with. Any other
comments or suggestions would be most appreciated.
Cheers
Rahil
David Carlisle wrote:
It should be relatively easy to turn each of these into some normalised
form using xslt such that you can then just run diff or some other text
file differencing tool.
I can't suggest the exact XSLT that you need as your excerpts didn't
show enough of the structure.
your xml file 1 isn't well formed (multiple top level elements) I assume
there is a surrounding element that you didn't show?
and you said
I have two XML documents which are logically equivalent
but there are several elements for which the equivalence isn't obvious,
eg what corresponds to <level>16</level> in your 2nd format?
howver running
<xsl:template match="code[@type='relationship constraint']">
relationship constraint: <xsl:value-of select="normalize-space(.)"/>
</xsl:template>
<xsl:template match="IMPLIES">
relationship constraint: [<xsl:text/>
<xsl:for-each select="CONCEPT">
<xsl:value-of select="@name"/>
<xsl:if test="postition()!=last()">, </xsl:if>
</xsl:for-each>
<xsl:text>]</xsl:text>
</xsl:template>
will turn
<code type="relationship
constraint">[MildSeverity,ModerateSeverity,SevereSeverity]
</code>
and
<IMPLIES>
<CONCEPT name="MildSeverity" ref="10238"/>
<CONCEPT name="ModerateSeverity" ref="10239"/>
<CONCEPT name="SevereSeverity" ref="10240"/>
</IMPLIES>
both into
relationship constraint: [MildSeverity,ModerateSeverity,SevereSeverity]
which should allow for easy comparison.
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
________________________________________________________________________

|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
| RSS 2.0 |
|
| Atom 0.3 |
|
|