You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlgraphics.apache.org by bu...@apache.org on 2017/03/20 14:58:10 UTC

svn commit: r1008691 [15/16] - in /websites/staging/xmlgraphics/trunk/content: ./ fop/2.2/ fop/2.2/images/

Added: websites/staging/xmlgraphics/trunk/content/fop/2.2/servlets.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/2.2/servlets.html (added)
+++ websites/staging/xmlgraphics/trunk/content/fop/2.2/servlets.html Mon Mar 20 14:58:09 2017
@@ -0,0 +1,673 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>Apache(tm) FOP: Servlets</title>
+
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" />
+<!--
+    <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/style.css">
+-->
+    <link rel="stylesheet" type="text/css" media="screen" href="//www.apache.org/css/code.css">
+    <link href="/css/profile.css" rel="stylesheet" type="text/css" />
+    <link href="/css/xmlgraphics.css" rel="stylesheet" type="text/css" />
+    <link href="/css/print.css" rel="stylesheet" type="text/css" media="print" />
+
+    <script src="//code.jquery.com/jquery.min.js"></script>
+	<script type="text/javascript" src="/js/jquery.stoc.js"></script>
+    <script>
+    $(document).ready(function(){
+        $('ul#navigation a').each(function() {
+		    if (this.href === window.location.href)
+			    { $(this). attr('id', 'forefront');} 
+        });
+        $('ul#navigation a#forefront').each(function() {
+        	
+        });
+    })
+	$(function(){
+		$("#items").stoc({ search: "#content", stocTitle: "<h3>Page Contents</h3>" });
+	});
+    </script>
+
+    
+
+    
+    
+	<style>
+	.highlight {color: red;}
+	</style>
+
+  </head>
+
+  <body>
+
+	<div id="banner">&nbsp;
+	</div>
+
+	<div id="navigation">
+	<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a href="/"><img alt="Apache XML Graphics Project Logo" src="/images/apache-xml-graphics.gif" title="Apache XML Graphics Project" /></a></p>
+<h1 id="apache-fop">Apache&trade; FOP<a class="headerlink" href="#apache-fop" title="Permanent link">&para;</a></h1>
+<ul>
+<li><a href="/fop/">FOP Home</a></li>
+<li><a href="/fop/download.html">Download</a></li>
+<li><a href="/fop/quickstartguide.html">Quick Start Guide</a></li>
+<li><a href="/fop/compliance.html">Compliance</a></li>
+<li><a href="/fop/gethelp.html">Getting Help</a></li>
+<li><a href="/fop/faq.html">FAQs</a></li>
+<li><a href="/fop/maillist.html">Mailing Lists</a></li>
+<li><a href="/fop/license.html">License</a></li>
+<li>
+<h2 id="resources">Resources<a class="headerlink" href="#resources" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/fo.html">XSL-FO</a></li>
+<li><a href="/fop/examples.html">Examples</a></li>
+<li><a href="/fop/bugs.html">Bugs</a></li>
+<li><a href="http://wiki.apache.org/xmlgraphics-fop/FrontPage">Wiki</a></li>
+<li><a href="/fop/resources.html">Other</a></li>
+</ul>
+</li>
+<li>
+<h2 id="project">Project<a class="headerlink" href="#project" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/news.html">News</a></li>
+<li><a href="/fop/team.html">Who We Are</a></li>
+<li><a href="/fop/status.html">Status</a></li>
+<li><a href="/fop/knownissues.html">Known Issues</a></li>
+<li><a href="/fop/changes.html">Changes</a></li>
+</ul>
+</li>
+<li>
+<h2 id="versions">Versions<a class="headerlink" href="#versions" title="Permanent link">&para;</a></h2>
+<ul>
+<li>
+<h2 id="fop-trunk-dev">FOP Trunk (dev)<a class="headerlink" href="#fop-trunk-dev" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/trunk/">Overview</a></li>
+<li><a href="/fop/trunk/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop">Using Apache&trade; FOP<a class="headerlink" href="#using-apache-fop" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/trunk/compiling.html">Build</a></li>
+<li><a href="/fop/trunk/configuration.html">Configure</a></li>
+<li><a href="/fop/trunk/running.html">Run</a></li>
+<li><a href="/fop/trunk/embedding.html">Embed</a></li>
+<li><a href="/fop/trunk/servlets.html">Servlets</a></li>
+<li><a href="/fop/trunk/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features">Features<a class="headerlink" href="#features" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/trunk/accessibility.html">Accessibility</a></li>
+<li><a href="/fop/trunk/complexscripts.html">Complex Scripts</a></li>
+<li><a href="/fop/trunk/events.html">Events</a></li>
+<li><a href="/fop/trunk/extensions.html">Extensions</a></li>
+<li><a href="/fop/trunk/fonts.html">Fonts</a></li>
+<li><a href="/fop/trunk/graphics.html">Graphics</a></li>
+<li><a href="/fop/trunk/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/trunk/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/trunk/metadata.html">Metadata</a></li>
+<li><a href="/fop/trunk/output.html">Output Targets</a></li>
+<li><a href="/fop/trunk/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/trunk/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/trunk/pdfencryption.html">PDF Encryption</a></li>
+<li><a href="/fop/fop-pdf-images.html">PDF Images</a></li>
+<li><a href="/fop/trunk/whitespacemanagement.html">Whitespace Management</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-21">FOP 2.1<a class="headerlink" href="#fop-21" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/2.1/">FOP 2.1 Overview</a></li>
+<li><a href="/fop/2.1/releaseNotes_2.1.html">Release Notes</a></li>
+<li><a href="/fop/2.1/changes_2.1.html">Changes (2.1)</a></li>
+<li><a href="/fop/2.1/knownissues_overview.html">Known Issues</a></li>
+<li><a href="/fop/2.1/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop-21">Using Apache FOP 2.1<a class="headerlink" href="#using-apache-fop-21" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/2.1/compiling.html">Build</a></li>
+<li><a href="/fop/2.1/configuration.html">Configure</a></li>
+<li><a href="/fop/2.1/running.html">Run</a></li>
+<li><a href="/fop/2.1/embedding.html">Embed</a></li>
+<li><a href="/fop/2.1/servlets.html">Servlets</a></li>
+<li><a href="/fop/2.1/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features_1">Features<a class="headerlink" href="#features_1" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/2.1/accessibility.html">Accessibility</a></li>
+<li><a href="/fop/2.1/complexscripts.html">Complex Scripts</a></li>
+<li><a href="/fop/2.1/events.html">Events</a></li>
+<li><a href="/fop/2.1/extensions.html">Extensions</a></li>
+<li><a href="/fop/2.1/fonts.html">Fonts</a></li>
+<li><a href="/fop/2.1/graphics.html">Graphics</a></li>
+<li><a href="/fop/2.1/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/2.1/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/2.1/metadata.html">Metadata</a></li>
+<li><a href="/fop/2.1/output.html">Output Targets</a></li>
+<li><a href="/fop/2.1/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/2.1/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/2.1/pdfencryption.html">PDF Encryption</a></li>
+<li><a href="/fop/fop-pdf-images.html">PDF Images</a></li>
+<li><a href="/fop/2.1/whitespacemanagement.html">Whitespace Management</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-20">FOP 2.0<a class="headerlink" href="#fop-20" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/2.0/">FOP 2.0 Overview</a></li>
+<li><a href="/fop/2.0/releaseNotes_2.0.html">Release Notes</a></li>
+<li><a href="/fop/2.0/changes_2.0.html">Changes (2.0)</a></li>
+<li><a href="/fop/2.0/knownissues_overview.html">Known Issues</a></li>
+<li><a href="/fop/2.0/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop-20">Using Apache FOP 2.0<a class="headerlink" href="#using-apache-fop-20" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/2.0/compiling.html">Build</a></li>
+<li><a href="/fop/2.0/configuration.html">Configure</a></li>
+<li><a href="/fop/2.0/running.html">Run</a></li>
+<li><a href="/fop/2.0/embedding.html">Embed</a></li>
+<li><a href="/fop/2.0/servlets.html">Servlets</a></li>
+<li><a href="/fop/2.0/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features_2">Features<a class="headerlink" href="#features_2" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/2.0/accessibility.html">Accessibility</a></li>
+<li><a href="/fop/2.0/complexscripts.html">Complex Scripts</a></li>
+<li><a href="/fop/2.0/events.html">Events</a></li>
+<li><a href="/fop/2.0/extensions.html">Extensions</a></li>
+<li><a href="/fop/2.0/fonts.html">Fonts</a></li>
+<li><a href="/fop/2.0/graphics.html">Graphics</a></li>
+<li><a href="/fop/2.0/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/2.0/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/2.0/metadata.html">Metadata</a></li>
+<li><a href="/fop/2.0/output.html">Output Targets</a></li>
+<li><a href="/fop/2.0/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/2.0/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/2.0/pdfencryption.html">PDF Encryption</a></li>
+<li><a href="/fop/fop-pdf-images.html">PDF Images</a></li>
+<li><a href="/fop/2.0/whitespacemanagement.html">Whitespace Management</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-11">FOP 1.1<a class="headerlink" href="#fop-11" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/1.1/">FOP 1.1 Overview</a></li>
+<li><a href="/fop/1.1/releaseNotes_1.1.html">Release Notes</a></li>
+<li><a href="/fop/1.1/changes_1.1.html">Changes (1.1)</a></li>
+<li><a href="/fop/1.1/knownissues_overview.html">Known Issues</a></li>
+<li><a href="/fop/1.1/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop-11">Using Apache FOP 1.1<a class="headerlink" href="#using-apache-fop-11" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/1.1/compiling.html">Build</a></li>
+<li><a href="/fop/1.1/configuration.html">Configure</a></li>
+<li><a href="/fop/1.1/running.html">Run</a></li>
+<li><a href="/fop/1.1/embedding.html">Embed</a></li>
+<li><a href="/fop/1.1/servlets.html">Servlets</a></li>
+<li><a href="/fop/1.1/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features_3">Features<a class="headerlink" href="#features_3" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/1.1/accessibility.html">Accessibility</a></li>
+<li><a href="/fop/1.1/complexscripts.html">Complex Scripts</a></li>
+<li><a href="/fop/1.1/events.html">Events</a></li>
+<li><a href="/fop/1.1/extensions.html">Extensions</a></li>
+<li><a href="/fop/1.1/fonts.html">Fonts</a></li>
+<li><a href="/fop/1.1/graphics.html">Graphics</a></li>
+<li><a href="/fop/1.1/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/1.1/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/1.1/metadata.html">Metadata</a></li>
+<li><a href="/fop/1.1/output.html">Output Targets</a></li>
+<li><a href="/fop/1.1/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/1.1/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/1.1/pdfencryption.html">PDF Encryption</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-10">FOP 1.0<a class="headerlink" href="#fop-10" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/1.0/">FOP 1.0 Overview</a></li>
+<li><a href="/fop/1.0/releaseNotes_1.0.html">Release Notes</a></li>
+<li><a href="/fop/1.0/changes_1.0.html">Changes (1.0)</a></li>
+<li><a href="/fop/1.0/knownissues_overview.html">Known Issues</a></li>
+<li><a href="/fop/1.0/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop-10">Using Apache FOP 1.0<a class="headerlink" href="#using-apache-fop-10" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/1.0/compiling.html">Build</a></li>
+<li><a href="/fop/1.0/configuration.html">Configure</a></li>
+<li><a href="/fop/1.0/running.html">Run</a></li>
+<li><a href="/fop/1.0/embedding.html">Embed</a></li>
+<li><a href="/fop/1.0/servlets.html">Servlets</a></li>
+<li><a href="/fop/1.0/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features_4">Features<a class="headerlink" href="#features_4" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/1.0/output.html">Output Targets</a></li>
+<li><a href="/fop/1.0/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/1.0/pdfencryption.html">PDF Encryption</a></li>
+<li><a href="/fop/1.0/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/1.0/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/1.0/graphics.html">Graphics</a></li>
+<li><a href="/fop/1.0/fonts.html">Fonts</a></li>
+<li><a href="/fop/1.0/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/1.0/extensions.html">Extensions</a></li>
+<li><a href="/fop/1.0/events.html">Events</a></li>
+<li><a href="/fop/1.0/metadata.html">Metadata</a></li>
+<li><a href="/fop/1.0/accessibility.html">Accessibility</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-development">FOP Development<a class="headerlink" href="#fop-development" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/">General Info</a></li>
+<li>
+<h2 id="design">Design<a class="headerlink" href="#design" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/design/">Design Info</a></li>
+</ul>
+</li>
+<li>
+<h2 id="core-process">Core Process<a class="headerlink" href="#core-process" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/design/startup.html">Startup</a></li>
+<li><a href="/fop/dev/design/parsing.html">XML Parsing</a></li>
+<li><a href="/fop/dev/design/fotree.html">FO Tree</a></li>
+<li><a href="/fop/dev/design/properties.html">Properties</a></li>
+<li><a href="/fop/dev/design/layout.html">Layout</a></li>
+<li><a href="/fop/dev/design/breakpos.html">Break Possibility</a></li>
+<li><a href="/fop/dev/design/areas.html">Area Tree</a></li>
+<li><a href="/fop/dev/design/renderers.html">Renderers</a></li>
+</ul>
+</li>
+<li>
+<h2 id="miscellaneous">Miscellaneous<a class="headerlink" href="#miscellaneous" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/design/images.html">Images</a></li>
+<li><a href="/fop/dev/design/pdf-library.html">PDF Library</a></li>
+<li><a href="/fop/dev/design/svg.html">SVG</a></li>
+<li><a href="/fop/dev/design/embedding.html">Embedding</a></li>
+<li><a href="/fop/dev/design/extending.html">Extending</a></li>
+<li><a href="/fop/dev/design/optimise.html">Optimisations</a></li>
+<li><a href="/fop/dev/design/useragent.html">User Agent</a></li>
+</ul>
+</li>
+<li><a href="http://wiki.apache.org/xmlgraphics-fop/FOPProjectPages">Unresolved (Wiki)</a></li>
+<li><a href="/fop/dev/svg.html">SVG</a></li>
+<li><a href="/fop/dev/extensions.html">Extensions</a></li>
+<li>
+<h2 id="develop">Develop<a class="headerlink" href="#develop" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/implement.html">Walk-Thru</a></li>
+<li><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20FOP%20AND%20description%20~%20%22\%22[patch]\%22%22%20AND%20status%20in%20%28Open%2C%20%22In%20Progress%22%2C%20Reopened%29">Patch Queue</a></li>
+<li><a href="/fop/dev/conventions.html">Conventions</a></li>
+</ul>
+</li>
+<li>
+<h2 id="test">Test<a class="headerlink" href="#test" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/testing.html">Testing</a></li>
+</ul>
+</li>
+<li>
+<h2 id="deploy">Deploy<a class="headerlink" href="#deploy" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/doc.html">Doc Mgmt</a></li>
+<li><a href="/fop/dev/release.html">Release</a></li>
+<li><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20FOP%20AND%20issuetype%20%3D%20Bug%20AND%20status%20in%20%28Open%2C%20%22In%20Progress%22%2C%20Reopened%29">Bugs</a></li>
+</ul>
+</li>
+<li>
+<h2 id="resources_1">Resources<a class="headerlink" href="#resources_1" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/faq.html">FAQs</a></li>
+<li><a href="/fop/dev/tools.html">Tools</a></li>
+<li><a href="http://svn.apache.org/viewvc/xmlgraphics/fop">ViewVC</a></li>
+</ul>
+</li>
+<li>
+<h2 id="subpackages">SubPackages<a class="headerlink" href="#subpackages" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/rtflib.html">RTFlib</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h1 id="apache-xml-graphics">Apache&trade; XML Graphics<a class="headerlink" href="#apache-xml-graphics" title="Permanent link">&para;</a></h1>
+<ul>
+<li>
+<h2 id="project-overview">Project Overview<a class="headerlink" href="#project-overview" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/team.html">Who We Are</a></li>
+<li><a href="/legal.html">Legal Stuff</a></li>
+<li><a href="/charter.html">Project Charter</a></li>
+<li><a href="/mail.html">Mailing Lists</a></li>
+<li><a href="/repo.html">Code Repositories</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">ASF Sponsorship Program</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">ASF Thanks</a></li>
+<li><a href="http://www.apache.org/licenses/">Licenses</a></li>
+<li><a href="/security.html">Apache XML Graphics Security</a></li>
+<li><a href="http://www.apache.org/security/">ASF Security</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="sub-projects">Sub Projects<a class="headerlink" href="#sub-projects" title="Permanent link">&para;</a></h1>
+<ul>
+<li><a href="/batik/">Apache Batik</a></li>
+<li><a href="/commons/">Apache XML Graphics Commons</a></li>
+</ul>
+<h3 id="search-apache-xml-graphics">Search Apache XML Graphics<a class="headerlink" href="#search-apache-xml-graphics" title="Permanent link">&para;</a></h3>
+<form name="search" id="search" action="https://www.google.com/search" method="get">
+  <input value="xmlgraphics.apache.org" name="sitesearch" type="hidden"/>
+  <input type="text" name="q" id="query" />
+  <input type="submit" id="submit" value="Search" />
+</form>
+
+<h3 id="apachecon-n-america">ApacheCon N. America<a class="headerlink" href="#apachecon-n-america" title="Permanent link">&para;</a></h3>
+<p><a href="http://na.apachecon.com/"><img alt="ApacheCon North America" src="https://farm8.staticflickr.com/7566/15408186664_d08f3881c9_t.jpg" title="ApacheCon North America" /></a></p>
+<ul>
+<li><strong><a href="http://na.apachecon.com/">ApacheCon NA</a></strong></li>
+</ul>
+<p>Hope to see you there!</p>
+<h3 id="apachecon-europe">ApacheCon Europe<a class="headerlink" href="#apachecon-europe" title="Permanent link">&para;</a></h3>
+<!--
+<a href="http://apachecon.eu/" title="ApacheCon Europe"><img alt="ApacheCon Europe" src="http://www.apache.org/ads/ApacheCon/2014-eu-234x60.png" width="225" /></a>
+-->
+
+<ul>
+<li><strong><a href="http://apachecon.eu/">ApacheCon Europe</a></strong></li>
+</ul>
+<p>Hope to see you there!</p>
+<p><a title="Apache Software Foundation Logo" href="http://www.apache.org"><img id="asf_logo_url" alt="Apache Software Foundation " src="/images/asf_logo_url.png" width="200" /></a></p>
+<script>
+$(document).ready(function () {
+    $('#navigation :header').click(function () {
+        var text = $(this).siblings('ul');
+        if (text.is(':hidden')) {
+            text.slideDown('200');
+        } else {
+            text.slideUp('200');
+        }
+    });
+    if ($('#navigation :header').siblings('ul')) {
+      $('#navigation :header').not('#search-apache-xml-graphics, #apachewzxhzdk3-xml-graphics, #sub-projects').append(' &raquo;');
+    }
+  $('#navigation > ul > li > ul > li ul').hide();
+  $('#project-overview').next().hide();
+  $('#versions').next().show();
+  var str=location.href.toLowerCase();
+  $("#navigation li a").each(function() {
+    if (str.indexOf(this.href.toLowerCase()) > -1) {
+      $(this).parents().slideDown('200');
+      $("li.highlight").removeClass("highlight");
+      $(this).parent().addClass("highlight");
+    }
+  });
+})
+</script>
+	</div>
+
+	<div id="bannertext" style="border-bottom: 2px dashed #666666; height: 70px;">
+	  <a href="/fop/"><img src="/images/apache-fop-logo.jpg" alt="The Apache FOP Project" width="120" height="65" style="float:left; margin-right: 15px;" /></a>
+	  <h2>The Apache&trade; FOP Project</h2>
+	</div><!-- <h1>Apache(tm) FOP: Servlets</h1> -->
+
+
+      
+      <div id="content" class="grid_16">
+        <div id="items">
+        </div>
+      	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/2.2/">2.2</a></div> -->
+      	<div class="section-content"><style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="apache-fop-servlets">Apache&trade; FOP: Servlets<a class="headerlink" href="#apache-fop-servlets" title="Permanent link">&para;</a></h1>
+<p><subtitle>How to use Apache&trade; FOP in a Servlet</subtitle></p>
+<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">&para;</a></h2>
+<p>This page discusses topic all around using Apache&trade; FOP in a servlet environment.</p>
+<h2 id="example-servlets">Example Servlets in the FOP distribution<a class="headerlink" href="#example-servlets" title="Permanent link">&para;</a></h2>
+<p>In the directory {fop-dir}/fop-core/src/main/java/org/apache/fop/servlet, you'll find a working example of a FOP-enabled servlet.</p>
+<p>The servlet is automatically built when you build Apache FOP using the supplied Ant script. After building the servlet, drop fop.war into the webapps directory of Apache Tomcat (or any other web container). Then, you can use URLs like the following to generate PDF files:</p>
+<ul>
+<li>
+<p>http://localhost:8080/fop/fop?fo=/home/path/to/fofile.fo</p>
+</li>
+<li>
+<p>http://localhost:8080/fop/fop?xml=/home/path/to/xmlfile.xml&amp;xsl=/home/path/to/xslfile.xsl</p>
+</li>
+</ul>
+<p>The source code for the servlet can be found under {fop-dir}/fop-core/src/main/java/org/apache/fop/servlet/FopServlet.java.</p>
+<p><note>This example servlet should not be used on a public web server connected to the Internet as it does not contain any measures to prevent Denial-of-Service-Attacks. It is provided as an example and as a starting point for your own servlet.</note></p>
+<h2 id="servlet">Create your own Servlet<a class="headerlink" href="#servlet" title="Permanent link">&para;</a></h2>
+<p><note>This section assumes you are familiar with <a href="embedding.html">embedding FOP</a>.</note></p>
+<h3 id="minimal-servlet">A minimal Servlet<a class="headerlink" href="#minimal-servlet" title="Permanent link">&para;</a></h3>
+<p>Here is a minimal code snippet to demonstrate the basics:</p>
+<div class="codehilite"><pre><span class="kd">private</span> <span class="n">TransformerFactory</span> <span class="n">tFactory</span> <span class="o">=</span> <span class="n">TransformerFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">();</span>
+
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">doGet</span><span class="o">(</span><span class="n">HttpServletRequest</span> <span class="n">request</span><span class="o">,</span>
+                   <span class="n">HttpServletResponse</span> <span class="n">response</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">ServletException</span> <span class="o">{</span>
+    <span class="k">try</span> <span class="o">{</span>
+        <span class="n">response</span><span class="o">.</span><span class="na">setContentType</span><span class="o">(</span><span class="s">&quot;application/pdf&quot;</span><span class="o">);</span>
+        <span class="n">FopFactory</span> <span class="n">fopFactory</span> <span class="o">=</span> <span class="n">FopFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">&quot;.&quot;</span><span class="o">).</span><span class="na">toURI</span><span class="o">());</span>
+        <span class="n">Fop</span> <span class="n">fop</span> <span class="o">=</span> <span class="n">fopFactory</span><span class="o">.</span><span class="na">newFop</span><span class="o">(</span><span class="n">MimeConstants</span><span class="o">.</span><span class="na">MIME_PDF</span><span class="o">,</span> <span class="n">response</span><span class="o">.</span><span class="na">getOutputStream</span><span class="o">());</span>
+        <span class="n">Transformer</span> <span class="n">transformer</span> <span class="o">=</span> <span class="n">tFactory</span><span class="o">.</span><span class="na">newTransformer</span><span class="o">();</span>
+        <span class="n">Source</span> <span class="n">src</span> <span class="o">=</span> <span class="k">new</span> <span class="n">StreamSource</span><span class="o">(</span><span class="s">&quot;foo.fo&quot;</span><span class="o">);</span>
+        <span class="n">Result</span> <span class="n">res</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SAXResult</span><span class="o">(</span><span class="n">fop</span><span class="o">.</span><span class="na">getDefaultHandler</span><span class="o">());</span>
+        <span class="n">transformer</span><span class="o">.</span><span class="na">transform</span><span class="o">(</span><span class="n">src</span><span class="o">,</span> <span class="n">res</span><span class="o">);</span>
+    <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="n">Exception</span> <span class="n">ex</span><span class="o">)</span> <span class="o">{</span>
+        <span class="k">throw</span> <span class="k">new</span> <span class="nf">ServletException</span><span class="o">(</span><span class="n">ex</span><span class="o">);</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p><note>There are numerous problems with the code snippet above. Its purpose is only to demonstrate the basic concepts. See below for details.</note></p>
+<h3 id="xslt">Adding XSL tranformation (XSLT)<a class="headerlink" href="#xslt" title="Permanent link">&para;</a></h3>
+<p>A common requirement is to transform an XML source to XSL-FO using an XSL transformation. It is recommended to use JAXP for this task. The following snippet shows the basic code:</p>
+<div class="codehilite"><pre><span class="kd">private</span> <span class="n">TransformerFactory</span> <span class="n">tFactory</span> <span class="o">=</span> <span class="n">TransformerFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">();</span>
+
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">ServletException</span> <span class="o">{</span>
+    <span class="c1">//Optionally customize the FopFactory and TransformerFactory here</span>
+<span class="o">}</span>
+
+<span class="o">[..]</span>
+
+<span class="n">FopFactory</span> <span class="n">fopFactory</span> <span class="o">=</span> <span class="n">FopFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">&quot;.&quot;</span><span class="o">).</span><span class="na">toURI</span><span class="o">());</span>
+
+<span class="c1">//Setup a buffer to obtain the content length</span>
+<span class="n">ByteArrayOutputStream</span> <span class="n">out</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ByteArrayOutputStream</span><span class="o">();</span>
+
+<span class="c1">//Setup FOP</span>
+<span class="n">Fop</span> <span class="n">fop</span> <span class="o">=</span> <span class="n">fopFactory</span><span class="o">.</span><span class="na">newFop</span><span class="o">(</span><span class="n">MimeConstants</span><span class="o">.</span><span class="na">MIME_PDF</span><span class="o">,</span> <span class="n">out</span><span class="o">);</span>
+
+<span class="c1">//Setup Transformer</span>
+<span class="n">Source</span> <span class="n">xsltSrc</span> <span class="o">=</span> <span class="k">new</span> <span class="n">StreamSource</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">&quot;foo-xml2fo.xsl&quot;</span><span class="o">));</span>
+<span class="n">Transformer</span> <span class="n">transformer</span> <span class="o">=</span> <span class="n">tFactory</span><span class="o">.</span><span class="na">newTransformer</span><span class="o">(</span><span class="n">xsltSrc</span><span class="o">);</span>
+
+<span class="c1">//Make sure the XSL transformation&#39;s result is piped through to FOP</span>
+<span class="n">Result</span> <span class="n">res</span> <span class="o">=</span> <span class="k">new</span> <span class="n">SAXResult</span><span class="o">(</span><span class="n">fop</span><span class="o">.</span><span class="na">getDefaultHandler</span><span class="o">());</span>
+
+<span class="c1">//Setup input</span>
+<span class="n">Source</span> <span class="n">src</span> <span class="o">=</span> <span class="k">new</span> <span class="n">StreamSource</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">&quot;foo.xml&quot;</span><span class="o">));</span>
+
+<span class="c1">//Start the transformation and rendering process</span>
+<span class="n">transformer</span><span class="o">.</span><span class="na">transform</span><span class="o">(</span><span class="n">src</span><span class="o">,</span> <span class="n">res</span><span class="o">);</span>
+
+<span class="c1">//Prepare response</span>
+<span class="n">response</span><span class="o">.</span><span class="na">setContentType</span><span class="o">(</span><span class="s">&quot;application/pdf&quot;</span><span class="o">);</span>
+<span class="n">response</span><span class="o">.</span><span class="na">setContentLength</span><span class="o">(</span><span class="n">out</span><span class="o">.</span><span class="na">size</span><span class="o">());</span>
+
+<span class="c1">//Send content to Browser</span>
+<span class="n">response</span><span class="o">.</span><span class="na">getOutputStream</span><span class="o">().</span><span class="na">write</span><span class="o">(</span><span class="n">out</span><span class="o">.</span><span class="na">toByteArray</span><span class="o">());</span>
+<span class="n">response</span><span class="o">.</span><span class="na">getOutputStream</span><span class="o">().</span><span class="na">flush</span><span class="o">();</span>
+</pre></div>
+
+
+<p><note>Buffering the generated PDF in a ByteArrayOutputStream is done to avoid potential problems with the Acrobat Reader Plug-in in Microsoft Internet Explorer.</note></p>
+<p>The <code>Source</code> instance used above is simply an example. If you have to read the XML from a string, supply a <code>new StreamSource(new
+          StringReader(xmlstring))</code>. Constructing and reparsing an XML string is generally less desirable than using a SAXSource if you generate your XML. You can alternatively supply a DOMSource as well. You may also use dynamically generated XSL if you like.</p>
+<p>Because you have an explicit <code>Transformer</code> object, you can also use it to explicitely set parameters for the transformation run.</p>
+<h3 id="cfg">Custom configuration<a class="headerlink" href="#cfg" title="Permanent link">&para;</a></h3>
+<p>You can easily set up your own FOUserAgent as demonstrated on the <a href="embedding.html">Embedding page</a>.</p>
+<h3 id="performance">Improving performance<a class="headerlink" href="#performance" title="Permanent link">&para;</a></h3>
+<p>There are several options to consider:</p>
+<ul>
+<li>
+<p>Instead of java.io.ByteArrayOutputStream consider using the ByteArrayOutputStream implementation from the <a href="http://commons.apache.org/io/">Jakarta Commons IO project</a> which allocates less memory. The full class name is: <code>org.apache.commons.io.output.ByteArrayOutputStream</code></p>
+</li>
+<li>
+<p>In certain cases it can help to write the generated PDF to a temporary file so you can quickly reuse the file. This is especially useful, if Internet Explorer calls the servlet multiple times with the same request or if you often generate equal PDFs.</p>
+</li>
+</ul>
+<p>Of course, the <a href="embedding.html#performance">performance hints from the Embedding page</a> apply here, too.</p>
+<h3 id="uriresolver">Accessing resources in your web application<a class="headerlink" href="#uriresolver" title="Permanent link">&para;</a></h3>
+<p>Often, you will want to use resources (stylesheets, images etc.) which are bundled with your web application. FOP provides a URIResolver implementation that lets you access files via the Servlet's ServletContext. The class is called <code>org.apache.fop.servlet.ServletContextURIResolver</code>.</p>
+<p>Here's how to set it up in your servlet. Instantiate a new instance in the servlet's init() method:</p>
+<div class="codehilite"><pre><span class="cm">/** URIResolver for use by this servlet */</span>
+<span class="kd">protected</span> <span class="n">URIResolver</span> <span class="n">uriResolver</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kt">void</span> <span class="nf">init</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">ServletException</span> <span class="o">{</span>
+    <span class="k">this</span><span class="o">.</span><span class="na">uriResolver</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ServletContextURIResolver</span><span class="o">(</span><span class="n">getServletContext</span><span class="o">());</span>
+    <span class="o">[..]</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>The ServletContextURIResolver reacts on URIs beginning with "servlet-context:". If you want to access an image in a subdirectory of your web application, you could, for example, use: "servlet-context:/images/myimage.png". Don't forget the leading slash after the colon!</p>
+<p>Further down, you can use the URIResolver for various things:</p>
+<ul>
+<li>
+<p>With the Transformer (JAXP/XSLT) so things like document() functions can resolver "servlet-context:" URIs.</p>
+</li>
+<li>
+<p>With the FopFactory so every resource FOP loads can be loaded using a "servlet-context:" URI.</p>
+</li>
+<li>
+<p>You can the ServletContextURIResolver yourself in your servlet code to access stylesheets or XML files bundled with your web application.</p>
+</li>
+</ul>
+<p>Here are some example snippets:</p>
+<div class="codehilite"><pre><span class="c1">//Setting up the JAXP TransformerFactory</span>
+<span class="k">this</span><span class="o">.</span><span class="na">transFactory</span> <span class="o">=</span> <span class="n">TransformerFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">();</span>
+<span class="k">this</span><span class="o">.</span><span class="na">transFactory</span><span class="o">.</span><span class="na">setURIResolver</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="na">uriResolver</span><span class="o">);</span>
+
+<span class="o">[..]</span>
+
+ <span class="n">ResourceResolver</span> <span class="n">resolver</span> <span class="o">=</span> <span class="k">new</span> <span class="n">ResourceResolver</span><span class="o">()</span> <span class="o">{</span>
+        <span class="kd">public</span> <span class="n">OutputStream</span> <span class="nf">getOutputStream</span><span class="o">(</span><span class="n">URI</span> <span class="n">uri</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
+            <span class="n">URL</span> <span class="n">url</span> <span class="o">=</span> <span class="n">getServletContext</span><span class="o">().</span><span class="na">getResource</span><span class="o">(</span><span class="n">uri</span><span class="o">.</span><span class="na">toASCIIString</span><span class="o">());</span>
+            <span class="k">return</span> <span class="n">url</span><span class="o">.</span><span class="na">openConnection</span><span class="o">().</span><span class="na">getOutputStream</span><span class="o">();</span>
+        <span class="o">}</span>
+
+        <span class="kd">public</span> <span class="n">Resource</span> <span class="nf">getResource</span><span class="o">(</span><span class="n">URI</span> <span class="n">uri</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">IOException</span> <span class="o">{</span>
+            <span class="k">return</span> <span class="k">new</span> <span class="nf">Resource</span><span class="o">(</span><span class="n">getServletContext</span><span class="o">().</span><span class="na">getResourceAsStream</span><span class="o">(</span><span class="n">uri</span><span class="o">.</span><span class="na">toASCIIString</span><span class="o">()));</span>
+        <span class="o">}</span>
+    <span class="o">};</span>
+
+<span class="c1">//Setting up the FOP factory</span>
+<span class="n">FopFactoryBuilder</span> <span class="n">builder</span> <span class="o">=</span> <span class="k">new</span> <span class="n">FopFactoryBuilder</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">&quot;.&quot;</span><span class="o">).</span><span class="na">toURI</span><span class="o">(),</span> <span class="n">resolver</span><span class="o">);</span>
+<span class="n">fopFactory</span> <span class="o">=</span> <span class="n">builder</span><span class="o">.</span><span class="na">build</span><span class="o">();</span>
+
+<span class="o">[..]</span>
+
+<span class="c1">//The stylesheet for the JAXP Transfomer</span>
+<span class="n">Source</span> <span class="n">xsltSrc</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">uriResolver</span><span class="o">.</span><span class="na">resolve</span><span class="o">(</span>
+    <span class="s">&quot;servlet-context:/xslt/mystylesheet.xsl&quot;</span><span class="o">,</span> <span class="kc">null</span><span class="o">);</span>
+<span class="n">Transformer</span> <span class="n">transformer</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="na">transFactory</span><span class="o">.</span><span class="na">newTransformer</span><span class="o">(</span><span class="n">xsltSrc</span><span class="o">);</span>
+<span class="n">transformer</span><span class="o">.</span><span class="na">setURIResolver</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="na">uriResolver</span><span class="o">);</span>
+</pre></div>
+
+
+<h2 id="ie">Notes on Microsoft Internet Explorer<a class="headerlink" href="#ie" title="Permanent link">&para;</a></h2>
+<p>Some versions of Internet Explorer will not automatically show the PDF or call the servlet multiple times. These are well-known limitations of Internet Explorer and are not a problem of the servlet. However, Internet Explorer can still be used to download the PDF so that it can be viewed later. Here are some suggestions in this context:</p>
+<ul>
+<li>
+<p>Use an URL ending in <code>.pdf</code>, like <code>http://myserver/servlet/stuff.pdf</code>. Yes, the servlet can be configured to handle this. If the URL has to contain parameters, try to have <strong>both</strong> the base URL as well as the last parameter end in <code>.pdf</code>, if necessary append a dummy parameter, like <code>http://myserver/servlet/stuff.pdf?par1=a&amp;par2=b&amp;d=.pdf</code>. The effect may depend on IEx version.</p>
+</li>
+<li>
+<p>Give IEx the opportunity to cache. In particular, ensure the server does not set any headers causing IEx not to cache the content. This may be a real problem if the document is sent over HTTPS, because most IEx installations will by default <em>not</em> cache any content retrieved over HTTPS. Setting the <code>Expires</code> header entry may help in this case:</p>
+<div class="codehilite"><pre><span class="n">response</span><span class="o">.</span><span class="na">setDateHeader</span><span class="o">(</span><span class="s">&quot;Expires&quot;</span><span class="o">,</span> <span class="n">System</span><span class="o">.</span><span class="na">currentTimeMillis</span><span class="o">()</span> <span class="o">+</span> <span class="n">cacheExpiringDuration</span> <span class="o">*</span> <span class="mi">1000</span><span class="o">);</span>
+</pre></div>
+
+
+<p>Consult your server manual and the relevant RFCs for further details on HTTP headers and caching.</p>
+</li>
+<li>
+<p>Cache in the server. It may help to include a parameter in the URL which has a timestamp as the value min order to decide whether a request is repeated. IEx is reported to retrieve a document up to three times, but never more often.</p>
+</li>
+</ul>
+<h2 id="servlet-engine">Servlet Engines<a class="headerlink" href="#servlet-engine" title="Permanent link">&para;</a></h2>
+<p>When using a servlet engine, there are potential CLASSPATH issues, and potential conflicts with existing XML/XSLT libraries. Servlet containers also often use their own classloaders for loading webapps, which can cause bugs and security problems.</p>
+<h3 id="tomcat">Tomcat<a class="headerlink" href="#tomcat" title="Permanent link">&para;</a></h3>
+<p>Check Tomcat's documentation for detailed instructions about installing FOP and Cocoon. There are known bugs that must be addressed, particularly for Tomcat 4.0.3.</p>
+<h3 id="websphere">WebSphere 3.5<a class="headerlink" href="#websphere" title="Permanent link">&para;</a></h3>
+<p>Put a copy of a working parser in some directory where WebSphere can access it. For example, if /usr/webapps/yourapp/servlets is the CLASSPATH for your servlets, copy the Xerces jar into it (any other directory would also be fine). Do not add the jar to the servlet CLASSPATH, but add it to the CLASSPATH of the application server which contains your web application. In the WebSphere administration console, click on the "environment" button in the "general" tab. In the "variable name" box, enter "CLASSPATH". In the "value" box, enter the correct path to the parser jar file (/usr/webapps/yourapp/servlets/Xerces.jar in our example here). Press "OK", then apply the change and restart the application server.</p>
+<h2 id="complex-usecases">Handling complex use cases<a class="headerlink" href="#complex-usecases" title="Permanent link">&para;</a></h2>
+<p>Sometimes the requirements for a servlet get quite sophisticated: SQL data sources, multiple XSL transformations, merging of several datasources etc. In such a case consider using <a href="http://cocoon.apache.org/">Apache Cocoon</a> instead of a custom servlet to accomplish your goal.</p></div>
+      </div>
+      
+      <div class="clear"></div>
+
+	  <div id="footer">
+		<div class="copyright">
+		  <div style="float:left; padding: 7px;">
+			<a title="Apache Software Foundation" href="http://www.apache.org"><img id="asf-feather-logo" alt="Apache Software Foundation" src="/images/asf_logo_url.png" width="200" /></a>
+        </div>
+		  <p>
+			Copyright &copy; 2016 The Apache Software Foundation, Licensed under
+			the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+			<br />
+			Apache, Apache XML Graphics, Apache FOP, Apache Batik, the Apache feather logo, and the
+			Apache XML Graphics logos are trademarks of <a href="http://www.apache.org">The Apache
+			Software Foundation</a>. All other marks mentioned may be trademarks or registered
+			trademarks of their respective owners.
+			<br />
+		  </p>
+		</div> 
+	  </div>
+	
+
+  </body>
+</html>

