DeltaXML Corporate Logo
 

Press button (top right)
to see the comparisons.

 Back Compare DITA Topics

Welcome to the DeltaXML Online Demo

This page uses the XML Compare API to generate different types of results. It provides examples of the results that you could achieve using our toolkit. These are not the only output types you could create but they give you a flavour of common uses of XML Compare.

If you would like to find out more about what a full release contains, contact us and ask for a downloadable trial version.

Let's get started. Take a look at the top bar above the XML code. Depending on what demo you have selected will determine how many views you see. There are up to four views to switch from:

Side-by-Side, Inline Report, PDF and Raw Delta.

Let’s look at more detail at each of the views. Press 'continue' to begin.

Side by Side Report

This view is great if you want to see changes in their original context giving you an understanding of which word, phrase or sentence has been changed. Use the arrow buttons on the toolbar or up/down cursor-keys to move forward and back between changes. Elements may be folded or expanded to make it easier to see the context of a change.

The left and right views in the report correspond to the contents of the A and B documents respectively. The space in each of the document views is adjusted to ensure that elements and attributes are properly aligned vertically in both views. Contents that exists in one document but not the other is highlighted. The ancestor elements of a change have lighter highlighting.

When a change is selected, its position is highlighted in both the A (left-side) and the B (right-side) document views. The number of the selected change is shown in the toolbar, the element-path to the change is shown just below the toolbar.

Inline Report

With DeltaXML at its heart, the folding report is a great way to show change clearly and quickly. 

The inline report is created by applying XSLT transformations to the delta file to convert it into an HTML format. This XSLT ‘pipeline’ is the standard way of configuring XML Compare for your own use. For more details on specifying a pipeline, go here.

As the name suggests the report can fold and expand. This is useful for when you only want to see a certain section of your file making it easy to find the necessary changes.

Inline Report Cont.

If you want to see all the changes the delta has found but don't want to sieve through the whole document, use the left and right arrows to jump to the next and previous changes. If it's a specific change you want to see, use the sidebar to the left which lists all the changes that have been found. From here you can jump to any change. This would be especially helpful with large files.

Inline Report Cont.

Click the switch style button to change text formatting and background colours.

PDF Report

Where XML document types are published to PDF, you can make use of the changes XML Compare finds and publish them in the same way. For example, output from DITA Compare can be used with the standard DITA Open Toolkit to create a PDF containing change highlighting.

Raw Delta

The delta format is the native output of XML Compare. For each element it shows whether it was present in the inputs (called A and B) using the deltaV2 attribute. This has values A, B, A=B, and A!=B. If an element is present in both inputs versions, the delta attribute tells you whether they were the same (A=B) or different (A!=B).

For text changes, the text is wrapped inside a deltaxml:textGroup element so that the deltaV2 attributes can be added to it e.g.

Attribute changes are shown by converting changed attributes into elements inside a deltaxml:attributes wrapper e.g.

It’s as simple as that. You can read about the delta format in more detail here.

What Next?

Experiment with the online demo using your own XML.

The Side-by-side and Inline reports shown here were created by applying XSLT transformations to the delta file. PDFs were generated from XML Compare output using the relevant toolkits for the document type.

This XSLT pipeline is the standard way of configuring XML Compare for a specific document type and to produce a customised output format. For more details on specifying a pipeline, go here.

If you would like to discover how others are using our products you can go here. Or if you would like to learn more on how to obtain XML Compare to integrate into your own projects please contact

phill.barratt@deltaxml.com

Back   Continue

More Questions?

Contact Us

Watch Video

