From fc371af567bb2158f7a251f722bf01dfcc10ed0f Mon Sep 17 00:00:00 2001 From: Keiron Liddle Date: Fri, 10 Aug 2001 13:57:32 +0000 Subject: [PATCH] added some more info todo list - needs more info faq - put some of the basic questions in this page in future should have pictures and more info updated the changed api interface some other minor changes Note: this still needs work (others please help) git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194408 13f79535-47bb-0310-9956-ffa450edef68 --- docs/xml-docs/fop.xml | 1 + docs/xml-docs/fop/architecture.xml | 8 +- docs/xml-docs/fop/compiling.xml | 2 +- docs/xml-docs/fop/embedding.xml | 20 ++--- docs/xml-docs/fop/extensions.xml | 40 ++++++++- docs/xml-docs/fop/faq.xml | 72 ++++++++++++++- docs/xml-docs/fop/testing.xml | 2 +- docs/xml-docs/fop/todo.xml | 135 +++++++++++++++++++++++++++++ 8 files changed, 254 insertions(+), 26 deletions(-) create mode 100644 docs/xml-docs/fop/todo.xml diff --git a/docs/xml-docs/fop.xml b/docs/xml-docs/fop.xml index fd6710fae..03a721e00 100644 --- a/docs/xml-docs/fop.xml +++ b/docs/xml-docs/fop.xml @@ -5,6 +5,7 @@ + diff --git a/docs/xml-docs/fop/architecture.xml b/docs/xml-docs/fop/architecture.xml index 3312e842a..e6dbcad36 100644 --- a/docs/xml-docs/fop/architecture.xml +++ b/docs/xml-docs/fop/architecture.xml @@ -12,14 +12,8 @@ this class, a typical sequence is:

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.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping");
-driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping");
driver.setOutputStream(new FileOutputStream(args[1]));
-driver.buildFOTree(parser, fileInputSource(args[0]));
-driver.format();
-driver.render(); +driver.render(parser, inputHandler.getInputSource()); diff --git a/docs/xml-docs/fop/compiling.xml b/docs/xml-docs/fop/compiling.xml index faeddb774..c6d8ec05d 100644 --- a/docs/xml-docs/fop/compiling.xml +++ b/docs/xml-docs/fop/compiling.xml @@ -8,7 +8,7 @@ can start one of these scripts, you have to setup your classpath and the environment variable JAVA_HOME (see below).

The compilation uses Ant, a replacement of make (you can find more information about Ant at - jakarte.apache.org). + jakarta.apache.org). build.xml is the replacement of makefile. Look there for detailed information on the build process and different targets.

A help screen is shown by calling "build usage".

diff --git a/docs/xml-docs/fop/embedding.xml b/docs/xml-docs/fop/embedding.xml index 8854461eb..745bc2a40 100644 --- a/docs/xml-docs/fop/embedding.xml +++ b/docs/xml-docs/fop/embedding.xml @@ -1,15 +1,14 @@ -

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 OutputStream to use to output the results of the + Renderer to use + and the OutputStream 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 @@ -30,10 +29,10 @@ ]]> -

Once the Driver is set up, the buildFOTree method +

Once the Driver is set up, the render 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. + invocation of the method is either render(Document) or + render(Parser, InputSource) respectively.

A third possibility may be used to build the FO Tree, namely calling getContentHandler() and firing the SAX events yourself. @@ -45,10 +44,9 @@

You can also specify an xml and xsl file for the input.

@@ -58,10 +56,8 @@ driver.setRenderer(Driver.RENDER_PDF); InputHandler inputHandler = new XSLTInputHandler(xmlFile, xslFile); XMLReader parser = inputHandler.getParser(); - driver.buildFOTree(parser, inputHandler); - driver.format(); driver.setOutputStream(new FileOutputStream(outFile)); - driver.render(); + driver.render(parser, inputHandler.getInputSource()); ]]>

Have a look at the classes CommandLineStarter or FopServlet for complete examples.

diff --git a/docs/xml-docs/fop/extensions.xml b/docs/xml-docs/fop/extensions.xml index 388519e7b..ce8ca2672 100644 --- a/docs/xml-docs/fop/extensions.xml +++ b/docs/xml-docs/fop/extensions.xml @@ -1,13 +1,25 @@ - +

Sometimes it is desirable to have extensions to xsl:fo in order to support some feature of the output format which isn't covered by the xsl:fo specification. - To use the Fop extensions, you need to add a namespace entry for +

+ +

+These extension are available by default. They are automatically loaded +and you only need to provide the correct namespace for your embedded +xml markup. +

+ +Please see the SVG page for more details. + + +

To use this standard Fop extension, you need to add a namespace entry for http://xml.apache.org/fop/extensions on the root element.

- -

