It’s the most wonderful time of the year where you re-evaluate how you’re spending that precious time of yours. On these twelve days of comparisons I’m going to clue you in on how to speed up finding crucial change between XML and JSON files.


On the first day I give you XML Compare

On the first day of comparisons, I’m sending you the perfect tool on how to compare any two XML files. This is the perfect solution for anyone needing to publish, review and represent change between two XML documents. Whether that’s standard XML or your own schema as long as it’s structured XML there’s nothing XML Compare can’t handle.

Watch our video as we take less than 2 minutes to compare two XML files or head over to our online demo to start comparing your own files.

Compare JSON data on your second day

On the second day of comparisons, I bring you two JSON files needing comparison. There’s a lot that’s said about the advantages of JSON and I’m sure there’s many heated debates on if XML or JSON are better. We’ve even argued the topic ourselves. But here at DeltaXML and on the 12 days of comparisons we choose both! Using the DeltaJSON app makes comparing two JSON files as easy as receiving two turtle days by your true love.

Third day? Let’s compare three XML files

On the third day of comparisons come three feathery pages of XML files. Let’s compare and combine three or more XML files with XML Merge. This is great for those working on team revisions, or if you want to compare multiple versions of the same document. Understanding the difference between 2 and 3-way merge is also an advantage in knowing what you need from a comparison tool. Let’s have a look.

On the fourth day we’re comparing S1000D

And on the fourth day of comparisons like a calling bird we’re taking to the skies to make sure your XML aerospace files are kept up-to-date. This is one industry where you absolutely can’t rely solely on human eyesight, if there’s been changes within your aerospace documentation you need to know what they were. Even the smallest change makes a difference and XML Compare helps here too.

… and on the fifth we’re improving git merging

Finding out that our XML Merge and DeltaJSON product can be used for merging git is like being gifted five gold rings. It’s possible to integrate our XML and JSON aware merge products into the git merge process as either a merge driver or merge tool.

There are two common usage or interaction patterns we have found relating to the use of merge drivers and merge tools:

  • The merge driver produces the line-based conflict markers and then the merge tool reads the result file from the driver, interprets the markers and provides the user with selection capabilities based on this interpretation. We know of two merge tools which take this approach: MS Visual Studio Code and TkDiff.
  • The merge tool, when it is invoked, is supplied with the filename of the driver result, but also the names of the original inputs to the merge driver. It can then re-merge the inputs and perhaps base its user interface on internal data structures from its own merge algorithm. Examples of tools which re-merge and do not seem to use the driver results include: Araxis Merge, P4Merge, and OxygenXML.

Read our full discussion on where we fit with git merge or find out how you can create automatic merge conflict resolving for git.

On the sixth day we have DocBook Compare

DocBook is a semantic markup language for technical documentation well suited to books and papers about computer hardware and software. Understanding the differences between different versions of the documentation you’re working on is incredibly important. The smallest, simplest change can create confusion that leads to hours, days or weeks of headaches. There’s no need to be relying on vision alone when you have DocBook Compare.

Seven DITA files need comparing? DITA Merge is on the seventh day

For those unaware, DITA stands for The Darwin Information Typing Architecture specification. The specification defines a set of document types for authoring and organising topic-oriented information, as well as a set of processes for combining, extending, and constraining document types. Whether you’re dealing with three, seven or seventy DITA files, DITA Merge will intelligently align your documents for powerful comparison. And while the tool combines your changes, you have the ultimate decision on whether you accept or reject the change it shows you.

On the eighth day we’re having a rest by comparing only two DITA files

Sit back and relax on the eighth day with DITA Compare. If you’re needing to compare only two DITA files, DITA Compare will analyse the structure of your files to compare and identify real changes and edits.

Dancing on the ninth day while comparing XML Data

If you’re working with XML containing mainly data such as dates, monetary values, numbers with defined units or short text descriptions and not XML that contains long text strings and elements with mixed content, i.e. both text and other elements, XML Data Compare will help with your comparison needs.

For XML you rarely review yourself and instead is for computer reading and processing, our XML Data Compare tool can fit very nicely within your systems and processes. A good example of where XML Data compare fits in is within the PIM market. Here the tool helps keep product information both up-to-date and accurate, without you having to intervene.

… and on the tenth day we’re leaping with JSON Merge

If you’ve got more than two JSON files you need comparing on the tenth day (or any day before or after) this is where JSON Merge helps. Just like with JSON Compare our app makes it simple to find the differences between three JSON files. And because we’re always giving, use our REST API if you’re needing to compare even more files.

Hearing the music on the eleventh day by improving JSON Patch with Graft

When only a part of a JSON document has changed, JSON Patch can be a quicker way of finding change within your files. Not only have we improved upon the widely known JSON patch but have created JSON graft. This service is far more useful than a standard patch which can only apply a patch to the original file. We consider Graft to be a more robust and extensible version as you can generate (and customise) a changeset which can be applied to a Graft target.

Consider this example – a company’s phone system with configuration stored in JSON. You’ve hired some new employees and need to add their details to everyone’s phonebook. However, each phone’s configuration file is slightly different. You can generate a full-context JSON Delta from one phone’s configuration to an updated version with the new phone numbers. This is used as the “Changeset” when using our Graft tool to apply these changes to the various other configuration files. Try it for yourself.

And on the twelfth day we’re reporting our wins by comparing XBRL

XBRL is the standard for digital business reporting. The business reporting standard said it best:

“XBRL lets reporting information move between organisations rapidly, accurately and digitally.”

And when content is being moved around so quickly changes can be missed, unless of course you’re including using XML Compare in the process.

Merry comparisons to all

And there you have it, the 12 days of comparisons. Whether you’re working with XML or JSON it’s evident that content will change, be moved around, sent to various people and changed and moved around again. Human error can play a mighty role in slowing down production or processes but by inserting a trusty comparison tool with 100% reliability it’s like you’re giving yourself a golden wrapped present with a big red bow. If you think you would benefit from a comparison solution we’re always here to give you a helping hand.