Once it has identified all the differences, it runs custom rules against each, determining whether to merge them or mark them up in the output file as unresolved changes. Alternatively, the result can be configured so that all differences remain marked, providing an opportunity for review before any merges take place.
In DITA, text formatting uses structural markup like em or strong to add styling to text content. DITA Merge handles this markup with specific processing so that you have a clear understanding of where text remains unchanged despite formatting changes. Even where text remains the same, our merge delta format shows you how formatting changed between multiple versions.
Whether you choose to include all changes or just those that conflict across versions, the changes are output in our simple XML-based delta format for easy processing. Designed to be easily transformed using XSLT, our delta format sits lightly within the original DITA content to ensure that your results are as close as possible to the original DITA format.
Merge CALS and HTML tables with ease
DITA tables are complex enough without having to worry about how to merge them. We process CALS and HTML tables to make sure that the results are valid against the table models while still delivering accurate merge results.
Find the change that matters to you, ignore the diffs that don’t
Comparison results can be configured to show in any form you need, whether for automated processing or human review.
When dealing with multiple documents, it’s important to understand their method of creation to ensure the best possible merge. Where a document is passed to multiple editors who all edit at the same time, Concurrent Merge should be used to bring all of the changes into a single place. If the document is passed from one person to the next and each makes successive changes, Sequential Merge provides the best results. We also provide a specific Three-Way merge model for Concurrent Merges created using a branch-and-merge model. This provides additional features specific to a three-way merge scenario.
Automatic or manual change resolution
When the aim of a merge is to reach a new version of a document, you’re often only interested in reviewing the conflicting changes. DITA Merge allows you to automatically ‘accept’ changes that don’t conflict, only marking up those that are in conflict. This reduces the time needed to review the result. Of course if you do want to review all differences between the documents, including those which don’t conflict, that’s still possible. In fact you can determine which changes should be included in the result using our rule-based processing feature.
Version control systems such as Git typically use a line-based tool for merging content during a branch merge. If you’re having issues with invalid DITA following a Git merge using DITA Merge as the merge tool can save you a lot of time spent on conflict resolution.
Version control systems are increasingly used to store not only software source code, but also DITA content such as sources for software documentation, alongside the source code. One of the main reasons for doing this is to enable the documentation to follow the same development workflow as the source code, typically using source branching to document new features as they are developed. When merging these branches back together, most version control systems use a line-based merge tool by default. These are generally good for software source code and developers are used to the techniques needed to resolve conflicts. However, when it comes to DITA content, line-based merge tools can easily leave your DITA in an invalid state, either against the schema you use or even leaving it badly formed so that it can no longer be parsed as DITA.
It is possible to use DITA Merge as the underlying merge tool in your version control system for DITA content. This will prevent incorrect merges that lead to invalid DITA and will eliminate false changes such as changing the order of attributes. Conflicts are represented in an intuitive, easy to resolve format that will result in well-formed DITA to commit back into the repository.
Gathering changes from multiple editors or reviewers
When it comes to reviewing documentation, combining the suggested edits or comments from multiple reviewers can be a time-consuming task. You could make sure that only one person at a time is allowed to make review changes but even then, how do you know who made which changes? To speed things up, DITA Merge enables a concurrent reviewing process. After sending a document out to as many reviewers as you like, DITA Merge will merge the reviewed versions back together into a single document, allowing you to see where multiple people suggested the same changes, where there are conflicting changes, and where simple changes have been made. A configurable ‘rule-processing’ feature allows you to set which types of change to include in the result and which can be automatically accepted (or even rejected). Using DITA Merge in this way gives you full control over the review workflow, saving you valuable time converting all of the review comments into a new revision.
Want to do more?
When you need to find the difference between two versions of DITA files without having to merge them, our DITA Comparison solution comes in handy. Try our DeltaDITA package which bundles up both DITA Compare and DITA Merge giving you the powerful comparison functionality you need coupled with dependable merging.
DITA Merge is a sophisticated approach for reliably recombining multiple DITA documents into a single file.
How do I integrate or embed DITA Merge?
DITA Merge is optimised for integration into enterprise workflow and content management systems. All of its functionality is accessed through Java or REST APIs, which is fully documented and comes with complete, working examples. On top of these API’s we have created plugins for popular XML authoring tools, including oXygen and FrameMaker for seamless content authoring and reviewing.
Can I ignore changes I know about?
Yes, with DITA Merge you can apply custom rules to specify what is merged automatically and what is marked up for further attention. Its sophisticated rules enable you to reference any aspect of the XML structure and attributes, to specify where conflicts may be automatically resolved and what should take priority.
Rules may reference authors and editors, specific positions within the document tree and even table elements.
How is DITA Merge different from other diff tools?
Rather than comparing line-by-line, DITA Merge identifies and matches up all the elements across your DITA documents, so it has a meaningful and dependable basis for comparing and merging. This pairing process uses a combination of element names, parent names, position in the XML tree and the structure of child elements.
How are found differences represented?
DITA Merge outputs well-formed, valid DITA files so the resulting output is compatible with your existing DITA tools.
DITA Merge has been designed to make the document merge process consistent and straightforward. Any changes which cannot be merged automatically are marked up clearly in the DITA code for post processing review. Where this involves tables, a sophisticated process works out the best way of showing all the changes, while still generating a valid table.
How do I buy a DITA Merge license?
So you’re only paying for what you need we offer a range of license models dependent on the system architecture you’re using and your current use case. Fill in our get a quote form to receive more details on your pricing options.