Added: websites/staging/xmlgraphics/trunk/content/fop/2.2/upgrading.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/2.2/upgrading.html (added)
+++ websites/staging/xmlgraphics/trunk/content/fop/2.2/upgrading.html Mon Mar 20 14:58:09 2017
@@ -0,0 +1,615 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>Upgrading from an Earlier Version of Apache&amp;trade; FOP</title>
+
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" />
+<!--
+    <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/style.css">
+-->
+    <link rel="stylesheet" type="text/css" media="screen" href="//www.apache.org/css/code.css">
+    <link href="/css/profile.css" rel="stylesheet" type="text/css" />
+    <link href="/css/xmlgraphics.css" rel="stylesheet" type="text/css" />
+    <link href="/css/print.css" rel="stylesheet" type="text/css" media="print" />
+
+    <script src="//code.jquery.com/jquery.min.js"></script>
+	<script type="text/javascript" src="/js/jquery.stoc.js"></script>
+    <script>
+    $(document).ready(function(){
+        $('ul#navigation a').each(function() {
+		    if (this.href === window.location.href)
+			    { $(this). attr('id', 'forefront');} 
+        });
+        $('ul#navigation a#forefront').each(function() {
+        	
+        });
+    })
+	$(function(){
+		$("#items").stoc({ search: "#content", stocTitle: "<h3>Page Contents</h3>" });
+	});
+    </script>
+
+    
+
+    
+    
+	<style>
+	.highlight {color: red;}
+	</style>
+
+  </head>
+
+  <body>
+
+	<div id="banner">&nbsp;
+	</div>
+
+	<div id="navigation">
+	<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><a href="/"><img alt="Apache XML Graphics Project Logo" src="/images/apache-xml-graphics.gif" title="Apache XML Graphics Project" /></a></p>
+<h1 id="apache-fop">Apache&trade; FOP<a class="headerlink" href="#apache-fop" title="Permanent link">&para;</a></h1>
+<ul>
+<li><a href="/fop/">FOP Home</a></li>
+<li><a href="/fop/download.html">Download</a></li>
+<li><a href="/fop/quickstartguide.html">Quick Start Guide</a></li>
+<li><a href="/fop/compliance.html">Compliance</a></li>
+<li><a href="/fop/gethelp.html">Getting Help</a></li>
+<li><a href="/fop/faq.html">FAQs</a></li>
+<li><a href="/fop/maillist.html">Mailing Lists</a></li>
+<li><a href="/fop/license.html">License</a></li>
+<li>
+<h2 id="resources">Resources<a class="headerlink" href="#resources" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/fo.html">XSL-FO</a></li>
+<li><a href="/fop/examples.html">Examples</a></li>
+<li><a href="/fop/bugs.html">Bugs</a></li>
+<li><a href="http://wiki.apache.org/xmlgraphics-fop/FrontPage">Wiki</a></li>
+<li><a href="/fop/resources.html">Other</a></li>
+</ul>
+</li>
+<li>
+<h2 id="project">Project<a class="headerlink" href="#project" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/news.html">News</a></li>
+<li><a href="/fop/team.html">Who We Are</a></li>
+<li><a href="/fop/status.html">Status</a></li>
+<li><a href="/fop/knownissues.html">Known Issues</a></li>
+<li><a href="/fop/changes.html">Changes</a></li>
+</ul>
+</li>
+<li>
+<h2 id="versions">Versions<a class="headerlink" href="#versions" title="Permanent link">&para;</a></h2>
+<ul>
+<li>
+<h2 id="fop-trunk-dev">FOP Trunk (dev)<a class="headerlink" href="#fop-trunk-dev" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/trunk/">Overview</a></li>
+<li><a href="/fop/trunk/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop">Using Apache&trade; FOP<a class="headerlink" href="#using-apache-fop" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/trunk/compiling.html">Build</a></li>
+<li><a href="/fop/trunk/configuration.html">Configure</a></li>
+<li><a href="/fop/trunk/running.html">Run</a></li>
+<li><a href="/fop/trunk/embedding.html">Embed</a></li>
+<li><a href="/fop/trunk/servlets.html">Servlets</a></li>
+<li><a href="/fop/trunk/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features">Features<a class="headerlink" href="#features" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/trunk/accessibility.html">Accessibility</a></li>
+<li><a href="/fop/trunk/complexscripts.html">Complex Scripts</a></li>
+<li><a href="/fop/trunk/events.html">Events</a></li>
+<li><a href="/fop/trunk/extensions.html">Extensions</a></li>
+<li><a href="/fop/trunk/fonts.html">Fonts</a></li>
+<li><a href="/fop/trunk/graphics.html">Graphics</a></li>
+<li><a href="/fop/trunk/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/trunk/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/trunk/metadata.html">Metadata</a></li>
+<li><a href="/fop/trunk/output.html">Output Targets</a></li>
+<li><a href="/fop/trunk/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/trunk/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/trunk/pdfencryption.html">PDF Encryption</a></li>
+<li><a href="/fop/fop-pdf-images.html">PDF Images</a></li>
+<li><a href="/fop/trunk/whitespacemanagement.html">Whitespace Management</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-21">FOP 2.1<a class="headerlink" href="#fop-21" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/2.1/">FOP 2.1 Overview</a></li>
+<li><a href="/fop/2.1/releaseNotes_2.1.html">Release Notes</a></li>
+<li><a href="/fop/2.1/changes_2.1.html">Changes (2.1)</a></li>
+<li><a href="/fop/2.1/knownissues_overview.html">Known Issues</a></li>
+<li><a href="/fop/2.1/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop-21">Using Apache FOP 2.1<a class="headerlink" href="#using-apache-fop-21" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/2.1/compiling.html">Build</a></li>
+<li><a href="/fop/2.1/configuration.html">Configure</a></li>
+<li><a href="/fop/2.1/running.html">Run</a></li>
+<li><a href="/fop/2.1/embedding.html">Embed</a></li>
+<li><a href="/fop/2.1/servlets.html">Servlets</a></li>
+<li><a href="/fop/2.1/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features_1">Features<a class="headerlink" href="#features_1" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/2.1/accessibility.html">Accessibility</a></li>
+<li><a href="/fop/2.1/complexscripts.html">Complex Scripts</a></li>
+<li><a href="/fop/2.1/events.html">Events</a></li>
+<li><a href="/fop/2.1/extensions.html">Extensions</a></li>
+<li><a href="/fop/2.1/fonts.html">Fonts</a></li>
+<li><a href="/fop/2.1/graphics.html">Graphics</a></li>
+<li><a href="/fop/2.1/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/2.1/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/2.1/metadata.html">Metadata</a></li>
+<li><a href="/fop/2.1/output.html">Output Targets</a></li>
+<li><a href="/fop/2.1/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/2.1/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/2.1/pdfencryption.html">PDF Encryption</a></li>
+<li><a href="/fop/fop-pdf-images.html">PDF Images</a></li>
+<li><a href="/fop/2.1/whitespacemanagement.html">Whitespace Management</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-20">FOP 2.0<a class="headerlink" href="#fop-20" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/2.0/">FOP 2.0 Overview</a></li>
+<li><a href="/fop/2.0/releaseNotes_2.0.html">Release Notes</a></li>
+<li><a href="/fop/2.0/changes_2.0.html">Changes (2.0)</a></li>
+<li><a href="/fop/2.0/knownissues_overview.html">Known Issues</a></li>
+<li><a href="/fop/2.0/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop-20">Using Apache FOP 2.0<a class="headerlink" href="#using-apache-fop-20" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/2.0/compiling.html">Build</a></li>
+<li><a href="/fop/2.0/configuration.html">Configure</a></li>
+<li><a href="/fop/2.0/running.html">Run</a></li>
+<li><a href="/fop/2.0/embedding.html">Embed</a></li>
+<li><a href="/fop/2.0/servlets.html">Servlets</a></li>
+<li><a href="/fop/2.0/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features_2">Features<a class="headerlink" href="#features_2" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/2.0/accessibility.html">Accessibility</a></li>
+<li><a href="/fop/2.0/complexscripts.html">Complex Scripts</a></li>
+<li><a href="/fop/2.0/events.html">Events</a></li>
+<li><a href="/fop/2.0/extensions.html">Extensions</a></li>
+<li><a href="/fop/2.0/fonts.html">Fonts</a></li>
+<li><a href="/fop/2.0/graphics.html">Graphics</a></li>
+<li><a href="/fop/2.0/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/2.0/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/2.0/metadata.html">Metadata</a></li>
+<li><a href="/fop/2.0/output.html">Output Targets</a></li>
+<li><a href="/fop/2.0/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/2.0/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/2.0/pdfencryption.html">PDF Encryption</a></li>
+<li><a href="/fop/fop-pdf-images.html">PDF Images</a></li>
+<li><a href="/fop/2.0/whitespacemanagement.html">Whitespace Management</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-11">FOP 1.1<a class="headerlink" href="#fop-11" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/1.1/">FOP 1.1 Overview</a></li>
+<li><a href="/fop/1.1/releaseNotes_1.1.html">Release Notes</a></li>
+<li><a href="/fop/1.1/changes_1.1.html">Changes (1.1)</a></li>
+<li><a href="/fop/1.1/knownissues_overview.html">Known Issues</a></li>
+<li><a href="/fop/1.1/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop-11">Using Apache FOP 1.1<a class="headerlink" href="#using-apache-fop-11" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/1.1/compiling.html">Build</a></li>
+<li><a href="/fop/1.1/configuration.html">Configure</a></li>
+<li><a href="/fop/1.1/running.html">Run</a></li>
+<li><a href="/fop/1.1/embedding.html">Embed</a></li>
+<li><a href="/fop/1.1/servlets.html">Servlets</a></li>
+<li><a href="/fop/1.1/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features_3">Features<a class="headerlink" href="#features_3" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/1.1/accessibility.html">Accessibility</a></li>
+<li><a href="/fop/1.1/complexscripts.html">Complex Scripts</a></li>
+<li><a href="/fop/1.1/events.html">Events</a></li>
+<li><a href="/fop/1.1/extensions.html">Extensions</a></li>
+<li><a href="/fop/1.1/fonts.html">Fonts</a></li>
+<li><a href="/fop/1.1/graphics.html">Graphics</a></li>
+<li><a href="/fop/1.1/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/1.1/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/1.1/metadata.html">Metadata</a></li>
+<li><a href="/fop/1.1/output.html">Output Targets</a></li>
+<li><a href="/fop/1.1/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/1.1/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/1.1/pdfencryption.html">PDF Encryption</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-10">FOP 1.0<a class="headerlink" href="#fop-10" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/1.0/">FOP 1.0 Overview</a></li>
+<li><a href="/fop/1.0/releaseNotes_1.0.html">Release Notes</a></li>
+<li><a href="/fop/1.0/changes_1.0.html">Changes (1.0)</a></li>
+<li><a href="/fop/1.0/knownissues_overview.html">Known Issues</a></li>
+<li><a href="/fop/1.0/upgrading.html">Upgrading</a></li>
+<li>
+<h3 id="using-apache-fop-10">Using Apache FOP 1.0<a class="headerlink" href="#using-apache-fop-10" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/1.0/compiling.html">Build</a></li>
+<li><a href="/fop/1.0/configuration.html">Configure</a></li>
+<li><a href="/fop/1.0/running.html">Run</a></li>
+<li><a href="/fop/1.0/embedding.html">Embed</a></li>
+<li><a href="/fop/1.0/servlets.html">Servlets</a></li>
+<li><a href="/fop/1.0/anttask.html">Ant Task</a></li>
+</ul>
+</li>
+<li>
+<h3 id="features_4">Features<a class="headerlink" href="#features_4" title="Permanent link">&para;</a></h3>
+<ul>
+<li><a href="/fop/1.0/output.html">Output Targets</a></li>
+<li><a href="/fop/1.0/intermediate.html">Intermediate Format</a></li>
+<li><a href="/fop/1.0/pdfencryption.html">PDF Encryption</a></li>
+<li><a href="/fop/1.0/pdfa.html">PDF/A</a></li>
+<li><a href="/fop/1.0/pdfx.html">PDF/X</a></li>
+<li><a href="/fop/1.0/graphics.html">Graphics</a></li>
+<li><a href="/fop/1.0/fonts.html">Fonts</a></li>
+<li><a href="/fop/1.0/hyphenation.html">Hyphenation</a></li>
+<li><a href="/fop/1.0/extensions.html">Extensions</a></li>
+<li><a href="/fop/1.0/events.html">Events</a></li>
+<li><a href="/fop/1.0/metadata.html">Metadata</a></li>
+<li><a href="/fop/1.0/accessibility.html">Accessibility</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li>
+<h2 id="fop-development">FOP Development<a class="headerlink" href="#fop-development" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/">General Info</a></li>
+<li>
+<h2 id="design">Design<a class="headerlink" href="#design" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/design/">Design Info</a></li>
+</ul>
+</li>
+<li>
+<h2 id="core-process">Core Process<a class="headerlink" href="#core-process" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/design/startup.html">Startup</a></li>
+<li><a href="/fop/dev/design/parsing.html">XML Parsing</a></li>
+<li><a href="/fop/dev/design/fotree.html">FO Tree</a></li>
+<li><a href="/fop/dev/design/properties.html">Properties</a></li>
+<li><a href="/fop/dev/design/layout.html">Layout</a></li>
+<li><a href="/fop/dev/design/breakpos.html">Break Possibility</a></li>
+<li><a href="/fop/dev/design/areas.html">Area Tree</a></li>
+<li><a href="/fop/dev/design/renderers.html">Renderers</a></li>
+</ul>
+</li>
+<li>
+<h2 id="miscellaneous">Miscellaneous<a class="headerlink" href="#miscellaneous" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/design/images.html">Images</a></li>
+<li><a href="/fop/dev/design/pdf-library.html">PDF Library</a></li>
+<li><a href="/fop/dev/design/svg.html">SVG</a></li>
+<li><a href="/fop/dev/design/embedding.html">Embedding</a></li>
+<li><a href="/fop/dev/design/extending.html">Extending</a></li>
+<li><a href="/fop/dev/design/optimise.html">Optimisations</a></li>
+<li><a href="/fop/dev/design/useragent.html">User Agent</a></li>
+</ul>
+</li>
+<li><a href="http://wiki.apache.org/xmlgraphics-fop/FOPProjectPages">Unresolved (Wiki)</a></li>
+<li><a href="/fop/dev/svg.html">SVG</a></li>
+<li><a href="/fop/dev/extensions.html">Extensions</a></li>
+<li>
+<h2 id="develop">Develop<a class="headerlink" href="#develop" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/implement.html">Walk-Thru</a></li>
+<li><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20FOP%20AND%20description%20~%20%22\%22[patch]\%22%22%20AND%20status%20in%20%28Open%2C%20%22In%20Progress%22%2C%20Reopened%29">Patch Queue</a></li>
+<li><a href="/fop/dev/conventions.html">Conventions</a></li>
+</ul>
+</li>
+<li>
+<h2 id="test">Test<a class="headerlink" href="#test" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/testing.html">Testing</a></li>
+</ul>
+</li>
+<li>
+<h2 id="deploy">Deploy<a class="headerlink" href="#deploy" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/doc.html">Doc Mgmt</a></li>
+<li><a href="/fop/dev/release.html">Release</a></li>
+<li><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20FOP%20AND%20issuetype%20%3D%20Bug%20AND%20status%20in%20%28Open%2C%20%22In%20Progress%22%2C%20Reopened%29">Bugs</a></li>
+</ul>
+</li>
+<li>
+<h2 id="resources_1">Resources<a class="headerlink" href="#resources_1" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/faq.html">FAQs</a></li>
+<li><a href="/fop/dev/tools.html">Tools</a></li>
+<li><a href="http://svn.apache.org/viewvc/xmlgraphics/fop">ViewVC</a></li>
+</ul>
+</li>
+<li>
+<h2 id="subpackages">SubPackages<a class="headerlink" href="#subpackages" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/fop/dev/rtflib.html">RTFlib</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h1 id="apache-xml-graphics">Apache&trade; XML Graphics<a class="headerlink" href="#apache-xml-graphics" title="Permanent link">&para;</a></h1>
+<ul>
+<li>
+<h2 id="project-overview">Project Overview<a class="headerlink" href="#project-overview" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="/team.html">Who We Are</a></li>
+<li><a href="/legal.html">Legal Stuff</a></li>
+<li><a href="/charter.html">Project Charter</a></li>
+<li><a href="/mail.html">Mailing Lists</a></li>
+<li><a href="/repo.html">Code Repositories</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">ASF Sponsorship Program</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">ASF Thanks</a></li>
+<li><a href="http://www.apache.org/licenses/">Licenses</a></li>
+<li><a href="/security.html">Apache XML Graphics Security</a></li>
+<li><a href="http://www.apache.org/security/">ASF Security</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="sub-projects">Sub Projects<a class="headerlink" href="#sub-projects" title="Permanent link">&para;</a></h1>
+<ul>
+<li><a href="/batik/">Apache Batik</a></li>
+<li><a href="/commons/">Apache XML Graphics Commons</a></li>
+</ul>
+<h3 id="search-apache-xml-graphics">Search Apache XML Graphics<a class="headerlink" href="#search-apache-xml-graphics" title="Permanent link">&para;</a></h3>
+<form name="search" id="search" action="https://www.google.com/search" method="get">
+  <input value="xmlgraphics.apache.org" name="sitesearch" type="hidden"/>
+  <input type="text" name="q" id="query" />
+  <input type="submit" id="submit" value="Search" />
+</form>
+
+<h3 id="apachecon-n-america">ApacheCon N. America<a class="headerlink" href="#apachecon-n-america" title="Permanent link">&para;</a></h3>
+<p><a href="http://na.apachecon.com/"><img alt="ApacheCon North America" src="https://farm8.staticflickr.com/7566/15408186664_d08f3881c9_t.jpg" title="ApacheCon North America" /></a></p>
+<ul>
+<li><strong><a href="http://na.apachecon.com/">ApacheCon NA</a></strong></li>
+</ul>
+<p>Hope to see you there!</p>
+<h3 id="apachecon-europe">ApacheCon Europe<a class="headerlink" href="#apachecon-europe" title="Permanent link">&para;</a></h3>
+<!--
+<a href="http://apachecon.eu/" title="ApacheCon Europe"><img alt="ApacheCon Europe" src="http://www.apache.org/ads/ApacheCon/2014-eu-234x60.png" width="225" /></a>
+-->
+
+<ul>
+<li><strong><a href="http://apachecon.eu/">ApacheCon Europe</a></strong></li>
+</ul>
+<p>Hope to see you there!</p>
+<p><a title="Apache Software Foundation Logo" href="http://www.apache.org"><img id="asf_logo_url" alt="Apache Software Foundation " src="/images/asf_logo_url.png" width="200" /></a></p>
+<script>
+$(document).ready(function () {
+    $('#navigation :header').click(function () {
+        var text = $(this).siblings('ul');
+        if (text.is(':hidden')) {
+            text.slideDown('200');
+        } else {
+            text.slideUp('200');
+        }
+    });
+    if ($('#navigation :header').siblings('ul')) {
+      $('#navigation :header').not('#search-apache-xml-graphics, #apachewzxhzdk3-xml-graphics, #sub-projects').append(' &raquo;');
+    }
+  $('#navigation > ul > li > ul > li ul').hide();
+  $('#project-overview').next().hide();
+  $('#versions').next().show();
+  var str=location.href.toLowerCase();
+  $("#navigation li a").each(function() {
+    if (str.indexOf(this.href.toLowerCase()) > -1) {
+      $(this).parents().slideDown('200');
+      $("li.highlight").removeClass("highlight");
+      $(this).parent().addClass("highlight");
+    }
+  });
+})
+</script>
+	</div>
+
+	<div id="bannertext" style="border-bottom: 2px dashed #666666; height: 70px;">
+	  <a href="/fop/"><img src="/images/apache-fop-logo.jpg" alt="The Apache FOP Project" width="120" height="65" style="float:left; margin-right: 15px;" /></a>
+	  <h2>The Apache&trade; FOP Project</h2>
+	</div><!-- <h1>Upgrading from an Earlier Version of Apache&amp;trade; FOP</h1> -->
+
+
+      
+      <div id="content" class="grid_16">
+        <div id="items">
+        </div>
+      	<!-- <div id="breadcrumb"><a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/fop/">Fop</a>&nbsp;&raquo&nbsp;<a href="/fop/2.2/">2.2</a></div> -->
+      	<div class="section-content"><style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="upgrading-from-an-earlier-version-of-apache-fop">Upgrading from an Earlier Version of Apache&trade; FOP<a class="headerlink" href="#upgrading-from-an-earlier-version-of-apache-fop" title="Permanent link">&para;</a></h1>
+<h2 id="upgrading-from-version-11">Upgrading from Version 1.1<a class="headerlink" href="#upgrading-from-version-11" title="Permanent link">&para;</a></h2>
+<p>When upgrading from 1.x or earlier version of fop there are some significant changes that the user must be aware of:</p>
+<p>FOUriResolver and FOPFactoryConfigurator classes have been removed</p>
+<p>In their place, the following classes have been added: </p>
+<ul>
+<li>InternalResourceResolver</li>
+<li>ResourceResolverFactory  </li>
+<li>FopConfParser  (parses the configuration file and returns a FOPFactoryBuilder instance) </li>
+<li>FOPFactoryBuilder (a builder class that can be used for setting Configuration) </li>
+</ul>
+<p>Instead of configuring the FOPFactory you can use the above classes: </p>
+<div class="codehilite"><pre>File xconf = new File(&quot;fop.xconf&quot;); 
+FopConfParser parser = new FopConfParser(xconf); //parsing configuration  
+FopFactoryBuilder builder = parser.getFopFactoryBuilder(); //building the factory with the user options
+FOPFactory fopFactory = builder.build();
+Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out);
+</pre></div>
+
+
+<p>or equally reading from an xml file</p>
+<div class="codehilite"><pre>DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
+Configuration cfg = cfgBuilder.buildFromFile(new File(&quot;mycfg.xml&quot;));
+fopFactoryBuilder = new FopFactoryBuilder(baseURI).setConfiguration(cfg);
+</pre></div>
+
+
+<p>The above can be used instead of fopFactory.setUserConfig(cfg) which is not available anymore. </p>
+<p>Another important change is the way FOP resolves URI.
+Class FOURIResolver has been replaced with InternalResourceResolver (holds a reference to both the ResourceResolver needed for resource acquisition and the base URI from which to resolve URI's).
+ResourceResolverFactory (a factory class for Resource resolver).</p>
+<p>Use of custom resource resolvers is now available through the use of FopFactoryBuilder.</p>
+<div class="codehilite"><pre>FopFactoryBuilder builder = new FopFactoryBuilder(new File(&quot;.&quot;).toURI(), resolver);
+</pre></div>
+
+
+<p>resolver is an object of org.apache.xmlgraphics.io.ResourceResolver.</p>
+<p>Instead of fopFactory.setURIResolver(uriResolver);  where uriResolver is an object of URIResolver.</p>
+<p>More information on how to configure Apache FOP programmatically and customizing the User Agent can be found in <a href="embedding.html">embedding</a></p>
+<p>Moreover more information on providing org.apache.xmlgraphics.io.ResourceResolver for custom URI resolution can be found in <a href="servlets.html">servlets</a></p>
+<h2 id="fop-1.0">Upgrading from Version 1.0<a class="headerlink" href="#fop-1.0" title="Permanent link">&para;</a></h2>
+<p>You should encounter very few issues in upgrading from FOP 1.0, except as noted in the following:</p>
+<ul>
+<li>
+<p>The intermediate format (IF) output format has underwent minor modification as follows:</p>
+<ul>
+<li>
+<p>In order to track changes to the IF format, a <code>version</code> attribute has been added to the root <code>document</code> element. Since no version information was provided previously, the initial value of this attribute is <code>2.0</code>. Future backward compatible changes will update the minor version number, while future non-backward compatible changes will update the major version number.</p>
+</li>
+<li>
+<p>On the <code>text</code> element, a new alternate representation is used for adjustments to glyph positions as expressed by a <code>dp</code> attribute instead of the <code>dx</code> attribute. For further information, see <a href="http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-dev/201202.mbox/%3cCACQ=j+evStXx=7hW=CHVNKCrZHUso9FHZCSk_5EoENOHcGpGOg@mail.gmail.com%3e">complex script patch - intermediate format changes</a>.</p>
+</li>
+<li>
+<p>On the <code>border-rect</code> element, the attributes { <code>before</code>, <code>after</code>, <code>start</code>, <code>end</code> } have been renamed to { <code>top</code>, <code>bottom</code>, <code>left</code>, <code>right</code> }, respectively. For further information, see <a href="http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-dev/201202.mbox/%3cCACQ=j+evStXx=7hW=CHVNKCrZHUso9FHZCSk_5EoENOHcGpGOg@mail.gmail.com%3e">complex script patch - intermediate format changes</a>.</p>
+</li>
+</ul>
+</li>
+<li>
+<p>The <code>IFPainter</code> interface (of package <code>org.apache.fop.render.intermediate</code>), specifically the <code>drawText</code> and <code>drawBorderRect</code> method signatures, have been modified to express the semantics of the above changes to the IF output format.</p>
+</li>
+<li>
+<p>The area tree (AT) output format has underwent minor modification as follows:</p>
+<ul>
+<li>
+<p>In order to track changes to the AT format, a <code>version</code> attribute has been added to the root <code>areaTree</code> element. Since no version information was provided previously, the initial value of this attribute is <code>2.0</code>. Future backward compatible changes will update the minor version number, while future non-backward compatible changes will update the major version number.</p>
+</li>
+<li>
+<p>An optional <code>level</code> attribute has been added to a number of element types to express resolved bidirectional level.</p>
+</li>
+<li>
+<p>An optional <code>reversed</code> attribute has been added to the <code>word</code> element type to express that the glyphs that correspond to the character content of the element should be reversed (in order) in the inline progression dimension when rendering.</p>
+</li>
+</ul>
+</li>
+<li>
+<p>Because complex script features are now enabled by default, it is possible that different font specific data will be used for kerning than was previously used. This may be the case if a font supports a traditional TrueType <code>kern</code> table and also supports the advanced typographic <code>kern</code> feature with a <code>GPOS</code> table. In FOP 1.0, the former is used for kerning, while in FOP 1.1 with complex script features enabled, the latter is used. If it is desired to explicitly use the <code>kern</code> table (rather than the <code>GPOS</code> table) in such a case, then the <code>-nocs</code> command line option may be used when invoking FOP in order to disable complex script features.</p>
+</li>
+</ul>
+<h2 id="pre-1.0">Upgrading from Pre-1.0 Versions<a class="headerlink" href="#pre-1.0" title="Permanent link">&para;</a></h2>
+<p>If you're planning to upgrade to the latest Apache&trade; FOP version from a pre-1.0 version, there are a few very important things to consider:</p>
+<ul>
+<li>
+<p>The API of FOP has changed considerably and is not backwards-compatible with versions 0.20.5 and 0.91beta. Version 0.92 introduced the <strong>new stable API</strong>.</p>
+</li>
+<li>
+<p>Since version 0.92 some deprecated methods which were part of the old API have been removed. If you upgrade from 0.91 beta, you will need to adjust your Java code. Similarly if you upgrade from 0.92 and use deprecated methods.</p>
+</li>
+<li>
+<p>If you are using a configuration file for version 0.20.5, you have to rebuild it in the new format. The format of the configuration files has changed since version 0.20.5. See conf/fop.xconf for an example configuration file. A XML Schema file can be found under src/foschema/fop-configuration.xsd.</p>
+</li>
+<li>
+<p>Beginning with version 0.94 you can skip the generation of font metric files and remove the "font-metrics" attribute in the font configuration. In the unlikely case that due to a bug you still need to use font metrics files you will need to regenerate the font metrics file if yours are from a FOP version before 0.93.</p>
+</li>
+<li>
+<p>The new code is much more strict about the interpretation of the XSL-FO specification. Things that worked fine in version 0.20.5 might start to produce warnings or even errors now. FOP 0.20.5 contains many bugs which have been corrected in the new code.</p>
+<p><note>While FOP 0.20.5 allowed you to have empty <code>fo:table-cell</code> elements, the new code will complain about that (unless relaxed validation is enabled) because the specification demands at least one block-level element (<code>(%block;)+</code>, see <a href="http://www.w3.org/TR/xsl/#fo_table-cell">XSL-FO 1.1, 6.7.10</a>) inside an <code>fo:table-cell</code> element.</note></p>
+</li>
+<li>
+<p>Extensions and Renderers written for version 0.20.5 will not work with the new code! The new FOP extension for <a href="http://barcode4j.sourceforge.net">Barcode4J</a> is available since January 2007.</p>
+</li>
+<li>
+<p>The SVG Renderer and the MIF Handler have not yet been resurrected! They are currently non-functional and hope for someone to step up and reimplement them.</p>
+</li>
+</ul>
+<p>When you use your existing FO files or XML/XSL files which work fine with FOP version 0.20.5 against this FOP version some things may not work as expected. The following list will hopefully help you to identify and correct those problems.</p>
+<ul>
+<li>
+<p>Check the <a href="../compliance.html">Compliance page</a> for the feature causing trouble. It may contain the necessary information to understand and resolve the problem.</p>
+</li>
+<li>
+<p>Not all 0.20.5 output formats are supported. PDF and Postscript should be fully supported. See <a href="output.html">Output Targets</a> for a more complete description.</p>
+</li>
+<li>
+<p>As stated above, empty table cells <code>&lt;fo:table-cell&gt;&lt;/fo:table-cell&gt;</code> are not allowed by the specification. The same applies to empty <code>fo:static-content</code> and <code>fo:block-container</code> elements, for example.</p>
+</li>
+<li>
+<p>Version 0.20.5 is not XSL-FO compliant with respect to sizing images (<code>external-graphic</code>) or <code>instream-foreign-object</code> objects. If images or SVGs are sized differently in your outputs with the new FOP version check <a href="https://issues.apache.org/jira/browse/FOP-1073">FOP-1073</a> as it contains some hints on what to do. The file <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/fop/examples/fo/basic/images.fo?view=markup">http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/fop/examples/fo/basic/images.fo?view=markup</a> has a number of good examples that show the correct behaviour.</p>
+</li>
+<li>
+<p>The <code>fox:outline</code> extension is not implemented in the current version: it has been superseded by the bookmark elements from XSL-FO 1.1.</p>
+</li>
+<li>
+<p>The <code>fox:continued-label</code> extension is not implemented in this version anymore. It has been superseded by the <code>fo:retrieve-table-marker</code> element from XSL-FO 1.1.</p>
+</li>
+</ul></div>
+      </div>
+      
+      <div class="clear"></div>
+
+	  <div id="footer">
+		<div class="copyright">
+		  <div style="float:left; padding: 7px;">
+			<a title="Apache Software Foundation" href="http://www.apache.org"><img id="asf-feather-logo" alt="Apache Software Foundation" src="/images/asf_logo_url.png" width="200" /></a>
+        </div>
+		  <p>
+			Copyright &copy; 2016 The Apache Software Foundation, Licensed under
+			the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+			<br />
+			Apache, Apache XML Graphics, Apache FOP, Apache Batik, the Apache feather logo, and the
+			Apache XML Graphics logos are trademarks of <a href="http://www.apache.org">The Apache
+			Software Foundation</a>. All other marks mentioned may be trademarks or registered
+			trademarks of their respective owners.
+			<br />
+		  </p>
+		</div> 
+	  </div>
+	
+
+  </body>
+</html>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: commits-help@xmlgraphics.apache.org