RE: Comparing two XML files using JDOM
"Michael Kay" <[email protected]>
| Newsgroups | gmane.comp.java.jdom.general |
|---|---|
| Message-ID | <029201c8890a$dd0a09c0$6401a8c0@turtle> |
First you need to define what you mean by duplicate - ie. what variations you want to tolerate (e.g. order of attributes, choice of namespace prefixes, insignificant whitespace, whether to ignore comments, use or non-use of entities, Unicode normalization). For many purposes a good approach is to convert both documents into XML Canonical Form and then compare them lexically. There's the deep-equal() function in XPath which defines one particular set of rules, and Saxon has a saxon:deep-equal() function that allows you more choice over the rules you want to apply. Michael Kay http://www.saxonica.com/ _____ From: [email protected] [mailto:[email protected]] On Behalf Of [email protected] Sent: 18 March 2008 13:59 To: [email protected]; [email protected]; [email protected] Subject: RE: [jdom-interest] Comparing two XML files using JDOM My objective to find duplicate xml files or elements & generate a report (PDF) _____ From: [email protected] [mailto:[email protected]] On Behalf Of Paul Libbrecht Sent: Tuesday, March 18, 2008 6:31 PM To: [email protected]; [email protected] interest Subject: Re: [jdom-interest] Comparing two XML files using JDOM Oh but if it's just about equality, and not reporting differences, then I have already implemented one. Vijay, what was your objective? paul Le 18 mars 08 à 13:10, [email protected] a écrit : XMLUnit does comparisons, and you can plug in differnce-listners that can 'simulate' equal values even if they're not Paul Libbrecht <[email protected]> Sent by: [email protected] 03/18/2008 11:09 AM To <[email protected]> cc [email protected] bcc Subject Re: [jdom-interest] Comparing two XML files using JDOM Mmmh... I doubt there... it's all loaded in memory, just as JDOM. Both seem to be somewhat lightweight though (compared to monsters such as Xerces' DOM). You'd need quite an elaborate diff engine to do something that does not load in memory, SAX or even StAX parsing is not enough there since you may need to go backwards. I have made no tests with big files. Do you have a solution to propose? Do others? paul Le 18 mars 08 à 09:47, <[email protected]> a écrit : Paul, How about performance for parsing/comparing two large XML documents using 3dm tool? Vijay _____ From: Paul Libbrecht [mailto:[email protected]] Sent: Tue 3/18/2008 2:08 PM To: Vijayaraghavan Subramaniam (WT01 - Technology,Media,Transportation&Services) Cc: [email protected] Subject: Re: [jdom-interest] Comparing two XML files using JDOM I've never found such but 3dm is a tool that can do XML diffing and with a few lines of code you plug the jdom document through a sax stream into 3dm. paul Le 18 mars 08 à 07:50, <[email protected]> a écrit : Hi All, Is there any utility class exists in JDOM to compare two XML files. Regards, Vijay The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com _______________________________________________ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/[email protected] The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com _______________________________________________ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/[email protected] <smime.p7s> The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. www.wipro.com _______________________________________________ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/[email protected]