Hi, On Sat, August 3, 2013 14:26, Anatol Belski wrote: > Hi, > > > here's the new extension i'd like to propose to be taken into PECL > > http://belski.net/phpz/xmldiff-0.7.3.tar.gz > > > Here's the example of how it can work: > > > $from = "<root><a /></root>"; > $to = "<root><b /></root>"; > $xdiff = new XMLDiff\Memory; > > > $diff = $xdiff->diff($from, $to); > $new = $xdiff->merge($from, $diff); > > > The extension is able to produce diffs of two XML documents and then to > apply the difference to the source document. Whereby the diff is an XML > document containing copy/insert/delete instruction nodes and is human > readable. The diff corresponding to the snippet above would look like > > <?xml version="1.0"?> > <dm:diff xmlns:dm="http://www.locus.cz/diffmark"> > <root> > <dm:delete> > <a/> > </dm:delete> > <dm:insert> > <b/> > </dm:insert> > </root> > </dm:diff> > > > So far three comparsion possibilities are implemented: > > > - DOMDocument objects > - local files, based on the pure libxml functionality > - xml documents in memory, based on the pure libxml functionality > > > Files and memory methods are relatively simple, comparing DOM objects > would of course require some more resources. > > The xmldiff extension is inspired by the perl module DifferenceMarkup, > which can be found under > http://search.cpan.org/~vbar/XML-DifferenceMarkup-1.04/lib/XML/Difference > Markup.pm > . The underlaying library libdiffmark is in public domain. It's bundled > and is used by the xmldiff extension, which itself i'd like to put under > the BSD license. > > Ideas about functionality improvements are highly appreciated. >
any feedback about this one? Regards Anatol -- PECL development discussion Mailing List (http://pecl.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
