command line tool for comparing XML files

C

Corno

Hi all,

Does anybody know a command line tool (linux or windows) that can compare 2
XML files. There's only 1 extra requirement that makes it a bit more
complicated: the order of attributes or elements within an element is of no
importance, and so the tool should still report that 2 XML files are equal
even though the order is different.

Corno
 
D

Dimitre Novatchev [MVP XML]

Corno said:
Thanks for the suggestion. I tried it out, it had the feature I requested.
But unfortunately, it doesn't seem to give a return value if the files are
different. I need that to automate a build process. Do you know any other
tool that does this?

You can very easily modify the source code of the XMLDiff console
application (in the Samples folder) so that Class1.Main returns an int and
you will write the necessary "return" statements as you wish.

This sample app now outputs the strings:

"Files are identical."

and

"Files are different."


Cheers,

Dimitre Novatchev [XML MVP],
FXSL developer, XML Insider,

http://fxsl.sourceforge.net/ -- the home of FXSL
Resume: http://fxsl.sf.net/DNovatchev/Resume/Res.html
 
M

Mikhail Grouchinsky

Corno said:
Hi all,

Does anybody know a command line tool (linux or windows) that can compare 2
XML files. There's only 1 extra requirement that makes it a bit more
complicated: the order of attributes or elements within an element is of no
importance, and so the tool should still report that 2 XML files are equal
even though the order is different.

Corno

Is the generic problem of comparing two unordered labeled trees NP-complete?
I think it had been proven to be NP-complete.
 
R

Richard Tobin

Does anybody know a command line tool (linux or windows) that can compare 2
XML files. There's only 1 extra requirement that makes it a bit more
complicated: the order of attributes or elements within an element is of no
importance, and so the tool should still report that 2 XML files are equal
even though the order is different.
[/QUOTE]
Is the generic problem of comparing two unordered labeled trees NP-complete?
I think it had been proven to be NP-complete.

Sorting attributes into Unicode order is not NP-complete :)

-- Richard
 
C

Corno

Mikhail Grouchinsky said:
"Corno" <corno@%spam%.dds.nl> wrote in message

Is the generic problem of comparing two unordered labeled trees NP-complete?
I think it had been proven to be NP-complete.

It would seem to me that it's not; you could first write them in (a)
canonical form and then compare them.

Corno
 
M

Mikhail Grouchinsky

It would seem to me that it's not; you could first write them in (a)
canonical form and then compare them.

Corno

You said order of ELEMENTS doesn't matter too.

EX:

<a>
<c/>
<b>
<c/>
</b>
<b>
<d/>
</b>
</a>

and

<a>
<b>
<d/>
</b>
<c/>
<b>
<c/>
</b>
</a>

are equal (per your first e-mail)

So simple canonicalization is not going to help you as it doesn't
change the order of elements.

In other hand to compare two elements which have children
but have same name and same set of attributes you will run into same
tree comparison problem (you have to compare two subtrees of these
elements).

Anyway I should have been more clear in my first post

It has been proven that computing the edit distance for unordered
labeled trees is NP-complete.

Zhang, R. Statman, D. Shasha, "On the editing distance between
unordered labeled trees",

It seems you are interested only in matching two unordered labeled
trees.
(Which is actually making sure that editing distance is zero).

This task could be easier, but I'm not sure about that.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top