Skip to main content
Skip table of contents

What is Content Compare XSL-FO?

Content Compare XSL-FO is a simple REST API for comparison of XSL-FO content. Our sophisticated algorithms analysis how your content has changed between revisions, in the context of the structure of one version.

Changes are output either using XSL-FO, or or using oXygen, Arbortext, XMetal and Framemaker Track Change output formats.

Example of XSL-FO comparison

Input A

XML
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

  <!-- defines page layout -->
  <fo:layout-master-set>

    <!-- layout for the first page -->
    <fo:simple-page-master master-name="only"
                  page-height="11in"
                  page-width="8.5in"
                  margin-top="1in"
                  margin-bottom="1in"
                  margin-left="0.75in"
                  margin-right="0.75in">
      <fo:region-body
      margin-top="1in" margin-bottom="1in"
    column-count="2" column-gap="0.25in"/>
      <fo:region-before extent="1in"/>
      <fo:region-after extent="1in"/>
    </fo:simple-page-master>

  </fo:layout-master-set>

  <!-- actual layout -->
  <fo:page-sequence master-reference="only">
    <fo:static-content flow-name="xsl-region-before">
      <fo:block font-size="16pt"
                font-family="sans-serif"
                line-height="normal"
                text-align="start"
        color="blue">Columns in FOP</fo:block>
  </fo:static-content>

    <fo:static-content flow-name="xsl-region-after">
      <fo:block font-size="10pt"
                font-family="sans-serif"
                line-height="12pt"
        space-before.optimum="6pt"
                text-align="end"
        color="blue">Page #</fo:block>
  </fo:static-content>

    <fo:flow flow-name="xsl-region-body">
      <!-- Block 0 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 0:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 1 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 1:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 2 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 2:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 3 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 3:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 4 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="all">
    <fo:inline color="red">Block 4:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 5 -->
          <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 5:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 6 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 6:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>

Input B

CODE
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

  <!-- defines page layout -->
  <fo:layout-master-set>

    <!-- layout for the first page -->
    <fo:simple-page-master master-name="only"
                  page-height="11in"
                  page-width="8.5in"
                  margin-top="1in"
                  margin-bottom="1in"
                  margin-left="0.75in"
                  margin-right="0.75in">
      <fo:region-body
      margin-top="1in" margin-bottom="1in"
    column-count="2" column-gap="0.25in"/>
      <fo:region-before extent="1in"/>
      <fo:region-after extent="1in"/>
    </fo:simple-page-master>

  </fo:layout-master-set>

  <!-- actual layout -->
  <fo:page-sequence master-reference="only">
    <fo:static-content flow-name="xsl-region-before">
      <fo:block font-size="16pt"
                font-family="sans-serif"
                line-height="normal"
                text-align="start"
        color="blue">Columns in FOP</fo:block>
  </fo:static-content>

    <fo:static-content flow-name="xsl-region-after">
      <fo:block font-size="10pt"
                font-family="sans-serif"
                line-height="12pt"
        space-before.optimum="6pt"
                text-align="end"
        color="blue">Page #</fo:block>
  </fo:static-content>

    <fo:flow flow-name="xsl-region-body">
      <!-- Block 0 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 0:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 1 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 1:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 2 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 2:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 3 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 3:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 4 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="all">
    <fo:inline color="red">Block 4:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>

      <!-- Block 6 -->
      <fo:block font-size="12pt"
                font-family="sans-serif"
                line-height="15pt"
                space-after.optimum="3pt"
                text-align="start"
        background-color="yellow"
        span="none">
    <fo:inline color="green">Block 6:</fo:inline>
        The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
        enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
        has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
        read normal.pdf.
      </fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>

Result

CODE
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <!-- defines page layout -->
    <fo:layout-master-set>
        <!-- layout for the first page -->
        <fo:simple-page-master master-name="only" page-height="11in" page-width="8.5in" margin-top="1in" margin-bottom="1in" margin-left="0.75in" margin-right="0.75in">
            <fo:region-body margin-top="1in" margin-bottom="1in" column-count="2" column-gap="0.25in"/>
            <fo:region-before extent="1in"/>
            <fo:region-after extent="1in"/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <!-- actual layout -->
    <fo:page-sequence master-reference="only">
        <fo:static-content flow-name="xsl-region-before">
            <fo:block font-size="16pt" font-family="sans-serif" line-height="normal" text-align="start" color="blue">Columns in FOP</fo:block>
        </fo:static-content>
        <fo:static-content flow-name="xsl-region-after">
            <fo:block font-size="10pt" font-family="sans-serif" line-height="12pt" space-before.optimum="6pt" text-align="end" color="blue">Page #</fo:block>
        </fo:static-content>
        <fo:flow flow-name="xsl-region-body">
            <!-- Block 0 -->
            <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="3pt" text-align="start" background-color="yellow" span="none">
                <fo:inline color="green">Block 0:</fo:inline> The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information read normal.pdf.
            </fo:block>
            <!-- Block 1 -->
            <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="3pt" text-align="start" background-color="yellow" span="none">
                <fo:inline color="green">Block 1:</fo:inline> The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information read normal.pdf.
            </fo:block>
            <!-- Block 2 -->
            <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="3pt" text-align="start" background-color="yellow" span="none">
                <fo:inline color="green">Block 2:</fo:inline> The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information read normal.pdf.
            </fo:block>
            <!-- Block 3 -->
            <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="3pt" text-align="start" background-color="yellow" span="none">
                <fo:inline color="green">Block 3:</fo:inline> The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information read normal.pdf.
            </fo:block>
            <!-- Block 4 -->
            <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="3pt" text-align="start" background-color="yellow" span="all">
                <fo:inline color="red">Block 4:</fo:inline> The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information read normal.pdf.
            </fo:block>
            <!-- Block 6 -->
            <fo:change-bar-begin change-bar-class="redline" change-bar-color="#ff5555" change-bar-style="solid" change-bar-width="1mm"/>
            <fo:inline background-color="#ff5555">Block 5:</fo:inline>
            <fo:change-bar-end change-bar-class="redline"/>
            <fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="3pt" text-align="start" background-color="yellow" span="none">
                <fo:inline color="green">
                    <fo:change-bar-begin change-bar-class="redline" change-bar-color="#ff5555" change-bar-style="solid" change-bar-width="1mm"/>
                    <fo:inline background-color="#ff5555"> The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information read normal.pdf.  </fo:inline>
                    <fo:change-bar-end change-bar-class="redline"/>Block 6:
                </fo:inline> The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information read normal.pdf.
            </fo:block>
        </fo:flow>
    </fo:page-sequence>
</fo:root>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.