Side by Side Inline Report PDF Raw Delta
This is the Help Bar. Hover over different areas of the page to receive relevant information..
<?xml version="1.0" encoding="UTF-8"?>
<topic xmlns:deltaxml="http://www.deltaxml.com/ns/well-formed-delta-v1"
       xmlns:ditaarch="http://dita.oasis-open.org/architecture/2005/"
       xmlns:dxx="http://www.deltaxml.com/ns/xml-namespaced-attribute"
       xmlns:dxa="http://www.deltaxml.com/ns/non-namespaced-attribute"
       deltaxml:deltaV2="A!=B"
       id="topic-1"
       ditaarch:DITAArchVersion="1.1"
       domains="(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d)                          (topic ut-d) (topic indexing-d)"
       class="- topic/topic "
       deltaxml:version="2.0"
       deltaxml:content-type="full-context">
   <title deltaxml:deltaV2="A=B" class="- topic/title ">DeltaXML DITA Compare - taking control of document changes </title>
   <body deltaxml:deltaV2="A!=B" class="- topic/body ">
      <p deltaxml:deltaV2="A=B" class="- topic/p ">This sample document shows some of the benefits of DeltaXML DITA Compare, which shows revisions in all your DITA documents. DeltaXML DITA Compare takes the pain out of tracking and documenting changes in all DITA documents.</p>
      <p deltaxml:deltaV2="A=B" class="- topic/p ">You can simply execute DeltaXML DITA Compare and provide it with two versions of, say, a DITA topic and it will generate a new topic file which shows all the changes. Added, deleted and changed text will be highlighted. This simple example shows how this works.</p>
      <p deltaxml:deltaV2="A!=B" class="- topic/p ">
         <deltaxml:textGroup deltaxml:deltaV2="A!=B">
            <deltaxml:text deltaxml:deltaV2="A">This document represents Version 1. You will see that when 'Version 1' is changed to 'Version 2', the change is shown.</deltaxml:text>
            <deltaxml:text deltaxml:deltaV2="B">This document represents Version 2. You will see that when 'Version 1' is changed to 'Version 2', the change is shown.</deltaxml:text>
         </deltaxml:textGroup>
      </p>
      <p deltaxml:deltaV2="A" class="- topic/p ">This paragraph appears only in Version 1 and not in Version 2.</p>
      <section deltaxml:deltaV2="A!=B" class="- topic/section ">
         <title deltaxml:deltaV2="A=B" class="- topic/title ">A Section</title>
         <p deltaxml:deltaV2="A=B" class="- topic/p ">When a topic has sections, each section will be aligned with a section in the other document and not to a paragraph.</p>
         <p deltaxml:deltaV2="B" class="- topic/p ">This paragraph is the same as the paragraph before/after it but is not aligned because the first is in a section and the second is outside the section.</p>
      </section>
      <section deltaxml:deltaV2="A!=B" class="- topic/section ">
         <title deltaxml:deltaV2="A=B" class="- topic/title ">Benefits</title>
         <p deltaxml:deltaV2="A" class="- topic/p ">This paragraph is the same as the paragraph before/after it but is not aligned because the first is in a section and the second is outside the section.</p>
         <p deltaxml:deltaV2="A!=B" class="- topic/p ">Here are some of the benefits of using DeltaXML DITA Compare:<ul deltaxml:deltaV2="A!=B"
                id="ul_d10d9fd1-a717-4ab4-8164-27005e2c923c"
                class="- topic/ul ">
               <li deltaxml:deltaV2="A=B" class="- topic/li ">An author does not need to set up revision flags to show where changes have been made</li>
               <li deltaxml:deltaV2="A=B" class="- topic/li ">You can decide when publishing whether to show changes between the current document and the last major or minor release, or any version in between</li>
               <li deltaxml:deltaV2="A=B" class="- topic/li ">Your own specialization of DITA elements is preserved, so the quality of your generated output is preserved</li>
               <li deltaxml:deltaV2="A!=B" class="- topic/li ">
                  <deltaxml:textGroup deltaxml:deltaV2="A!=B">
                     <deltaxml:text deltaxml:deltaV2="A">You only need to add two lines to your ditaval file to show changes in your published documents</deltaxml:text>
                     <deltaxml:text deltaxml:deltaV2="B">You only need to add two lines to your ditaval file, specifying the text decoration for added and deleted text, to show changes in your published documents</deltaxml:text>
                  </deltaxml:textGroup>
               </li>
               <li deltaxml:deltaV2="A!=B" class="- topic/li ">
                  <deltaxml:textGroup deltaxml:deltaV2="A!=B">
                     <deltaxml:text deltaxml:deltaV2="A">The output generated by DeltaXML DITA Compare is a DITA document which you can edit in any way you choose, perhaps to fine-tune the changes that you want to show</deltaxml:text>
                     <deltaxml:text deltaxml:deltaV2="B">The output generated by DeltaXML DITA Compare is a DITA document which you can edit in any way you choose, for example to fine-tune the changes that you want to show</deltaxml:text>
                  </deltaxml:textGroup>
               </li>
               <li deltaxml:deltaV2="A=B" class="- topic/li ">You can show exactly which words have been added and deleted or you can simply highlight added words.</li>
            </ul>
         </p>
      </section>
      <section deltaxml:deltaV2="A!=B" class="- topic/section ">
         <title deltaxml:deltaV2="A=B" class="- topic/title ">Tables</title>
         <p deltaxml:deltaV2="A=B" class="- topic/p ">Here is a an example of a table which has been changed:</p>
         <table deltaxml:deltaV2="A!=B"
                id="table_005f4453-f5e1-4ad3-93ee-43b5f94ba2d7"
                class="- topic/table "
                frame="none">
            <title deltaxml:deltaV2="A=B" class="- topic/title ">Table Example</title>
            <tgroup deltaxml:deltaV2="A!=B" cols="3" class="- topic/tgroup ">
               <colspec deltaxml:deltaV2="A=B"
                        colname="c1"
                        colnum="1"
                        class="- topic/colspec "/>
               <colspec deltaxml:deltaV2="A=B"
                        colname="c2"
                        colnum="2"
                        class="- topic/colspec "/>
               <colspec deltaxml:deltaV2="A=B"
                        colname="newCol3"
                        colnum="3"
                        class="- topic/colspec "/>
               <thead deltaxml:deltaV2="A=B" class="- topic/thead ">
                  <row class="- topic/row ">
                     <entry class="- topic/entry ">DITA Topic element</entry>
                     <entry class="- topic/entry ">Are changes shown?</entry>
                     <entry class="- topic/entry ">Comment</entry>
                  </row>
               </thead>
               <tbody deltaxml:deltaV2="A!=B" class="- topic/tbody ">
                  <row deltaxml:deltaV2="A=B" class="- topic/row ">
                     <entry class="- topic/entry ">Paragraph &lt;p&gt;</entry>
                     <entry class="- topic/entry ">Yes</entry>
                     <entry class="- topic/entry ">Every added or deleted word is wrapped in a phrase &lt;ph&gt; element with a rev attribute to indicate if it is added or deleted.</entry>
                  </row>
                  <row deltaxml:deltaV2="A=B" class="- topic/row ">
                     <entry class="- topic/entry ">Section &lt;section&gt;</entry>
                     <entry class="- topic/entry ">Yes</entry>
                     <entry class="- topic/entry ">Changes shown within each paragraph or other content of the section.</entry>
                  </row>
                  <row deltaxml:deltaV2="A=B" class="- topic/row ">
                     <entry class="- topic/entry ">Lists &lt;ol&gt; or &lt;ul&gt;</entry>
                     <entry class="- topic/entry ">Yes</entry>
                     <entry class="- topic/entry ">Changes shown within each list item &lt;li&gt;</entry>
                  </row>
                  <row deltaxml:deltaV2="A!=B" class="- topic/row ">
                     <entry deltaxml:deltaV2="A=B" class="- topic/entry ">Table &lt;table&gt;</entry>
                     <entry deltaxml:deltaV2="A=B" class="- topic/entry ">Yes</entry>
                     <entry deltaxml:deltaV2="A!=B" class="- topic/entry ">
                        <deltaxml:textGroup deltaxml:deltaV2="A!=B">
                           <deltaxml:text deltaxml:deltaV2="A">Changes shown within the text content of each cell of the table. DeltaXML DITA Compare processes the structure of tables so these are handled intelligently.</deltaxml:text>
                           <deltaxml:text deltaxml:deltaV2="B">Changes shown within the text content of each cell of the table. DeltaXML DITA Compare understands the structure of tables so these are handled intelligently.</deltaxml:text>
                        </deltaxml:textGroup>
                     </entry>
                  </row>
               </tbody>
            </tgroup>
         </table>
      </section>
      <section deltaxml:deltaV2="A=B" class="- topic/section ">
         <title class="- topic/title ">Summary</title>
         <p class="- topic/p ">DeltaXML DITA frees editors to work on documents without having to track where they are making changes. Simply by comparing either minor or major revisions using DeltaXML DITACompare, revision flags are added and reviewers and customers can see exactly where changes have been made. And because DeltaXML DITA Compare generates standard DITA documents, you can edit them and publish changes using your existing publishing infrastructure.</p>
      </section>
   </body>
