[ANN] lorax 0.1.0 Released

M

Mike Dalessio

[Note: parts of this message were removed to make it a legal post.]

lorax version 0.1.0 has been released!

* <http://github.com/flavorjones/lorax>

The Lorax is a diff and patch library for XML/HTML documents, based on
Nokogiri.

It can tell you whether two XML/HTML documents are identical, or if
they're not, tell you what's different. In trivial cases, it can even
apply the patch.

It's based loosely on Gregory Cobena's master's thesis paper, which
generates deltas in less than O(n * log n) time, accepting some
tradeoffs in the size of the delta set. You can find his paper at
http://gregory.cobena.free.fr/www/Publications/thesis.html.

This is an early alpha release, so please expect bugs. See the failing
tests for more information.

"I am the Lorax, I speak for the trees."

Changes:

## 0.1.0 (2010-03-09)

* Happy Birthday!
* Diffs and generates patches, and for trivial cases applies patches
correctly.
 
I

Intransition

lorax version 0.1.0 has been released!

* <http://github.com/flavorjones/lorax>

The Lorax is a diff and patch library for XML/HTML documents, based on
Nokogiri.

It can tell you whether two XML/HTML documents are identical, or if
they're not, tell you what's different. In trivial cases, it can even
apply the patch.

Why not in every case?
 
M

Mike Dalessio

[Note: parts of this message were removed to make it a legal post.]

Why not in every case?

Because there are still boogs! :-D

One example: the XPath pointing at the elements involved in the deltas
doesn't take into consideration the fact that other sibling elements may
have been inserted or removed as part of an earlier delta. Another example:
there are edge cases where Lorax can get confused by many identical sibling
nodes interleaved with changing elements (think whitespace in an HTML doc).

I'd like to note that the library uses dependency injection to allow a
modular choice of algorithm. So people with better CS chops than me can take
a whack at it by building their own delta-set generator for their favorite
algorithm, while still taking using the fast subtree signatures.

If you're curious and interested, I'd love to have more eyes and hands on
these issues. Both master and whitespace-fix branches have failing tests
which can tell you where to dive in. The TODO has information on class
responsibilities, algorithmic notes, missing integration tests and a list of
needed features (like an rspec matcher).
 

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
473,770
Messages
2,569,584
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top