--- /dev/null
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/Graphics/SVG/SVG-19990812.dtd">
+<fo:layout-master-set>
+<fo:simple-page-master page-master-name="one">
+<fo:region-body margin-top="50pt" margin-bottom="50pt" margin-left="100pt" margin-right="100pt"/>
+</fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence>
+<fo:sequence-specification>
+<fo:sequence-specifier-repeating page-master-first="one" page-master-repeating="one"/>
+</fo:sequence-specification>
+<fo:flow>
+<fo:block>A Block</fo:block>
+<fo:block text-align="end">An End Aligned Block</fo:block>
+<fo:block text-align="centered">A Centered Block</fo:block>
+<fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is default.</fo:block>
+<fo:block text-align="end">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is end.</fo:block>
+<fo:block text-align="centered">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is centered.</fo:block>
+<fo:block text-align="justified">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. I'm going to keep going so I can get three lines to check how all but the last justify. There, that should do it. Alignment is justified.</fo:block>
+<fo:block>A block for comparison</fo:block>
+<fo:block space-before.optimum="12pt">A block with 12pt space-before</fo:block>
+<fo:block>A block for comparison</fo:block>
+<fo:block space-after.optimum="12pt">A block with 12pt space-after</fo:block>
+<fo:block>A block for comparison</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block with both 12pt space-before and space-after</fo:block>
+<fo:block>A block for comparison</fo:block>
+<fo:block start-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is a start-indent of 50pt.</fo:block>
+<fo:block end-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is an end-indent of 50pt.</fo:block>
+<fo:block start-indent="50pt" end-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is a start-indent and end-indent of 50pt.</fo:block>
+<fo:block font-size="15pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt.</fo:block>
+<fo:block line-height="20pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The line-height is set to 20pt.</fo:block>
+<fo:block font-size="15pt" line-height="20pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt and the line-height is set to 20pt.</fo:block>
+<fo:block font-size="15pt" line-height="15pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt and the line-height is set to 15pt.</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt"><fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block</fo:block></fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block</fo:block>Text after</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block with 50pt start-intent</fo:block>Text after</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">And again for the page break, text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block with 50pt start-intent</fo:block>Text after</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block with 50pt start-indent within a block with 50pt start-intent</fo:block>Text after</fo:block>
+<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="100pt">A block with 100pt start-indent within a block with 50pt start-intent</fo:block>Text after</fo:block>
+<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justified">
+<fo:list-item>
+<fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+<fo:list-block start-indent="50pt" provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justified">
+<fo:list-item>
+<fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The list-block has a start-indent of 50pt and a text-align of justified.</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a second multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a third multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justified">
+<fo:list-item>
+<fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block start-indent="100pt">This is a multiple line block with start-indent 100pt that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+<fo:list-item>
+<fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+<fo:list-item-body><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.<fo:block>This is an embedded multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
+</fo:list-item>
+</fo:list-block>
+ <fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt">
+ <fo:list-item>
+ <fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+ <fo:list-item-body><fo:block>A block in a list-item-body</fo:block></fo:list-item-body>
+ </fo:list-item>
+ <fo:list-item>
+ <fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+ <fo:list-item-body>
+ <fo:list-block provisional-distance-between-starts="12pt">
+ <fo:list-item>
+ <fo:list-item-label><fo:block>•</fo:block></fo:list-item-label>
+ <fo:list-item-body><fo:block>This is a list item in a list that is itself a list item</fo:block></fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ </fo:list-item-body>
+ </fo:list-item>
+ </fo:list-block>
+ <fo:block break-before="page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Next Stage</fo:block>
+ <fo:block>Right, now we are ready to try some newly implemented things like rules. What follows is a display rule of default thickness 1pt and a space-before and space-after of 12pt.</fo:block>
+ <fo:display-rule space-before.optimum="12pt" space-after.optimum="12pt"/>
+ <fo:block>Now what follows is a display-rule of thickness 5pt with start-indent of 100pt (same space-before/after as before).</fo:block>
+ <fo:display-rule space-before.optimum="12pt" space-after.optimum="12pt" rule-thickness="5pt" start-indent="100pt"/>
+ <fo:block font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt"
+ ><fo:inline-sequence color="#500">C</fo:inline-sequence
+ ><fo:inline-sequence color="#700">o</fo:inline-sequence
+ ><fo:inline-sequence color="#900">l</fo:inline-sequence
+ ><fo:inline-sequence color="#B00">o</fo:inline-sequence
+ ><fo:inline-sequence color="#D00">u</fo:inline-sequence
+ ><fo:inline-sequence color="#F00">r</fo:inline-sequence
+ ></fo:block>
+ <fo:block color="black">black</fo:block>
+ <fo:block color="green">green</fo:block>
+ <fo:block color="silver">silver</fo:block>
+ <fo:block color="lime">lime</fo:block>
+ <fo:block color="gray">gray</fo:block>
+ <fo:block color="olive">olive</fo:block>
+ <fo:block color="white">white</fo:block>
+ <fo:block color="yellow">yellow</fo:block>
+ <fo:block color="maroon">maroon</fo:block>
+ <fo:block color="navy">navy</fo:block>
+ <fo:block color="red">red</fo:block>
+ <fo:block color="blue">blue</fo:block>
+ <fo:block color="purple">purple</fo:block>
+ <fo:block color="teal">teal</fo:block>
+ <fo:block color="fuchsia">fuchsia</fo:block>
+ <fo:block color="aqua">aqua</fo:block>
+ <fo:block break-before="even-page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Wrap</fo:block>
+ <fo:block space-before.optimum="12pt">This is a rather long sentence that is going to keep on going and going, not really to demonstrate anything other that normal wrapping because the following paragraph will show what happens when wrap-option is set to no-wrap.</fo:block>
+ <fo:block space-before.optimum="12pt" wrap-option="no-wrap">This is a rather long sentence that is going to keep on going and going to demonstrate what happens when wrap-option is set to no-wrap which is unlike the preceding sentence where it defaults to wrap.</fo:block>
+ <fo:block space-before.optimum="12pt" wrap-option="wrap">This is a rather long sentence that is going to keep on going and going, not really to demonstrate anything other that normal wrapping but it differs from the first of these three sentences in that wrap is set explicitly.</fo:block>
+ <fo:block font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">White Space Treatment</fo:block>
+<fo:block>This is default!</fo:block>
+<fo:block white-space-treatment="preserve">This is preserve!</fo:block>
+<fo:block white-space-treatment="collapse">This is collapse!</fo:block>
+<fo:block white-space-treatment="ignore">This is ignore!</fo:block>
+<fo:block font-family="monospace" white-space-treatment="preserve">
+<![CDATA[
+<?xml version="1.0"?>
+<document>
+ <heading>This is a heading</heading>
+ <list>
+ <item>Item one</item>
+ <item>Item two</item>
+ </list>
+</document>
+]]>
+</fo:block>
+ <fo:block break-before="page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Embedded SVG</fo:block>
+ <svg:svg width="400pt" height="200pt">
+ <svg:rect x="20pt" y="20pt" width="100pt" height="100pt"/>
+ <svg:line x1="20pt" y1="20pt" x2="120pt" y2="120pt"/>
+ <svg:line x1="120pt" y1="20pt" x2="20pt" y2="120pt"/>
+ <svg:text x="20pt" y="150pt">Hello SVG!</svg:text>
+ </svg:svg>
+ <fo:block>The above is an example of an SVG graphic</fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+<fo:layout-master-set>
+<fo:simple-page-master page-master-name="first" height="29.7cm" width="21cm" margin-top="1cm" margin-bottom="2cm" margin-left="2.5cm" margin-right="2.5cm">
+<fo:region-before extent="3cm"/>
+<fo:region-body margin-top="3cm"/>
+<fo:region-after extent="1.5cm"/>
+</fo:simple-page-master>
+<fo:simple-page-master page-master-name="rest" height="29.7cm" width="21cm" margin-top="1cm" margin-bottom="2cm" margin-left="2.5cm" margin-right="2.5cm">
+<fo:region-before extent="2.5cm"/>
+<fo:region-body margin-top="2.5cm"/>
+<fo:region-after extent="1.5cm"/>
+</fo:simple-page-master>
+</fo:layout-master-set>
+<fo:page-sequence>
+<fo:sequence-specification>
+<fo:sequence-specifier-repeating page-master-first="first" page-master-repeating="rest"/>
+</fo:sequence-specification>
+<fo:static-content flow-name="xsl-before">
+<fo:block text-align="end" font-size="10pt" font-family="serif" line-height="14pt">
+ FOP - p. <fo:page-number/>
+</fo:block>
+</fo:static-content>
+<fo:flow flow-name="xsl-body">
+
+
+
+<fo:block font-size="18pt" font-family="sans-serif" line-height="24pt" space-after.optimum="15pt" background-color="blue" color="white" text-align="centered" padding-top="3pt">FOP: An Open-Source XSL Formatter and Renderer</fo:block>
+<fo:block font-size="10pt" font-family="sans-serif" line-height="10pt" space-after.optimum="3pt" font-weight="bold" start-indent="15pt">
+ Content
+ </fo:block>
+<fo:table>
+<fo:table-column column-width="1cm"/>
+<fo:table-column column-width="15cm"/>
+<fo:table-body font-size="10pt" font-family="sans-serif">
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">A)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">What is FOP?</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">B)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">Downloading FOP</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">C)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">Running FOP</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">D)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">Embedding FOP </fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">E)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">What's Implemented?</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">F)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">Limitations</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">G)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">Bugs</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">H)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">Compiling FOP</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">I)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">Getting involved</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">J)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">FOP Relevant Specifications</fo:block>
+</fo:table-cell>
+</fo:table-row>
+<fo:table-row line-height="12pt">
+<fo:table-cell>
+<fo:block text-align="end">K)
+ </fo:block>
+</fo:table-cell>
+<fo:table-cell>
+<fo:block text-align="start">Licence</fo:block>
+</fo:table-cell>
+</fo:table-row>
+</fo:table-body>
+</fo:table>
+
+
+
+
+
+ fop logo
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">A)
+ What is FOP?</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">FOP is the world's first print formatter driven by XSL formatting
+ objects. It is a Java 1.1 application that reads a formatting object
+ tree and then turns it into a PDF document. The formatting object
+ tree, can be in the form of an XML document (output by an XSLT engine
+ like XT or Xalan) or can be passed in memory as a DOM Document or (in
+ the case of XT) SAX events.
+
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">FOP is part of Apache's XML project. The homepage of FOP is
+ <fo:inline-sequence font-style="italic" font-family="serif">http:/xml.apache.org/fop</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http:/xml.apache.org/fop)
+ </fo:inline-sequence>.
+ </fo:block>
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">B)
+ Downloading FOP</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">The latest release version is <fo:inline-sequence font-style="italic" font-family="serif">FOP 12.0</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ ()
+ </fo:inline-sequence>. </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">NOTE: you do not have to unjar or unzip this jar file.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Documentation can be downloaded here as <fo:inline-sequence font-style="italic" font-family="serif">HMTL file</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ ()
+ </fo:inline-sequence> or
+ as <fo:inline-sequence font-style="italic" font-family="serif">PDF file</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ ()
+ </fo:inline-sequence>.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">To run FOP from the command line, see Running FOP. If you are interested in
+ embedding FOP in a Java application of your own, see Embedding FOP.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">You can also download the <fo:inline-sequence font-style="italic" font-family="serif">source code v. 12.0</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ ()
+ </fo:inline-sequence> as jar file</fo:block>
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">C)
+ Running FOP</fo:block>
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">1) Prerequisites</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Following software must be installed:</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">a) Java 1.1.x or later</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">For the fo-file viewer mode of FOP (see below) you must have the swing classes installed.
+ From Java 1.2 on (aka Java 2) they are part of the standard java distribution.
+ If you use Java 1.1.x you must seperately include the swing classes, which can
+ be found at the <fo:inline-sequence font-style="italic" font-family="serif">
+ Sun website</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://java.sun.com/products/jfc/#download-swing)
+ </fo:inline-sequence>.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">b) An XML parser which supports SAX and DOM like
+ <fo:inline-sequence font-style="italic" font-family="serif">Xerces-J</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://xml.apache.org/xerces-j/index.html)
+ </fo:inline-sequence>.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">c) If you have to produce the flow objects files, which are the input for FOP,
+ you need a transformation utility to create this files from your xml files.
+ Normally this is an XSLT stylesheet processor like
+ <fo:inline-sequence font-style="italic" font-family="serif">XT</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.jclark.com/xml/xt.html)
+ </fo:inline-sequence>
+ or <fo:inline-sequence font-style="italic" font-family="serif">XALAN</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://xml.apache.org/xalan/index.html)
+ </fo:inline-sequence>.
+ </fo:block>
+
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">2) Starting FOP as an standalone application</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">There are three ways to run FOP from the command line.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">a) Batch processing formatting objects (fo) files: </fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">b) Batch processing xml files (includes production of the fo-files):</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine xml-file xsl-file pdf-file</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">c) Previewing the fo-file:</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.AWTCommandLine fo-file</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Each method uses next to the fop classes other packages. The following describes
+ each method in detail.</fo:block>
+
+ <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" keep-with-next="true">a) Method One</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">One is to first use an XSLT engine to produce the formatting object tree as an
+ XML document and then running the class org.apache.fop.apps.CommandLine with the
+ formatting object file name and PDF filename as arguments. You will need to include
+ FOP and your XML Parser in your classpath and so you might invoke
+ </fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -cp fop_x_xx_x.jar;xerces.jar</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">If your SAX Parser is other than Xerces, you will need to set the property
+ org.xml.sax.parser to the SAX Parser class to use. The following example shows
+ the command line, if you use XP, the XML parser from James Clark:
+ </fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -Dorg.xml.sax.parser=com.jclark.xml.sax.Driver</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">-cp fop_x_xx_x.jar;sax.jar;xt.jar;xp.jar;xerces.jar</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.AWTCommandLine formatting-tree-file pdf-file</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">(You have to include xerces.jar or another xml parser which supports DOM in your classpath.) </fo:block>
+
+
+ <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" keep-with-next="true">b) Method Two</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Rather than performing transformation with an XSLT before invoking FOP, it is
+ possible, if you use XT as your XSLT engine, to just call FOP and have it call
+ XT for you. To do this, run the class org.apache.fop.apps.CommandLine with the
+ source XML file name, XSL file name and PDF file name as arguments. You will
+ need to include FOP, SAX, your SAX Parser and XT in your classpath and so you might
+ invoke
+ </fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -Dorg.xml.sax.parser=com.jclark.xml.sax.Driver</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">-cp fop_x_xx_x.jar;xt.jar;xerces.jar</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.CommandLine xml-file xsl-file pdf-file</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Again, if your SAX Parser is other than Xerces, you will need to set the property
+ org.xml.sax.parser to the SAX Parser class to use.
+ </fo:block>
+
+
+ <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" keep-with-next="true">c) Method Three</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">If you already produced the FO file, you can preview the results of your
+ transformation without using any pdf viewer by invoking FOP with the viewer
+ application. You will need to include FOP and your XML Parser in your classpath
+ </fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java -cp fop_x_xx_x.jar;xerces.jar</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">org.apache.fop.apps.AWTCommandLine fo-file </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">The viewer uses the swing classes.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Note: If you are using java 2 or later (i.e. jdk 1.2. or later) you can put all
+ needed jar files into the subdirectory jdk1.2.x\jre\lib\ext (windows example). Then
+ FOP can be started without classpath:
+ </fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">java org.apache.fop.apps.CommandLine fo-file pdf-file</fo:block>
+
+
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">3) Running FOP on MacOS</fo:block>
+
+ <fo:block space-after.optimum="3pt" font-family="serif">Ensure that you have a recent MRJ, and that you have downloaded and
+ unpacked the XP and SAX distributions. The xp.jar and sax.jar files work
+ as is on MacOS.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Drag the FOP jarfile onto the JBindery icon. When the first dialog
+ appears, type "org.apache.fop.apps.CommandLine" in the "Class name" field.
+ Using UNIX syntax, type the names of the input formatting-object file and
+ the output PDF in the "Optional parameters" field.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Click on the Classpath icon. To add the xp.jar and sax.jar files, click
+ the "Add .zip file" button, navigate to the file in question, and click
+ Open.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Once both are added (the FOP jarfile will already be in the list), click
+ Run. A "stdout" window will appear and display FOP runtime messages.
+ </fo:block>
+
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">4) Problems</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">If you have problems running FOP, please have a look at the
+ <fo:inline-sequence font-style="italic" font-family="serif">FOP FAQ</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (faq.html)
+ </fo:inline-sequence>. If you don't find a solution there,
+ you can ask for help on the list fop-dev@xml.apache.org. Maybe it's bug and
+ maybe somebody is already working on it.
+ </fo:block>
+
+
+
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">D)
+ Embedding FOP </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Instantiate org.apache.fop.apps.Driver. Once this class is
+ instantiated, methods are called to set the
+ Renderer to use, the (possibly multiple) ElementMapping(s) to
+ use and the PrintWriter to use to output the results of the
+ rendering (where applicable). In the case of the Renderer and
+ ElementMapping(s), the Driver may be supplied either with the
+ object itself, or the name of the class, in which case Driver will
+ instantiate the class itself. The advantage of the latter is it
+ enables runtime determination of Renderer and ElementMapping(s).
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Once the Driver is set up, the buildFOTree method
+ is called. Depending on whether DOM or SAX is being used, the
+ invocation of the method is either buildFOTree(Document) or
+ buildFOTree(Parser, InputSource) respectively.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">A third possibility may be used to build the FO Tree, namely
+ calling getDocumentHandler() and firing the SAX events yourself.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Once the FO Tree is built, the format() and render() methods may be
+ called in that order.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Here is an example use of Driver from CommandLine.java:</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">Driver driver = new Driver();</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.setWriter(new PrintWriter(new FileWriter(args[1])));</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.buildFOTree(parser, fileInputSource(args[0]));</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.format();</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt">driver.render();</fo:block>
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">E)
+ What's Implemented?</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Also see STATUS for what is being worked on.</fo:block>
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">1) Formatting Objects</fo:block>
+ <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>root </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>layout-master-set </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>simple-page-master </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>region-body </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>region-before </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>region-after </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-sequence </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>sequence-specification </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>sequence-specifier-single </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>sequence-specifier-repeating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>sequence-specifier-alternating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>flow </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>static-content </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>block </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>list-block </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>list-item </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>list-item-label </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>list-item-body </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-number </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>display-sequence </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>inline-sequence </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>display-rule </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>display-graphic </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>table (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>table-column (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>table-body (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>table-row (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>table-cell (minimal support)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ </fo:list-block>
+
+
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">2) Properties</fo:block>
+ <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>end-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-master-name </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-master-first </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-master-repeating </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-master-odd </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-master-even </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>margin-top (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>margin-bottom (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>margin-left (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>margin-right (only on pages and regions)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>extent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-width </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>page-height </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>flow-name </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>font-family </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>font-style </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>font-weight </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>font-size </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>line-height </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>text-align </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>text-align-last </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>space-before.optimum </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>space-after.optimum </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>start-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>end-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>provisional-distance-between-starts </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>provisional-label-separation </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>rule-thickness </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>color </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>wrap-option </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>white-space-treatment </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>break-before </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>break-after </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>text-indent </fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>href</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>column-width</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>background-color</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>padding-top (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>padding-left (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>padding-bottom (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>padding-right (only in conjunction with background color)</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ </fo:list-block>
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">F)
+ Limitations</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Although FOP implements the above listed fo objects and properties, sometimes it does so
+ only in a limited way.
+ </fo:block>
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">list-block</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">The fo working draft allows describes two ways to markup lists.The list-block must have as
+ children either: 1) pairs of fo:list-item-label and fo:list-item-body formatting objects, or
+ 2) fo:list-item formatting objects.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">At the moment FOP only implements the second way. Therefore a list has a basic structure like this:</fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"><fo:list-block></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"><fo:list-item></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"><fo:list-item-label><fo:block></fo:block></fo:list-item-label></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"><fo:list-item-body><fo:block></fo:block></fo:list-item-body></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"></fo:list-item></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"></fo:list-block></fo:block>
+
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">Padding</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Padding works in conjunction with indents and spaces. It is only implemented
+ for blocks. At the moment padding can't be used to make extra space (indents+spaces
+ must be used), but only to control how much the background-color extends beyond
+ the content rectangle.
+ </fo:block>
+
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">Tables</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">There two limitations for tables: 1) FOP needs you to explicitly specify column widths
+ 2) Cells have to contain block-level FOs. They can't contain straight character data.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">A working basic example of a table looks like this: </fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"><fo:table></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-column column-width="150pt"/></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-column column-width="150pt"/></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-body font-size="10pt" font-family="sans-serif"></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-row></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:block>text</fo:block></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:block>text</fo:block></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-row></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-row></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:block>text</fo:block></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:block>text</fo:block></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-row></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-row></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:block>text</fo:block></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> <fo:block>text</fo:block></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-cell></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-row></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"> </fo:table-body></fo:block>
+ <fo:block font-size="10pt" font-family="monospace" line-height="12pt" space-before.optimum="0pt" space-after.optimum="0pt"></fo:table></fo:block>
+
+
+
+
+
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">G)
+ Bugs</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">see STATUS file</fo:block>
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">H)
+ Compiling FOP</fo:block>
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">1. Prerequisites</fo:block>
+
+ <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" keep-with-next="true">a) Java 1.1.x or later</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">If you use Java 1.1.x you must also seperately include the swing classes, which can
+ be found at the <fo:inline-sequence font-style="italic" font-family="serif">
+ Sun website</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://java.sun.com/products/jfc/#download-swing)
+ </fo:inline-sequence>. From Java 1.2 on (aka Java 2) they are part of the standard
+ distribution.
+ </fo:block>
+
+
+ <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" keep-with-next="true">b) An XML parser</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">An XML parser which supports DOM like
+ <fo:inline-sequence font-style="italic" font-family="serif">Xerces-J</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://xml.apache.org/xerces-j/index.html)
+ </fo:inline-sequence>.</fo:block>
+
+
+ <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" keep-with-next="true">c) XT from James Clark</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Some of the Java source code in FOP is generated from XML using
+ XSLT. XT must be used to generate this code.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">XT is an XSL stylesheet processor written in java. At the moment you
+ can't use any other processor, because the make file makes use of some
+ proprietary features of Clark's xt which allow to write output in more
+ then one document. You can find XT at <fo:inline-sequence font-style="italic" font-family="serif">
+ James Clark's website</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.jclark.com/xml/xt.html)
+ </fo:inline-sequence>. You have to use XT version 19991105 or later.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">(Under windows you shouldn't use the prepackaged xt.exe but also the
+ generic jar file, otherwise make won't work)
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">XT relies on an sax parser like XP (also J. Clark), which can be
+ downloaded at <fo:inline-sequence font-style="italic" font-family="serif">James
+ Clark's Website</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.jclark.com/xml/xp/index.html)
+ </fo:inline-sequence>
+ </fo:block>
+
+
+ <fo:block font-size="14pt" font-family="serif" line-height="16pt" space-before.optimum="8pt" space-after.optimum="4pt" keep-with-next="true">d) make</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">Under windows it has been reported that the use of the cygnus solutions port
+ of the GNU utilities works. You can find it at
+ <fo:inline-sequence font-style="italic" font-family="serif">Cygnus Solutions</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://sourceware.cygnus.com/cygwin/)
+ </fo:inline-sequence>
+ </fo:block>
+
+
+
+ <fo:block font-size="16pt" font-family="serif" line-height="18pt" space-before.optimum="8pt" space-after.optimum="8pt" keep-with-next="true">Compiling FOP on MacOS</fo:block>
+
+ <fo:block space-after.optimum="3pt" font-family="serif">We strongly recommend the use of Codewarrior Java. This Readme will
+ contain a link to more information in the near future.
+ </fo:block>
+
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">I)
+ Getting involved</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">1. Subscribe to fop-dev@xml.apache.org by sending an email
+ to fop-dev-subscribe@xml.apache.org</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">2. Read the archives to fop-dev to get an idea of the issues being
+ discussed. </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">3. Subscribe to fop-cvs@xml.apache.org by sending an email to
+ fop-cvs-subscribe@xml.apache.org (it is important
+ that you follow changes being made). </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">4. Try :-) to wrap your head around the XSL working draft. </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">5. Get CVS working on your system. </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">6. Ask, on fop-dev, any questions you have at all about the code, design, etc. </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">7. When you feel comfortable modifying the code, send diffs to
+ fop-dev with your contributions. </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">8. Have fun!</fo:block>
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">J)
+ FOP Relevant Specifications</fo:block>
+ <fo:list-block start-indent="1cm" provisional-distance-between-starts="12pt" font-family="serif">
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<fo:inline-sequence font-style="italic" font-family="serif">XML Recommendation</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.w3.org/TR/REC-xml)
+ </fo:inline-sequence>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<fo:inline-sequence font-style="italic" font-family="serif">XSL-FO Working Draft</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.w3.org/TR/WD-xsl/)
+ </fo:inline-sequence>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<fo:inline-sequence font-style="italic" font-family="serif">XSLT Recommendation</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.w3.org/TR/xslt)
+ </fo:inline-sequence>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<fo:inline-sequence font-style="italic" font-family="serif">PDF Documentation</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf)
+ </fo:inline-sequence>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<fo:inline-sequence font-style="italic" font-family="serif">Simple API for XML (SAX)</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.megginson.com/SAX/)
+ </fo:inline-sequence>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<fo:inline-sequence font-style="italic" font-family="serif">Document Object Model (DOM)</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.w3.org/TR/REC-DOM-Level-1)
+ </fo:inline-sequence>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<fo:inline-sequence font-style="italic" font-family="serif">Namespaces in XML Recommendation</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.w3.org/TR/REC-xml-names/)
+ </fo:inline-sequence>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ <fo:list-item>
+<fo:list-item-label>
+<fo:block>*</fo:block>
+</fo:list-item-label>
+<fo:list-item-body>
+<fo:block>
+<fo:inline-sequence font-style="italic" font-family="serif">Java JDK 1.1 Documentation</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://java.sun.com/products/jdk/1.1/docs/index.html)
+ </fo:inline-sequence>
+</fo:block>
+</fo:list-item-body>
+</fo:list-item>
+ </fo:list-block>
+
+
+
+
+
+
+ <fo:block font-size="18pt" font-family="serif" line-height="20pt" space-before.optimum="20pt" space-after.optimum="14pt" keep-with-next="true">K)
+ Licence</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif"> ============================================================================</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif"> The Apache Software License, Version 1.1</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif"> ============================================================================</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif"> Copyright (C) 1999 The Apache Software Foundation. All rights reserved.</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif"> Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:</fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ </fo:block>
+
+ <fo:block space-after.optimum="3pt" font-family="serif">2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ </fo:block>
+
+ <fo:block space-after.optimum="3pt" font-family="serif">3. The end-user documentation included with the redistribution, if any, must
+ include the following acknowledgment: "This product includes software
+ developed by the Apache Software Foundation (http://www.apache.org/)."
+ Alternately, this acknowledgment may appear in the software itself, if
+ and wherever such third-party acknowledgments normally appear.
+ </fo:block>
+
+ <fo:block space-after.optimum="3pt" font-family="serif">4. The names "FOP" and "Apache Software Foundation" must not be used to
+ endorse or promote products derived from this software without prior
+ written permission. For written permission, please contact
+ apache@apache.org.
+ </fo:block>
+
+ <fo:block space-after.optimum="3pt" font-family="serif">5. Products derived from this software may not be called "Apache", nor may
+ "Apache" appear in their name, without prior written permission of the
+ Apache Software Foundation.
+ </fo:block>
+ <fo:block space-after.optimum="3pt" font-family="serif">THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ </fo:block>
+
+ <fo:block space-after.optimum="3pt" font-family="serif">
+ This software consists of voluntary contributions made by many individuals
+ on behalf of the Apache Software Foundation and was originally created by
+ James Tauber <jtauber@jtauber.com>. For more information on the Apache
+ Software Foundation, please see <fo:inline-sequence font-style="italic" font-family="serif">http://www.apache.org/</fo:inline-sequence>
+<fo:inline-sequence font-family="serif">
+ (http://www.apache.org/)
+ </fo:inline-sequence>.
+ </fo:block>
+
+
+
+</fo:flow>
+</fo:page-sequence>
+</fo:root>