</topic>
FoldExpand# of 8
 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"http://docs.oasis-open.org/dita/v1.1/OS/dtd/topic.dtd" []>
<topicid="topic-1">
<title>...</title>
<body>
<p>...</p>
<p>...</p>
<p>This document represents Version 2. You will see that when 'Version 1' is changed to 'Version 2', the change is shown.</p>
<!--<p>You can use ID attributes to control the alignment of paragraphs, but this is not      necessary and DeltaXML will align paragraphs even without these ID attributes, based on the paragraph content.</p>-->
<p>This paragraph appears only in Version 1 and not in Version 2.</p>
<section>
<title>A Section</title>
<p>...</p>
<p>This paragraph is the same as the paragraph before/after it but is not aligned because the first is in a section and the second is outside the section.</p>
</section>
<section>
<title>Benefits</title>
<p>This paragraph is the same as the paragraph before/after it but is not aligned because the first is in a section and the second is outside the section.</p>
<p>Here are some of the benefits of using DeltaXML DITA Compare:<ul id="ul_d10d9fd1-a717-4ab4-8164-27005e2c923c">
<li>...</li>
<li>...</li>
<li>...</li>
<li>You only need to add two lines to your ditaval file, specifying the text decoration for added and deleted text, to show changes in your published documents</li>
<li>The output generated by DeltaXML DITA Compare is a DITA document which you can edit in any way you choose, for example to fine-tune the changes that you want to show</li>
<li>...</li>
</ul>
</p>
</section>
<section>
<title>Tables</title>
<p>...</p>
<table frame="none" id="table_005f4453-f5e1-4ad3-93ee-43b5f94ba2d7">
<title>Table Example</title>
<tgroup cols="3">
<colspec colnum="1" colname="c1"/>
<colspec colnum="2" colname="c2"/>
<colspec colnum="3" colname="newCol3"/>
<thead>...</thead>
<tbody>
<row>...</row>
<row>...</row>
<row>...</row>
<row>
<entry colname="c1">...</entry>
<entry colname="c2">Yes</entry>
<entry colname="newCol3">Changes shown within the text content of each cell of the table. DeltaXML DITA Compare understands the structure of tables so these are handled intelligently.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>...</section>
</body>
</topic>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"http://docs.oasis-open.org/dita/v1.1/OS/dtd/topic.dtd" []>
<topicid="topic-1">
<title>...</title>
<body>
<p>...</p>
<p>...</p>
<p>This document represents Version 1. You will see that when 'Version 1' is changed to 'Version 2', the change is shown.</p>
<!--<p>You can use ID attributes to control the alignment of paragraphs, but this is not      necessary and DeltaXML will align paragraphs even without these ID attributes .</p>-->
<p>This paragraph appears only in Version 1 and not in Version 2.</p>
<section>
<title>A Section</title>
<p>...</p>
<p>This paragraph is the same as the paragraph before/after it but is not aligned because the first is in a section and the second is outside the section.</p>
</section>
<section>
<title>Benefits</title>
<p>This paragraph is the same as the paragraph before/after it but is not aligned because the first is in a section and the second is outside the section.</p>
<p>Here are some of the benefits of using DeltaXML DITA Compare:<ul id="ul_d10d9fd1-a717-4ab4-8164-27005e2c923c">
<li>...</li>
<li>...</li>
<li>...</li>
<li>You only need to add two lines to your ditaval file to show changes in your published documents</li>
<li>The output generated by DeltaXML DITA Compare is a DITA document which you can edit in any way you choose, perhaps to fine-tune the changes that you want to show</li>
<li>...</li>
</ul>
</p>
</section>
<section>
<title>Tables</title>
<p>...</p>
<table frame="none" id="table_005f4453-f5e1-4ad3-93ee-43b5f94ba2d7">
<title>Table Example</title>
<tgroup cols="3">
<colspec colnum="1" colname="c1"/>
<colspec colnum="2" colname="c2"/>
<colspec colnum="3" colname="newCol3"/>
<thead>...</thead>
<tbody>
<row>...</row>
<row>...</row>
<row>...</row>
<row>
<entry colname="c1">...</entry>
<entry colname="c2">Yes</entry>
<entry colname="newCol3">Changes shown within the text content of each cell of the table. DeltaXML DITA Compare processes the structure of tables so these are handled intelligently.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>...</section>
</body>
</topic>
FoldExpandSwitch Style# of 0
 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"http://docs.oasis-open.org/dita/v1.1/OS/dtd/topic.dtd" []>