You can provide outlines inside the root object (but outside any page-sequences or + +

You can provide outlines inside the root object (but outside + any page-sequences or other formatting objects). Here's an example of an outline entry:

It works similarly to a basic-link. There is also an external-destination property, but it isn't supported currently. See the pdfoutline.fo file in docs/examples/fo for a more complete example.

+
+
+ +

+To add your own extension you need to do the following things. +

+

+Write code that implements your extension functionality. +The easiest place to start is by looking at the code in org.apache.fop.extension. +

+

+Create a jar file with your classes, it must also include the following file "/META-INF/services/org.apache.fop.fo.ElementMapping". In this file you need to put the fully qualified classname of your element mappings class. This class must implement the "org.apache.fop.fo.ElementMapping" interface. +

+

+Create your fo file with the extra xml data embedded in the file with the correct name space. The examples for svg and pdfoutline.fo show how this can be done. +

+

+Put your jar file in the classpath and then run fop over the fo file. +

+
diff --git a/docs/xml-docs/fop/faq.xml b/docs/xml-docs/fop/faq.xml index f0dfba96e..f235c49cd 100644 --- a/docs/xml-docs/fop/faq.xml +++ b/docs/xml-docs/fop/faq.xml @@ -2,8 +2,78 @@ -

The Fop faq has an own site. Please look here: + +

+ Here we have some answers to common questions about FOP. This only covers + general information about getting started with FOP and pointers to more + information. +

+

+ For up to date information or more details please visit the Fop FAQ site. + The site uses Jyve to provide an interactive FAQ: http://www.OWAL.co.uk:8090/

+
+ +
    +
  • What is FOP?
  • +
  • How does FOP interact with other Apache Projects?
  • +
  • What is XSL (FO)?
  • +
  • What can I do with FOP?
  • +
  • How can I contribute?
  • +
  • How do I author XSL documents?
  • +
  • How can I see a demo?
  • +
+
+ + + +

+ FOP is a print formatter for XSL formatting objects. +

+

+ It can be used to render an XML file containing XSL formatting objects + into a page layout. The main target is PDF but other rendering targets + are supported, such as AWT, PCL, text and direct printing. +

+
+ + +

+ FOP is distributed with Cocoon as a PDF serializer for XSL (FO) documents. +

+

+ Batik can be used with FOP to transcode an SVG image into a PDF document. + The mime type for PDF is "application/pdf". +

+
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +

+

+
+ + +

+ There will be a Java Webstart demo sometime in the future. +

+
+
+ diff --git a/docs/xml-docs/fop/testing.xml b/docs/xml-docs/fop/testing.xml index a8a24c258..be3d62ac2 100644 --- a/docs/xml-docs/fop/testing.xml +++ b/docs/xml-docs/fop/testing.xml @@ -3,7 +3,7 @@ - +

Testing is an important part of getting FOP to operate correctly and conform to the necessary standards. diff --git a/docs/xml-docs/fop/todo.xml b/docs/xml-docs/fop/todo.xml new file mode 100644 index 000000000..777ed57d7 --- /dev/null +++ b/docs/xml-docs/fop/todo.xml @@ -0,0 +1,135 @@ + + + + + + +

+Core Features - these are the areas that are important to getting fop +to be useable for general use. +

+

+Processing improvements - these are mainly things that can be improved +in the way fop works, eg. resources usage, pdf output etc. +

+

+Enhancements - these are added functionality that might be useful, no +comment is made about the suitability of these suggestions. +

+
+ + +

+This is the crucial part to getting FOP to make it to the next step. +

+
+ +

+a demo using Java Webstart that runs the awt viewer and supports +linking from an index +

+
+ +

+Need to improve the website to better demonstrate what fop is and +can do. Examples, screenshots, pdf documents. +

+
+ +

+Currently all properties are in the xml file. We need to handle all default +values properly (including ones that change depending on the element) and +all possible values. +

+
+ +

+This is support for the functions in property values that evaluate some +expression. +Better support for resolution including support for "inherit" and values +with lists. +

+
+ +

+Check the validity of children for a particular element to ensure +there are no invalid children. Should help process the layout better. +

+
+
+ + +

+Support for proper logging with logKit. +

+
+ +

+Needs to be a bit more solid and allow for direct insertion of images +(jpeg) into the pdf. +

+
+ +

+Support for avalon. Better multithread handling. +

+
+ +

+Support for streaming and linearized pdf to help with different +deployement of pdf documents. +

+
+ +

+Use proper i18n handling for awt viewer. +

+
+ +

+put all common rendering processes into an abstract class that has +no dependancies on any specific renderers. +

+
+
+ + +

+support the a link rendering for the svg output. +

+
+ +

+be able to specify a url as the input fo (or xml, xsl) documents. +

+
+ +

+support (better) the direct rendering of text into pdf graphics +and other similair outputs +

+
+ +

+Create an SVGRenderer that will render all pages onto a single +svg document suitable for slide show presentations (with batik) +suggested by Vincent Hardy. +

+
+ +

+support for different encoding on different types of streams +in pdf document. +

+
+ +

+currently patterns and gradients are not generated properly +

+
+ +
+ + +
+ -- 2.39.5