From 019ff14759c79605c1e491e007db62fc7191c8a0 Mon Sep 17 00:00:00 2001 From: fotis Date: Tue, 14 Mar 2000 09:39:27 +0000 Subject: [PATCH] new fop examples and tests fixes: page-height, page-width (Jon Smirl) git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193298 13f79535-47bb-0310-9956-ffa450edef68 --- docs/examples/fo/border.fo | 168 +++++ docs/examples/fo/extensive.fo | 148 ++++ docs/examples/fo/link.fo | 123 ++++ docs/examples/fo/list.fo | 135 ++++ docs/examples/fo/normal.fo | 128 ++++ docs/examples/fo/readme.fo | 1281 +++++++++++++++++++++++++++++++++ docs/examples/fo/table.fo | 138 ++++ 7 files changed, 2121 insertions(+) create mode 100644 docs/examples/fo/border.fo create mode 100644 docs/examples/fo/extensive.fo create mode 100644 docs/examples/fo/link.fo create mode 100644 docs/examples/fo/list.fo create mode 100644 docs/examples/fo/normal.fo create mode 100644 docs/examples/fo/readme.fo create mode 100644 docs/examples/fo/table.fo diff --git a/docs/examples/fo/border.fo b/docs/examples/fo/border.fo new file mode 100644 index 000000000..919f291b4 --- /dev/null +++ b/docs/examples/fo/border.fo @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + PX7.net + + + 44 Liberty St + + + Newburyport, MA 01950 + + + 978-462-1152 + + + + + Sales Receipt + + + + + DATE + + + + + 01/01/20000 + + + + + SALE # + + + + + 1 + + + + + SOLD TO + + + + + + + + + SHIP TO + + + + + + + + + PMT METHOD + + + + + Check + + + + + CHECK # + + + + + 1234 + + + + + + + + + + + + + + + + QUANTITY + + + DESCRIPTION + + + RATE + + + AMOUNT + + + + + 1 + + + Widget + + + $22.23 + + + 22.31 + + + + + 3 + + + Nuts + + + $12.00 + + + 36.00 + + + + + + + + Please remit to the above address + + + + + Total + + + + + $3.00 + + + + + diff --git a/docs/examples/fo/extensive.fo b/docs/examples/fo/extensive.fo new file mode 100644 index 000000000..5647fe79a --- /dev/null +++ b/docs/examples/fo/extensive.fo @@ -0,0 +1,148 @@ + + + + + + + + + + + +A Block +An End Aligned Block +A Centered Block +This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is default. +This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is end. +This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is centered. +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. +A block for comparison +A block with 12pt space-before +A block for comparison +A block with 12pt space-after +A block for comparison +A block with both 12pt space-before and space-after +A block for comparison +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. +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. +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. +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. +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. +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. +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. +A block within a block +Text beforeA block within a blockText after +Text beforeA block within a block with 50pt start-intentText after +And again for the page break, text beforeA block within a block with 50pt start-intentText after +Text beforeA block with 50pt start-indent within a block with 50pt start-intentText after +Text beforeA block with 100pt start-indent within a block with 50pt start-intentText after + + + +This is a multiple line block that extends over more than one line. There should be appropriate line breaks. + + + +This is a multiple line block that extends over more than one line. There should be appropriate line breaks.This is a multiple line block that extends over more than one line. There should be appropriate line breaks.This is a multiple line block that extends over more than one line. There should be appropriate line breaks. + + + + + +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. + + + +This is a multiple line block that extends over more than one line. There should be appropriate line breaks.This is a second multiple line block that extends over more than one line. There should be appropriate line breaks.This is a third multiple line block that extends over more than one line. There should be appropriate line breaks. + + + + + +This is a multiple line block that extends over more than one line. There should be appropriate line breaks.This is a multiple line block with start-indent 100pt that extends over more than one line. There should be appropriate line breaks.This is a multiple line block that extends over more than one line. There should be appropriate line breaks. + + + +This is a multiple line block that extends over more than one line. There should be appropriate line breaks.This is an embedded multiple line block that extends over more than one line. There should be appropriate line breaks.This is a multiple line block that extends over more than one line. There should be appropriate line breaks. + + + + + + A block in a list-item-body + + + + + + + + This is a list item in a list that is itself a list item + + + + + + Next Stage + 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. + + Now what follows is a display-rule of thickness 5pt with start-indent of 100pt (same space-before/after as before). + + Colour + black + green + silver + lime + gray + olive + white + yellow + maroon + navy + red + blue + purple + teal + fuchsia + aqua + 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 because the following paragraph will show what happens when wrap-option is set to 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. + 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. + White Space Treatment +This is default! +This is preserve! +This is collapse! +This is ignore! + + + + This is a heading + + Item one + Item two + + +]]> + + Embedded SVG + + + + + Hello SVG! + + The above is an example of an SVG graphic + + + + + diff --git a/docs/examples/fo/link.fo b/docs/examples/fo/link.fo new file mode 100644 index 000000000..5a15050d5 --- /dev/null +++ b/docs/examples/fo/link.fo @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 1. normal.pdf + + + + --- + + + + 2. A one line example (text-align='start'): normal.pdf + + + + --- + + + + 3. A multiline text (text-align='start'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to + enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML + has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information + go to normal.pdf + + + + --- + + + + 4. A multiline text (text-align='centered'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to + enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML + has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information + go to normal.pdf + + + + --- + + + + 5. A multiline text (text-align='end'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to + enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML + has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information + go to normal.pdf + + + + --- + + + + 6. A multiline text (text-align='start', space-before.optimum=6pt, font-family=serif padding-top="3pt"). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to + enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML + has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information + go to normal.pdf + + + + + 7. A multiline text (text-align='start', space-before.optimum=6pt, font-family=serif, padding-top="3pt"). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to + enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML + has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information + go to normal.pdf + + + + + + + + + + diff --git a/docs/examples/fo/list.fo b/docs/examples/fo/list.fo new file mode 100644 index 000000000..56d1e22a9 --- /dev/null +++ b/docs/examples/fo/list.fo @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + XSL-FO Example: simple list - p. + + + + + + + + Validity Constraint: Standalone Document Declaration + + + + + The standalone document declaration must have the value "no" if + any external markup declarations contain declarations of: + + + + + + + + + + + + + + + attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or + + + + + + + + + + + + + + entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or + + + + + + + + + + + + + + attributes with values subject to normalization, where the attribute appears in the document with a value which will + + + + + + + + + + + + + + change as a result of normalization, or + + + + + + + + + + + + + + element types with element content, if white space occurs directly within any instance of those types. + + + + + + + + + + + + diff --git a/docs/examples/fo/normal.fo b/docs/examples/fo/normal.fo new file mode 100644 index 000000000..4a078ec58 --- /dev/null +++ b/docs/examples/fo/normal.fo @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + XML Recommendation - p. + + + + + + + + Extensible Markup Language (XML) 1.0 + + + + + Abstract + + + + + The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to + enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML + has been designed for ease of implementation and for interoperability with both SGML and HTML. + + + + + Status of this document + + + + + This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a + W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from + another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its + widespread deployment. This enhances the functionality and interoperability of the Web. + + + + + This document specifies a syntax created by subsetting an existing, widely used international text processing standard + (Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It + is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C + Recommendations and other technical documents can be found at http://www.w3.org/TR. + + + + diff --git a/docs/examples/fo/readme.fo b/docs/examples/fo/readme.fo new file mode 100644 index 000000000..4d2537f6b --- /dev/null +++ b/docs/examples/fo/readme.fo @@ -0,0 +1,1281 @@ + + + + + + + + + + + + + + + + + + + + + FOP - p. + + + + + + +FOP: An Open-Source XSL Formatter and Renderer + + Content + + + + + + + +A) + + + +What is FOP? + + + + +B) + + + +Downloading FOP + + + + +C) + + + +Running FOP + + + + +D) + + + +Embedding FOP + + + + +E) + + + +What's Implemented? + + + + +F) + + + +Limitations + + + + +G) + + + +Bugs + + + + +H) + + + +Compiling FOP + + + + +I) + + + +Getting involved + + + + +J) + + + +FOP Relevant Specifications + + + + +K) + + + +Licence + + + + + + + + + + fop logo + A) + What is FOP? + 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. + + + FOP is part of Apache's XML project. The homepage of FOP is + http:/xml.apache.org/fop + + (http:/xml.apache.org/fop) + . + + + + + + + + B) + Downloading FOP + The latest release version is FOP 12.0 + + () + . + NOTE: you do not have to unjar or unzip this jar file. + Documentation can be downloaded here as HMTL file + + () + or + as PDF file + + () + . + 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. + + You can also download the source code v. 12.0 + + () + as jar file + + + + + + C) + Running FOP + + 1) Prerequisites + Following software must be installed: + a) Java 1.1.x or later + 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 + Sun website + + (http://java.sun.com/products/jfc/#download-swing) + . + + b) An XML parser which supports SAX and DOM like + Xerces-J + + (http://xml.apache.org/xerces-j/index.html) + . + 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 + XT + + (http://www.jclark.com/xml/xt.html) + + or XALAN + + (http://xml.apache.org/xalan/index.html) + . + + + + 2) Starting FOP as an standalone application + There are three ways to run FOP from the command line. + a) Batch processing formatting objects (fo) files: + java org.apache.fop.apps.CommandLine fo-file pdf-file + b) Batch processing xml files (includes production of the fo-files): + java org.apache.fop.apps.CommandLine xml-file xsl-file pdf-file + c) Previewing the fo-file: + java org.apache.fop.apps.AWTCommandLine fo-file + Each method uses next to the fop classes other packages. The following describes + each method in detail. + + a) Method One + 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 + + java -cp fop_x_xx_x.jar;xerces.jar + org.apache.fop.apps.CommandLine fo-file pdf-file + 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: + + java -Dorg.xml.sax.parser=com.jclark.xml.sax.Driver + -cp fop_x_xx_x.jar;sax.jar;xt.jar;xp.jar;xerces.jar + org.apache.fop.apps.AWTCommandLine formatting-tree-file pdf-file + (You have to include xerces.jar or another xml parser which supports DOM in your classpath.) + + + b) Method Two + 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 + + java -Dorg.xml.sax.parser=com.jclark.xml.sax.Driver + -cp fop_x_xx_x.jar;xt.jar;xerces.jar + org.apache.fop.apps.CommandLine xml-file xsl-file pdf-file + 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. + + + + c) Method Three + 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 + + java -cp fop_x_xx_x.jar;xerces.jar + org.apache.fop.apps.AWTCommandLine fo-file + The viewer uses the swing classes. + 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: + + java org.apache.fop.apps.CommandLine fo-file pdf-file + + + + 3) Running FOP on MacOS + + 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. + + 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. + + 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. + + 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. + + + + 4) Problems + If you have problems running FOP, please have a look at the + FOP FAQ + + (faq.html) + . 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. + + + + + + + + + + + D) + Embedding FOP + 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). + + 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. + + A third possibility may be used to build the FO Tree, namely + calling getDocumentHandler() and firing the SAX events yourself. + + Once the FO Tree is built, the format() and render() methods may be + called in that order. + + Here is an example use of Driver from CommandLine.java: + Driver driver = new Driver(); + driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version); + driver.addElementMapping("org.apache.fop.fo.StandardElementMapping"); + driver.addElementMapping("org.apache.fop.svg.SVGElementMapping"); + driver.setWriter(new PrintWriter(new FileWriter(args[1]))); + driver.buildFOTree(parser, fileInputSource(args[0])); + driver.format(); + driver.render(); + + + + + + + E) + What's Implemented? + Also see STATUS for what is being worked on. + + 1) Formatting Objects + + + +* + + +root + + + + +* + + +layout-master-set + + + + +* + + +simple-page-master + + + + +* + + +region-body + + + + +* + + +region-before + + + + +* + + +region-after + + + + +* + + +page-sequence + + + + +* + + +sequence-specification + + + + +* + + +sequence-specifier-single + + + + +* + + +sequence-specifier-repeating + + + + +* + + +sequence-specifier-alternating + + + + +* + + +flow + + + + +* + + +static-content + + + + +* + + +block + + + + +* + + +list-block + + + + +* + + +list-item + + + + +* + + +list-item-label + + + + +* + + +list-item-body + + + + +* + + +page-number + + + + +* + + +display-sequence + + + + +* + + +inline-sequence + + + + +* + + +display-rule + + + + +* + + +display-graphic + + + + +* + + +table (minimal support) + + + + +* + + +table-column (minimal support) + + + + +* + + +table-body (minimal support) + + + + +* + + +table-row (minimal support) + + + + +* + + +table-cell (minimal support) + + + + + + + 2) Properties + + + +* + + +end-indent + + + + +* + + +page-master-name + + + + +* + + +page-master-first + + + + +* + + +page-master-repeating + + + + +* + + +page-master-odd + + + + +* + + +page-master-even + + + + +* + + +margin-top (only on pages and regions) + + + + +* + + +margin-bottom (only on pages and regions) + + + + +* + + +margin-left (only on pages and regions) + + + + +* + + +margin-right (only on pages and regions) + + + + +* + + +extent + + + + +* + + +page-width + + + + +* + + +page-height + + + + +* + + +flow-name + + + + +* + + +font-family + + + + +* + + +font-style + + + + +* + + +font-weight + + + + +* + + +font-size + + + + +* + + +line-height + + + + +* + + +text-align + + + + +* + + +text-align-last + + + + +* + + +space-before.optimum + + + + +* + + +space-after.optimum + + + + +* + + +start-indent + + + + +* + + +end-indent + + + + +* + + +provisional-distance-between-starts + + + + +* + + +provisional-label-separation + + + + +* + + +rule-thickness + + + + +* + + +color + + + + +* + + +wrap-option + + + + +* + + +white-space-treatment + + + + +* + + +break-before + + + + +* + + +break-after + + + + +* + + +text-indent + + + + +* + + +href + + + + +* + + +column-width + + + + +* + + +background-color + + + + +* + + +padding-top (only in conjunction with background color) + + + + +* + + +padding-left (only in conjunction with background color) + + + + +* + + +padding-bottom (only in conjunction with background color) + + + + +* + + +padding-right (only in conjunction with background color) + + + + + + + + + + F) + Limitations + Although FOP implements the above listed fo objects and properties, sometimes it does so + only in a limited way. + + + list-block + 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. + At the moment FOP only implements the second way. Therefore a list has a basic structure like this: + <fo:list-block> + <fo:list-item> + <fo:list-item-label><fo:block></fo:block></fo:list-item-label> + <fo:list-item-body><fo:block></fo:block></fo:list-item-body> + </fo:list-item> + </fo:list-block> + + + Padding + 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. + + + + Tables + 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. + + A working basic example of a table looks like this: + <fo:table> + <fo:table-column column-width="150pt"/> + <fo:table-column column-width="150pt"/> + <fo:table-body font-size="10pt" font-family="sans-serif"> + <fo:table-row> + <fo:table-cell> + <fo:block>text</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>text</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell> + <fo:block>text</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>text</fo:block> + </fo:table-cell> + </fo:table-row> + <fo:table-row> + <fo:table-cell> + <fo:block>text</fo:block> + </fo:table-cell> + <fo:table-cell> + <fo:block>text</fo:block> + </fo:table-cell> + </fo:table-row> + </fo:table-body> + </fo:table> + + + + + + + + + + + + G) + Bugs + see STATUS file + + + + + + + H) + Compiling FOP + + 1. Prerequisites + + a) Java 1.1.x or later + If you use Java 1.1.x you must also seperately include the swing classes, which can + be found at the + Sun website + + (http://java.sun.com/products/jfc/#download-swing) + . From Java 1.2 on (aka Java 2) they are part of the standard + distribution. + + + + b) An XML parser + An XML parser which supports DOM like + Xerces-J + + (http://xml.apache.org/xerces-j/index.html) + . + + + c) XT from James Clark + Some of the Java source code in FOP is generated from XML using + XSLT. XT must be used to generate this code. + 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 + James Clark's website + + (http://www.jclark.com/xml/xt.html) + . You have to use XT version 19991105 or later. + (Under windows you shouldn't use the prepackaged xt.exe but also the + generic jar file, otherwise make won't work) + + XT relies on an sax parser like XP (also J. Clark), which can be + downloaded at James + Clark's Website + + (http://www.jclark.com/xml/xp/index.html) + + + + + d) make + Under windows it has been reported that the use of the cygnus solutions port + of the GNU utilities works. You can find it at + Cygnus Solutions + + (http://sourceware.cygnus.com/cygwin/) + + + + + + Compiling FOP on MacOS + + We strongly recommend the use of Codewarrior Java. This Readme will + contain a link to more information in the near future. + + + + + + + + + I) + Getting involved + 1. Subscribe to fop-dev@xml.apache.org by sending an email + to fop-dev-subscribe@xml.apache.org + 2. Read the archives to fop-dev to get an idea of the issues being + discussed. + 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). + 4. Try :-) to wrap your head around the XSL working draft. + 5. Get CVS working on your system. + 6. Ask, on fop-dev, any questions you have at all about the code, design, etc. + 7. When you feel comfortable modifying the code, send diffs to + fop-dev with your contributions. + 8. Have fun! + + + + + + + J) + FOP Relevant Specifications + + + +* + + + +XML Recommendation + + (http://www.w3.org/TR/REC-xml) + + + + + + +* + + + +XSL-FO Working Draft + + (http://www.w3.org/TR/WD-xsl/) + + + + + + +* + + + +XSLT Recommendation + + (http://www.w3.org/TR/xslt) + + + + + + +* + + + +PDF Documentation + + (http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf) + + + + + + +* + + + +Simple API for XML (SAX) + + (http://www.megginson.com/SAX/) + + + + + + +* + + + +Document Object Model (DOM) + + (http://www.w3.org/TR/REC-DOM-Level-1) + + + + + + +* + + + +Namespaces in XML Recommendation + + (http://www.w3.org/TR/REC-xml-names/) + + + + + + +* + + + +Java JDK 1.1 Documentation + + (http://java.sun.com/products/jdk/1.1/docs/index.html) + + + + + + + + + + + + K) + Licence + ============================================================================ + The Apache Software License, Version 1.1 + ============================================================================ + Copyright (C) 1999 The Apache Software Foundation. All rights reserved. + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + + 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. + + + 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. + + + 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. + + + 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. + + 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. + + + + 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 http://www.apache.org/ + + (http://www.apache.org/) + . + + + + + + + diff --git a/docs/examples/fo/table.fo b/docs/examples/fo/table.fo new file mode 100644 index 000000000..73d6ca16f --- /dev/null +++ b/docs/examples/fo/table.fo @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + FOP - p. + + + + + + + Content + + + + + + + + + + A) + + + What is FOP? + + + + + B) + + + Downloading FOP + + + + + C) + + + Running FOP + + + + + D) + + + Embedding FOP + + + + + E) + + + What's Implemented? + + + + + F) + + + Limitations + + + + + G) + + + Bugs + + + + + H) + + + Compiling FOP + + + + + I) + + + Getting involved + + + + + J) + + + FOP Relevant Specifications + + + + + K) + + + Licence + + + + + + + -- 2.39.5