xmlgraphics-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r840735 [19/19] - in /websites/staging/xmlgraphics/trunk/content: ./ batik/ batik/dev/ batik/tools/ batik/using/ batik/using/scripting/ commons/ fop/ fop/0.95/ fop/1.0/ fop/1.1/ fop/trunk/
Date Tue, 04 Dec 2012 15:59:44 GMT
Modified: websites/staging/xmlgraphics/trunk/content/fop/trunk/servlets.html
==============================================================================
--- websites/staging/xmlgraphics/trunk/content/fop/trunk/servlets.html (original)
+++ websites/staging/xmlgraphics/trunk/content/fop/trunk/servlets.html Tue Dec  4 15:59:34
2012
@@ -362,63 +362,63 @@ This example servlet should not be used 
 <p>This section assumes you are familiar with <a href="embedding.html">embedding
FOP</a> .</p>
 <h3 id="a-minimal-servlet-wzxhzdk15wzxhzdk16">A minimal Servlet <a id="minimal-servlet"></a></h3>
 <p>Here is a minimal code snippet to demonstrate the basics:</p>
-<div class="codehilite"><pre><span class="n">private</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="n">newInstance</span><span class="p">();</span>
-<span class="n">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="n">newInstance</span><span
class="p">();</span>
+<div class="codehilite"><pre><span class="kd">private</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="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="n">public</span> <span class="n">void</span> <span
class="n">doGet</span><span class="p">(</span><span class="n">HttpServletRequest</span>
<span class="n">request</span><span class="p">,</span>
-                   <span class="n">HttpServletResponse</span> <span class="n">response</span><span
class="p">)</span> <span class="n">throws</span> <span class="n">ServletException</span>
<span class="p">{</span>
-    <span class="n">try</span> <span class="p">{</span>
-        <span class="n">response</span><span class="o">.</span><span
class="n">setContentType</span><span class="p">(</span><span class="s">&quot;application/pdf&quot;</span><span
class="p">);</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="n">newFop</span><span class="p">(</span><span class="n">MimeConstants</span><span
class="o">.</span><span class="n">MIME_PDF</span><span class="p">,</span>
<span class="n">response</span><span class="o">.</span><span class="n">getOutputStream</span><span
class="p">());</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="n">newTransformer</span><span class="p">();</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="p">(</span><span class="s">&quot;foo.fo&quot;</span><span
class="p">);</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="p">(</span><span class="n">fop</span><span class="o">.</span><span
class="n">getDefaultHandler</span><span class="p">());</span>
-        <span class="n">transformer</span><span class="o">.</span><span
class="n">transform</span><span class="p">(</span><span class="n">src</span><span
class="p">,</span> <span class="n">res</span><span class="p">);</span>
-    <span class="p">}</span> <span class="n">catch</span> <span
class="p">(</span><span class="n">Exception</span> <span class="n">ex</span><span
class="p">)</span> <span class="p">{</span>
-        <span class="n">throw</span> <span class="k">new</span> <span
class="n">ServletException</span><span class="p">(</span><span class="n">ex</span><span
class="p">);</span>
-    <span class="p">}</span>
-<span class="p">}</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">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>There are numerous problems with the code snippet above. Its purpose is only to
demonstrate the basic concepts. See below for details.</p>
 <h3 id="adding-xsl-tranformation-xslt-wzxhzdk17wzxhzdk18">Adding XSL tranformation
(XSLT) <a id="xslt"></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="n">private</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="n">newInstance</span><span class="p">();</span>
-<span class="n">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="n">newInstance</span><span
class="p">();</span>
+<div class="codehilite"><pre><span class="kd">private</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="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="n">public</span> <span class="n">void</span> <span
class="n">init</span><span class="p">()</span> <span class="n">throws</span>
<span class="n">ServletException</span> <span class="p">{</span>
-    <span class="sr">//</span><span class="n">Optionally</span> <span
class="n">customize</span> <span class="n">the</span> <span class="n">FopFactory</span>
<span class="ow">and</span> <span class="n">TransformerFactory</span>
<span class="n">here</span>
-<span class="p">}</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="p">[</span><span class="o">..</span><span class="p">]</span>
+<span class="o">[..]</span>
 
