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 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
<?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
<?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>