<topic id="topic-1">
<title>...</title>
<body>
<p>...</p>
<p>...</p>
<p>This document represents Version 21. You will see that when 'Version 1' is changed to 'Version 2', the change is shown.</p>
<!--<p>You can use ID attributes to control the alignment of paragraphs, but this is not      necessary and DeltaXML will align paragraphs even without these ID attributes, based on the paragraph content.</p>-->
<p>This paragraph appears only in Version 1 and not in Version 2.</p>
<section>
<title>A Section</title>
<p>...</p>
<p>This paragraph is the same as the paragraph before/after it but is not aligned because the first is in a section and the second is outside the section.</p>
</section>
<section>
<title>Benefits</title>
<p>This paragraph is the same as the paragraph before/after it but is not aligned because the first is in a section and the second is outside the section.</p>
<p>Here are some of the benefits of using DeltaXML DITA Compare:<ul id="ul_d10d9fd1-a717-4ab4-8164-27005e2c923c">
<li>...</li>
<li>...</li>
<li>...</li>
<li>You only need to add two lines to your ditaval file, specifying the text decoration for added and deleted text, to show changes in your published documents</li>
<li>The output generated by DeltaXML DITA Compare is a DITA document which you can edit in any way you choose, for exampleperhaps to fine-tune the changes that you want to show</li>
<li>...</li>
</ul>
</p>
</section>
<section>
<title>Tables</title>
<p>...</p>
<table id="table_005f4453-f5e1-4ad3-93ee-43b5f94ba2d7" frame="none">
<title>Table Example</title>
<tgroup cols="3">
<colspec colnum="1" colname="c1"/>
<colspec colnum="2" colname="c2"/>
<colspec colnum="3" colname="newCol3"/>
<thead>...</thead>
<tbody>
<row>...</row>
<row>...</row>
<row>...</row>
<row>
<entry colname="c1">...</entry>
<entry colname="c2">Yes</entry>
<entry colname="newCol3">Changes shown within the text content of each cell of the table. DeltaXML DITA Compare understandsprocesses the structure of tables so these are handled intelligently.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>...</section>
</body>
</topic>

Developer Information

This is the content for the developer information panel.