-<span class="sr">//</span><span class="n">Setup</span> <span class="n">a</span>
<span class="n">buffer</span> <span class="n">to</span> <span class="n">obtain</span>
<span class="n">the</span> <span class="n">content</span> <span
class="nb">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="p">();</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="sr">//</span><span class="n">Setup</span> <span class="n">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="n">newFop</span><span class="p">(</span><span class="n">MimeConstants</span><span
class="o">.</span><span class="n">MIME_PDF</span><span class="p">,</span>
<span class="n">out</span><span class="p">);</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="sr">//</span><span class="n">Setup</span> <span class="n">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="p">(</span><span class="k">new</span> <span class="n">File</span><span
class="p">(</span><span class="s">&quot;foo-xml2fo.xsl&quot;</span><span
class="p">));</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="n">newTransformer</span><span class="p">(</span><span class="n">xsltSrc</span><span
class="p">);</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="sr">//</span><span class="n">Make</span> <span class="n">sure</span>
<span class="n">the</span> <span class="n">XSL</span> <span class="n">transformation</span><span
class="err">&#39;</span><span class="n">s</span> <span class="n">result</span>
<span class="n">is</span> <span class="n">piped</span> <span class="n">through</span>
<span class="n">to</span> <span class="n">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="p">(</span><span class="n">fop</span><span class="o">.</span><span
class="n">getDefaultHandler</span><span class="p">());</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="sr">//</span><span class="n">Setup</span> <span class="n">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="p">(</span><span class="k">new</span> <span class="n">File</span><span
class="p">(</span><span class="s">&quot;foo.xml&quot;</span><span
class="p">));</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="sr">//</span><span class="n">Start</span> <span class="n">the</span>
<span class="n">transformation</span> <span class="ow">and</span>
<span class="n">rendering</span> <span class="n">process</span>
-<span class="n">transformer</span><span class="o">.</span><span
class="n">transform</span><span class="p">(</span><span class="n">src</span><span
class="p">,</span> <span class="n">res</span><span class="p">);</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="sr">//</span><span class="n">Prepare</span> <span
class="n">response</span>
-<span class="n">response</span><span class="o">.</span><span class="n">setContentType</span><span
class="p">(</span><span class="s">&quot;application/pdf&quot;</span><span
class="p">);</span>
-<span class="n">response</span><span class="o">.</span><span class="n">setContentLength</span><span
class="p">(</span><span class="n">out</span><span class="o">.</span><span
class="n">size</span><span class="p">());</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="sr">//</span><span class="n">Send</span> <span class="n">content</span>
<span class="n">to</span> <span class="n">Browser</span>
-<span class="n">response</span><span class="o">.</span><span class="n">getOutputStream</span><span
class="p">()</span><span class="o">.</span><span class="nb">write</span><span
class="p">(</span><span class="n">out</span><span class="o">.</span><span
class="n">toByteArray</span><span class="p">());</span>
-<span class="n">response</span><span class="o">.</span><span class="n">getOutputStream</span><span
class="p">()</span><span class="o">.</span><span class="n">flush</span><span
class="p">();</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>
 
 
@@ -432,7 +432,7 @@ The <code>Source</code> instance used ab
 <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>
+<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>
@@ -442,13 +442,13 @@ The <code>Source</code> instance used ab
 <h3 id="accessing-resources-in-your-web-application-wzxhzdk23wzxhzdk24">Accessing resources
in your web application <a id="uriresolver"></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="sr">/** URIResolver for use by
this servlet */</span>
-<span class="n">protected</span> <span class="n">URIResolver</span>
<span class="n">uriResolver</span><span class="p">;</span>
+<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="n">public</span> <span class="n">void</span> <span
class="n">init</span><span class="p">()</span> <span class="n">throws</span>
<span class="n">ServletException</span> <span class="p">{</span>
-    <span class="n">this</span><span class="o">.</span><span class="n">uriResolver</span>
<span class="o">=</span> <span class="k">new</span> <span class="n">ServletContextURIResolver</span><span
class="p">(</span><span class="n">getServletContext</span><span class="p">());</span>
-    <span class="p">[</span><span class="o">..</span><span class="p">]</span>
-<span class="p">}</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>
 
 
@@ -466,23 +466,23 @@ The <code>Source</code> instance used ab
 </li>
 </ul>
 <p>Here are some example snippets:</p>
-<div class="codehilite"><pre><span class="sr">//</span><span class="n">Setting</span>
<span class="n">up</span> <span class="n">the</span> <span class="n">JAXP</span>
<span class="n">TransformerFactory</span>
-<span class="n">this</span><span class="o">.</span><span class="n">transFactory</span>
<span class="o">=</span> <span class="n">TransformerFactory</span><span
class="o">.</span><span class="n">newInstance</span><span class="p">();</span>
-<span class="n">this</span><span class="o">.</span><span class="n">transFactory</span><span
class="o">.</span><span class="n">setURIResolver</span><span class="p">(</span><span
class="n">this</span><span class="o">.</span><span class="n">uriResolver</span><span
class="p">);</span>
-
-<span class="p">[</span><span class="o">..</span><span class="p">]</span>
-
-<span class="sr">//</span><span class="n">Setting</span> <span
class="n">up</span> <span class="n">the</span> <span class="n">FOP</span>
<span class="n">factory</span>
-<span class="n">this</span><span class="o">.</span><span class="n">fopFactory</span>
<span class="o">=</span> <span class="n">FopFactory</span><span
class="o">.</span><span class="n">newInstance</span><span class="p">();</span>
-<span class="n">this</span><span class="o">.</span><span class="n">fopFactory</span><span
class="o">.</span><span class="n">setURIResolver</span><span class="p">(</span><span
class="n">this</span><span class="o">.</span><span class="n">uriResolver</span><span
class="p">);</span>
-
-<span class="p">[</span><span class="o">..</span><span class="p">]</span>
-
-<span class="sr">//</span><span class="n">The</span> <span class="n">stylesheet</span>
<span class="k">for</span> <span class="n">the</span> <span class="n">JAXP</span>
<span class="n">Transfomer</span>
-<span class="n">Source</span> <span class="n">xsltSrc</span> <span
class="o">=</span> <span class="n">this</span><span class="o">.</span><span
class="n">uriResolver</span><span class="o">.</span><span class="n">resolve</span><span
class="p">(</span>
-    <span class="s">&quot;servlet-context:/xslt/mystylesheet.xsl&quot;</span><span
class="p">,</span> <span class="n">null</span><span class="p">);</span>
-<span class="n">Transformer</span> <span class="n">transformer</span>
<span class="o">=</span> <span class="n">this</span><span class="o">.</span><span
class="n">transFactory</span><span class="o">.</span><span class="n">newTransformer</span><span
class="p">(</span><span class="n">xsltSrc</span><span class="p">);</span>
-<span class="n">transformer</span><span class="o">.</span><span
class="n">setURIResolver</span><span class="p">(</span><span class="n">this</span><span
class="o">.</span><span class="n">uriResolver</span><span class="p">);</span>
+<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="c1">//Setting up the FOP factory</span>
+<span class="k">this</span><span class="o">.</span><span class="na">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">this</span><span class="o">.</span><span class="na">fopFactory</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="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>
 
 



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


Mime
View raw message