The best just got better.

A few weeks ago, I blogged about Stephane Rodriguez's diffopc utility, a freeware program for analyzing the difference between OPC packages such as Open XML documents or XPS documents. Now Stephane has upgraded diffopc to a new version he's selling for $39.90 called diffopc+.

Check out the details on the download page, where you can see a summary of the features of diffopc and diffopc+. They key concept in the "plus" version is navigating and validating relationships. Relationships are the glue that holds an OPC package together, and it can be confusing to try to keep track of how relationships bind parts together when you're analyzing the contents of an Open XML document.

But with diffopc+, navigating an OPC package is just like surfing the web: the relationship references are hyperlinks, and you can quickly navigate complex structures. It's as addictive as surfing the web, too -- you'll find yourself rooting around in all sorts of documents just to surf through them and see what's going on inside. Or maybe that's just me. :-)

Diffopc+ also offers all the other features of diffopc, including simple straightforward color-coding of the differences between two OPC packages. The differences are shown at the package/parts level, and also within each part. And one thing that's kind of cool about this utility is that it's a stand-alone EXE written in unmanaged code. In other words, it doesn't use the new packaging API in .NET 3.0 at all -- a great example of how easy it is to work with Open XML documents, regardless of your development platform.

If you're doing Open XML development, this tool is well worth the $40. You can purchase it here. (And no, Stephane didn't send me a free copy -- I paid for it, gladly.)