You could look at "xcmp" which does a compare (not a diff) in linear time and memory using StAX.
This is NOT a "diff" but the technique (as Manos mentions) is using a streaming processor and comparing data as you get it.
You could use the general concept to do some kinds of diffs as long as the lookahead isnt too great.
Doing a deep-diff is much more complex and also very specific to your needs. I suspect with the sizes your quoting the only feasable way would be using an XML Database.
xcmp:
http://www.xmlsh.org/CommandXcmp
Source:
http://xmlsh.svn.sourceforge.net/viewvc/xmlsh/trunk/src/commands/org/xmlsh/commands/internal/xcmp.java?revision=621&view=markup
----------------------------------------
David A. Lee
http://www.xmlsh.org
-----Original Message-----
From: Manos Batsis [mailto:]
Sent: Monday, June 27, 2011 7:40 PM
To: XML Developers List
Subject: Re: [xml-dev] XML diff tool / algorithm
On 06/28/2011 01:42 AM, Johannes.Lichtenberger wrote:
> does someone use an XML-diff tool, which can handle large XML instances
> up to several GBs and more?
since a useful diff varies per case, i'd find it easier to write a SAX
filter or STX script to produce what i want VS playing with a tool for
large docs.
hth,
Manos
_______________________________________________________________________
XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.
[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe:
subscribe:
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php