command line tool for comparing XML files

Corno (2)

Usenet Archive
Joined
Feb 15, 2004
Messages
3
Reaction score
0
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
 

Dimitre Novatchev MVP XML

Usenet Archive
Joined
Feb 11, 2004
Messages
43
Reaction score
0
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
 

Mikhail Grouchinsky

Usenet Archive
Joined
May 13, 2003
Messages
18
Reaction score
0
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.
 

Richard Tobin

Usenet Archive
Joined
Jan 6, 2000
Messages
4,251
Reaction score
0
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
 

Corno (2)

Usenet Archive
Joined
Feb 15, 2004
Messages
3
Reaction score
0
Mikhail Grouchinsky said:
"Corno" wrote:

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
 

Mikhail Grouchinsky

Usenet Archive
Joined
May 13, 2003
Messages
18
Reaction score
0
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

No members online now.

Forum statistics

Threads
548,208
Messages
3,104,802
Members
249,594
Latest member
henrywalsh

Latest Threads

Top