You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general-cvs@xml.apache.org by fo...@apache.org on 2001/02/06 09:56:37 UTC

cvs commit: xml-site/sources/fop configuration.xml fonts.xml properties.xml resources.xml bugs.xml compiling.xml embedding.xml faq.xml implemented.xml involved.xml limitations.xml readme.xml running.xml specs.xml

fotis       01/02/06 00:56:36

  Modified:    sources/fop bugs.xml compiling.xml embedding.xml faq.xml
                        implemented.xml involved.xml limitations.xml
                        readme.xml running.xml
  Added:       sources/fop configuration.xml fonts.xml properties.xml
                        resources.xml
  Removed:     sources/fop specs.xml
  Log:
  updating to fop 0.17.0
  
  Revision  Changes    Path
  1.6       +5 -15     xml-site/sources/fop/bugs.xml
  
  Index: bugs.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/bugs.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- bugs.xml	2000/08/10 15:24:59	1.5
  +++ bugs.xml	2001/02/06 08:56:22	1.6
  @@ -1,28 +1,18 @@
   <?xml version="1.0" standalone="no"?>
   
  -
  -
   <!-- Bugs -->
   
   <s1 title="Bugs">
     <s2 title="How to report bugs">
  -    <p>Please report bugs to the discussion list fop-dev@xml.apache.org and put 
  -       the word [BUG] in the subject line. </p>
  +    <p>Please report bugs to <jump href="http://nagoya.apache.org/bugzilla/">bugzilla</jump>, the Apache bug
  +       database. A copy of your bug report is sent automatically to the discussion list fop-dev@xml.apache.org. </p>
       <p>Please make sure, before you report a bug, that it is not mentioned in the FAQ or 
  -       in the list of open bugs in the file STATUS in the start directory of the Fop
  -       distribution. </p>
  -    <p>Please make your description as concise as possible and send an example fo 
  +       in the list of open bugs at bugzilla.</p>
  +    <p>Please make your description as concise as possible and add an example fo 
          file with your report, which just demonstrates the problem. Thanks for your help!</p>
     </s2>
     <s2 title="Known bugs">
  -    <ul>
  -      <li>Colour not continued onto subsequent pages, if coloured block goes over page.</li>
  -      <li>SVG linearGradients don't appear the same as in other SVG Viewers</li>
  -      <li>colour not continued onto subsequent pages if coloured block goes over page </li>
  -      <li>no SVG support in AWTCommandLine </li>
  -      <li>keep-next doesn't work and doubles the text lines which should be moved to the next page</li>
  -      <li>lists containing list do not keep their indentation correctly over a page boundary</li>
  -    </ul>
  +    <p>A list of known bugs can be found at <jump href="http://nagoya.apache.org/bugzilla/">bugzilla</jump>.</p>
     </s2>
   </s1>
   
  
  
  
  1.5       +39 -55    xml-site/sources/fop/compiling.xml
  
  Index: compiling.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/compiling.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- compiling.xml	2000/08/10 15:25:00	1.4
  +++ compiling.xml	2001/02/06 08:56:23	1.5
  @@ -4,65 +4,49 @@
   <!-- Compiling FOP -->
   
   <s1 title="Compiling FOP">
  -  <s2 title="Prerequisites">
  -    <s3 title="Java 1.1.x or later">
  -      <p>If you use Java 1.1.x you must also seperately include the swing classes, which can
  -         be found at the <jump href="http://java.sun.com/products/jfc/#download-swing">
  -         Sun website</jump>. From Java 1.2 on (aka Java 2) they are part of the standard 
  -         distribution. 
  -      </p>
  -    </s3>
  -    <s3 title="An XML parser">
  -      <p>An XML parser which supports Sax and DOM like 
  -         <jump href="http://xml.apache.org/xerces-j/index.html">Xerces-J</jump>.
  -         The parser must be in your classpath</p>
  -    </s3>
  -    <s3 title="The xslt processor Xalan ">
  -      <p>Some of the Java source code in FOP is generated from XML using
  -         XSLT. Xalan must be used to generate this code.</p>
  -      <p>Xalan is an XSL stylesheet processor written in java. At the moment you
  -         can't use any other processor, because the make process makes use of some
  -         proprietary features of Xalan which allow to write output in more
  -         then one document. You can find Xalan also at <jump href="http://xml.apache.org/xalan/overview.html">
  -        xml.apache.org</jump>. You have to use Xalan version 0.19.5 or later.
  -         Xalan.jar must be in your classpath and also the file bsf.jar, which comes with Xalan.</p>
  -    </s3>
  -    <s3 title="Setting of JAVA_HOME">
  -      <p>You have to set the enviroment variable JAVA_HOME. It must point to your local JDK 
  -      root directory. This is true, even if you use JDK 1.2 or above, which don't need this 
  -      setting. It is used by the compilation software.</p>
  -    </s3>
  -    <s3 title="Settings in your classpath">
  -      <p>If you want Fop to use the image library jimi, it should be in your classpath during 
  -         compilation. 
  -      </p>
  -      <p>A CLASSPATH for a complete compilation of Fop could look like this, if all these jar files are in 
  +    <p>Compilation is started by executing build, either as a batch file on win32 (build.bat) or as a shell script on unix. Before you
  +       can start one of these scripts, you have to setup your classpath and the environment variable JAVA_HOME (see below).</p>
  +     <p> The compilation uses Ant, 
  +       a replacement of make (you can find more information about Ant at 
  +       <jump href="http://jakarta.apache.org/ant/">jakarte.apache.org</jump>).
  +        build.xml is the replacement of makefile. Look there for detailed information on the build
  +        process and different targets. </p>
  +       <p>A help screen is shown by calling "build usage".</p>
  +       <p>If you only want to use Fop, you don't need to build it. A fop.jar comes with the distribution.</p>
  +   <s2 title="Setting up your classpath">
  +     <p>The build process relies on finding following libraries in your classpath (the version numbers indicate that building with them has been successfully tested, other, later versions may work too:</p>
  +     <ul>
  +        <li><jump href="http://xml.apache.org/xerces-j/index.html">Xerces-J</jump> version 1.2.1 (xml parser). Xerces-J version 1.3.0 does not work, because of a bug in Xerces!</li>
  +        <li><jump href="http://xml.apache.org/xalan/index.html">Xalan</jump> version 1.2 (xslt processor). Xalan 2.0 is also supported.</li>
  +        <li>bsf.jar (comes with Xalan)</li>
  +        <li>jimi.jar (image processing library) this file is optional </li>
  +     </ul>
  +     <p>Other needed libraries and classes come with Fop (in xml-fop/lib), but the build script sets the path to
  +        them, so you only need to care about them, if you build Fop in any other way. See build.bat/build.sh for 
  +        details.
  +    </p>
  +      <p>A classpath for a complete compilation of Fop could look like this, if all these jar files are in 
            a directory called jars (example uses windows syntax):
         </p>
  -      <p><code>set CLASSPATH=\jars\xalan.jar;\jars\xerces.jar;\jars\bsf.jar;\jars\jimi.jar;
  +      <p><code>set CLASSPATH=\jars\xalan.jar; \jars\xerces.jar; \jars\bsf.jar; \jars\jimi.jar;
         </code></p>
  -    </s3>
       </s2>
  -  <s2 title="Compiling">
  -    <p>Compilation is started by executing build, either as a batch file on win32 (build.bat) or as a shell script on unix. The compilation uses Ant, 
  -       a replacement of make (you can find more information about Ant at 
  -       <jump href="http://jakarta.apache.org/ant/">jakarte.apache.org</jump>).
  -        build.xml is the replacement of makefile. Look there for further information. </p>
  -       <p>A help screen is shown by calling "build usage".
  -    </p>
  -  </s2>
  +    <s2 title="Setting of JAVA_HOME">
  +      <p>You have to set the enviroment variable JAVA_HOME. It must point to your local JDK 
  +      root directory. This is true, even if you use JDK 1.2 or above, which normally don't need this 
  +      setting. It is used by Ant, the compilation software.</p>
  +    </s2>
     <s2 title="Problems">
  -    <p>If you have problems compiling Fop, please try this first: delete the build directory completely and
  -       try a new build from scratch. Check, whether you have all necessary libraries in your classpath:
  -       xerces.jar, xalan.jar, bsf.jar, jimi.jar (optional). If you still have problems, please look at the
  -       page <jump href="bugs.html">bugs</jump>, for further help.
  -    </p>
  -  </s2>
  -
  -  <s2 title="Compiling FOP on MacOS">
  -    <!-- contributed by Arved Sandstrom who also manages the webpage the jump points to -->
  -    <p>We strongly recommend the use of Codewarrior Java. You will find 
  -       a link to more information in the near future.
  -    </p>
  +    <p>If you have problems compiling Fop, please try this first: </p>
  +    <ul>
  +      <li>delete the build directory completely and try a new build from scratch</li>
  +      <li>check, whether you have all necessary libraries in your classpath: 
  +          xerces.jar, xalan.jar, bsf.jar, jimi.jar (optional)</li> 
  +      <li>check, whether you have the required versions of Xerces (>= 1.2.1) and Xalan (>=1.2) </li>
  +      <li>check, whether you have an older version of xerces.jar, xalan.jar, w3c.jar somewhere in 
  +          you classpath.</li>
  +      </ul>
  +      <p>If you still have problems, please look at the
  +         page <jump href="bugs.html">bugs</jump>, for further help.</p>
     </s2>
   </s1>
  
  
  
  1.5       +14 -5     xml-site/sources/fop/embedding.xml
  
  Index: embedding.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/embedding.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- embedding.xml	2000/10/13 09:41:15	1.4
  +++ embedding.xml	2001/02/06 08:56:24	1.5
  @@ -5,11 +5,11 @@
   <!-- Embedding FOP -->
   
   <s1 title="Embedding FOP ">
  -  <s2 title="">
  +  <s2 title="Overview">
     <p>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
  +     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
  @@ -22,22 +22,31 @@
        buildFOTree(Parser, InputSource) respectively.
     </p>
     <p>A third possibility may be used to build the FO Tree, namely
  -     calling getDocumentHandler() and firing the SAX events yourself.
  +     calling getContentHandler() and firing the SAX events yourself.
     </p>
     <p>Once the FO Tree is built, the format() and render() methods may be
        called in that order.
     </p>
  -  <p>Here is an example use of Driver from CommandLine.java:</p>
  +  <p>Here is an example use of Driver:</p>
     <p><code>Driver driver = new Driver();</code></p>
     <p><code>driver.setRenderer("org.apache.fop.render.pdf.PDFRenderer", version);</code></p>
     <p><code>driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");</code></p>
     <p><code>driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");</code></p>
     <p><code>driver.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping");</code></p>
     <p><code>driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping");</code></p>
  -  <p><code>driver.setWriter(new PrintWriter(new FileWriter(args[1])));</code></p>
  +  <p><code>driver.setOutputStream(new FileOutputStream(args[1]));</code></p>
     <p><code>driver.buildFOTree(parser, fileInputSource(args[0]));</code></p>
     <p><code>driver.format();</code></p>
     <p><code>driver.render();</code></p>
  +  <p>Have a look at the classes CommandLine or XalanCommandLine for complete examples.</p>
  +  </s2>
  +  <s2 title="Using Fop in a servlet">  
  +     <p>In the directory xml-fop/docs/examples/embedding you can find a working example how to use
  +        Fop in a servlet. You can drop the fop.war into the webapps directory of Tomcat, then 
  +        go to a URL like this:
  +     </p>
  +     <p>http://localhost:8080/fop/fop?fo=/home/path/to/fofile.fo</p>
  +     <p>You can also find the source code there in the file FopServlet.java</p>
     </s2>
   </s1>
   
  
  
  
  1.7       +4 -72     xml-site/sources/fop/faq.xml
  
  Index: faq.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/faq.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- faq.xml	2000/08/10 15:25:02	1.6
  +++ faq.xml	2001/02/06 08:56:25	1.7
  @@ -1,77 +1,9 @@
   <?xml version="1.0"?>
   
   
  -<faqs title="FAQ Running FOP">
  -
  -  <faq title="Source files for the formatting properties are missing">
  -    <q>Q: I can't find the source files for the formatting properties. The directories 
  -       where they should be are empty. Where can I find them?</q>
  -    <a><p>A: They are generated during the build process. So you should use the build script coming 
  -          with Fop at least once to generate these files.
  -       </p>
  -    </a>
  -  </faq>
  -
  -
  -  <faq title="Formatting object xxx doesn't work as expected">
  -    <q>Q: Feature xxx of the XSL Working Draft 27 March 2000 does not work as it should. Why?</q>
  -    <a><p>A: First: Only a small subset of formatting objects and properties is 
  -          implemented at the moment. Please have a look at the section "Features", 
  -          which lists the supported fo and properties. Second: At the moment only 
  -          Working Draft 21 Apr 1999 is supported. 
  -       </p>
  -    </a>
  -  </faq>
  -
  -  <faq title="Supporting the latest XSL working draft">
  -    <q>Q: When will the latest version of the XSL working draft be supported?</q>
  -    <a><p>Basic conformance to the latest XSL working draft is scheduled for fall 2000. 
  -       </p>
  -    </a>
  -  </faq>
  -
  -  <faq title="Fatal error: Root element must be root">
  -     <q>Q: Running FOP I get the following messages or something similar: 
  -        "WARNING: Unknown formatting object http://www.w3.org/XSL/Format/1.0^root"
  -        and then a FATAL Error "Root element must be root, not default FO".</q>
  -     <a>
  -        <p>A: Make sure that you have specified as the namespace for fo the
  -           following string: "http://www.w3.org/1999/XSL/Format". It is analogous 
  -           to the xslt namespace "http://www.w3.org/1999/XSL/Transform"
  -        </p>
  -     </a>
  -  </faq>
  -
  -  <faq title="Char '>' inserted into page number">
  -     <q>Q: The char ">" is inserted into the page number display like this 
  -        "formatting FOs into areas [1] [2] [3>>>>]". Is this a bug?</q>
  -     <a><p>A: No, a feature. It simply means that on that page an area 
  -           overflowed (ie there was not enough room to fit the text in).</p></a>
  -  </faq>
  -
  -  <faq title="Are font properties allowed here">
  -     <q>Q: It looks like FOP must be honoring font properties when it shouldn't be? 
  -        Example: According to the dtd coming with the xsl-fo spec inline-sequence 
  -        shouldn't have any attributes, but FOP doesn't reject them.
  -     </q>
  -     <a>
  -      <p>A: Font properties are inherited down to individual characters. You can
  -         specify font properties on any formatting object you like and any textual content
  -         will inherit those properties (unless overriden by a closer ancestor).
  +<s1 title="Frequently Asked Questions">
  +      <p>The Fop faq has an own site. Please look here: 
  +         <jump href="http://www.owal.co.uk:8090/asf/servlet/asf/screen/DisplayTopics/action/SetAll/project_id/18/faq_id/276">http://www.OWAL.co.uk:8090/</jump>
         </p>
  -      <p>The dtd coming with the xsl-fo spec isn't correct in this respect.
  -      </p>
  -     </a>
  -  </faq>
  -
  -  <faq title="Supported fonts">
  -     <q>Q: I need some additional fonts in FOP. How I can set embedding fonts?
  -     </q>
  -     <a>
  -      <p>A: At present, FOP does not support any fonts other than the built-in fonts
  -        Times, Helvetica, Courier, Symbol and ZapfDingbats. 
  -       </p>
  -     </a>
  -  </faq>
  +</s1>
   
  -</faqs>
  
  
  
  1.6       +113 -47   xml-site/sources/fop/implemented.xml
  
  Index: implemented.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/implemented.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- implemented.xml	2000/08/10 15:25:03	1.5
  +++ implemented.xml	2001/02/06 08:56:25	1.6
  @@ -6,48 +6,103 @@
   <s1 title="Features">
     <s2 title="What's Implemented?">
         <p>The following formatting objects and properties of the xsl-fo 
  -         working draft (27 March 2000) are implemented. Please have also a look at the 
  +         candidate recommendation are implemented.Please have also a look at the 
            section on <jump href="limitations.html">limitations</jump>
         </p>
     </s2>
     <s2 title="1) Formatting Objects">
  -    <ul>
  -      <li>block </li>
  -      <li>conditional-page-master-reference</li>
  -      <li>display-sequence </li>
  -      <li>external-graphic</li>
  -      <li>flow</li>
  -      <li>inline-sequence </li>
  -      <li>instream-foreign-object</li>
  -      <li>layout-master-set </li>
  -      <li>leader, but see <jump href="limitations.html">limitations</jump></li>
  -      <li>list-block </li>
  -      <li>list-item </li>
  -      <li>list-item-body </li>
  -      <li>list-item-label </li>
  -      <li>page-number </li>
  -      <li>page-number-citation, see <jump href="limitations.html">limitations</jump></li>
  -      <li>page-sequence </li>
  -      <li>page-sequence-master</li>
  -      <li>region-after </li>
  -      <li>region-before </li>
  -      <li>region-body </li>
  -      <li>repeatable-page-master-alternatives</li>
  -      <li>repeatable-page-master-reference</li>
  -      <li>root</li>
  -      <li>simple-page-master </li>
  -      <li>simple-link (internal and external)</li>
  -      <li>single-page-master-reference</li>
  -      <li>static-content </li>
  -      <li>table (minimal support)</li>
  -      <li>table-body (minimal support)</li>
  -      <li>table-cell (minimal support)</li>
  -      <li>table-column (minimal support)</li>
  -      <li>table-row (minimal support)</li>
  -    </ul>
  +    <p>This section follows the table "B Formatting Object Summary" in the xsl:fo specification. At the 
  +       end of each sub-section you find listed what is not implemented.</p>
  +
  +    <s3 title="B.1 Declaration and Pagination and Layout Formatting Objects">
  +      <ul>
  +        <li>root</li>
  +        <li>page-sequence </li>
  +        <li>page-sequence-master</li>
  +        <li>single-page-master-reference</li>
  +        <li>repeatable-page-master-reference</li>
  +        <li>repeatable-page-master-alternatives</li>
  +        <li>conditional-page-master-reference</li>
  +        <li>layout-master-set </li>
  +        <li>simple-page-master </li>
  +        <li>region-body </li>
  +        <li>region-before </li>
  +        <li>region-after </li>
  +        <li>flow</li>
  +        <li>static-content </li>
  +      </ul>
  +      <p>Not implemented: region-start, region-end, declarations, color-profile, title</p>
  +    </s3>
  +
  +    <s3 title="B.2 Block Formatting Objects">
  +      <ul>
  +        <li>block </li>
  +      </ul>
  +      <p>Not implemented: block-container</p>
  +    </s3>
  +
  +    <s3 title="B.3 Inline Formatting Objects">
  +      <ul>
  +        <li>character</li>
  +        <li>external-graphic</li>
  +        <li>inline</li>
  +        <li>instream-foreign-object</li>
  +        <li>leader</li>
  +        <li>page-number </li>
  +        <li>page-number-citation, see <jump href="limitations.html">limitations</jump></li>
  +      </ul>
  +      <p>Not implemented: bidi-override, initial-property-set, inline-container</p>
  +    </s3>
  +
  +    <s3 title="B.4 Table Formatting Objects">
  +      <ul>
  +        <li>table </li>
  +        <li>table-body</li>
  +        <li>table-cell</li>
  +        <li>table-column</li>
  +        <li>table-footer</li>
  +        <li>table-header</li>
  +        <li>table-row</li>
  +      </ul>
  +      <p>Not implemented: table-and-caption, table-caption </p> 
  +    </s3>
  +
  +    <s3 title="B.5 List Formatting Objects">
  +      <ul>
  +        <li>list-block </li>
  +        <li>list-item </li>
  +        <li>list-item-body </li>
  +        <li>list-item-label </li>
  +      </ul>
  +    </s3>
  +
  +    <s3 title="B.6 Link and Multi Formatting Objects">
  +      <ul>
  +        <li>basic-link (internal and external)</li>
  +      </ul>
  +      <p>Not implemented: multi-switch, multi-case, multi-toggle,
  +         multi-properties, multi-property-set</p>
  +    </s3>
  +
  +    <s3 title="B.7 Out-of-line Formatting Objects">
  +      <ul>
  +        <li>footnote</li>
  +        <li>footnote-body</li>
  +      </ul>
  +      <p>Not implemented: float</p>
  +    </s3>
  +
  +    <s3 title="B.8 Other Formatting Objects">
  +      <ul>
  +        <li>wrapper</li>
  +      </ul>
  +      <p>Not implemented: marker, retrieve-marker</p>
  +    </s3>
     </s2>
   
  +
     <s2 title="2) Properties">
  +  <p>Property values can be computed. Compound properties are also understood by Fop.</p>
       <ul>
         <li>background-color </li>
         <li>blank-or-not-blank</li>
  @@ -85,8 +140,12 @@
         <li>bottom</li>
         <li>break-after </li>
         <li>break-before </li>
  +      <li>character</li>
         <li>color </li>
  +      <li>column-count</li>
  +      <li>column-gap</li>
         <li>column-width </li>
  +      <li>country</li>
         <li>end-indent </li>
         <li>extent </li>
         <li>external-destination</li>
  @@ -96,10 +155,19 @@
         <li>font-style </li>
         <li>font-weight </li>
         <li>height</li>
  +      <li>hyphenate</li>
  +      <li>hyphenation-character</li>
  +      <li>hyphenation-push-character-count</li>
  +      <li>hyphenation-remain-character-count</li>
         <li>id</li>
         <li>initial-page-number</li>
         <li>internal-destination</li>
  -      <li>keep-with-next</li>
  +      <li>keep-with-next (broken)</li>
  +      <li>language</li>
  +      <li>leader-alignment (not value "page")</li>
  +      <li>leader-length (see limitations)</li>
  +      <li>leader-pattern (not value "use-content")</li>
  +      <li>leader-pattern-width</li>
         <li>left</li>
         <li>line-height </li>
         <li>margin-bottom (only on pages and regions) </li>
  @@ -108,6 +176,7 @@
         <li>margin-top (only on pages and regions) </li>
         <li>master-name </li>
         <li>maximum-repeats</li>
  +      <li>number-columns-spanned</li>
         <li>odd-or-even</li>
         <li>padding (only one value allowed) </li>
         <li>padding-after</li>
  @@ -125,20 +194,27 @@
         <li>provisional-distance-between-starts </li>
         <li>provisional-label-separation </li>
         <li>ref-id </li>
  +      <li>region-name</li>
         <li>right</li>
  +      <li>rule-style</li>
         <li>rule-thickness </li>
         <li>space-after.optimum </li>
         <li>space-before.optimum </li>
  +      <li>span</li>
         <li>src </li>
         <li>start-indent </li>
  +      <li>table-omit-footer-at-break</li>
  +      <li>table-omit-header-at-break</li> 
         <li>text-align </li>
         <li>text-align-last </li>
  +      <li>text-decoration</li>
         <li>text-indent </li>
         <li>top</li>
  -      <li>white-space-treatment </li>
  +      <li>white-space-collapse</li>
         <li>width</li>
         <li>wrap-option</li>
       </ul>
  +    <p>All other properties are not implemented.</p>
     </s2>
   
     <s2 title="3) SVG elements supported">
  @@ -212,14 +288,4 @@
       </ul>
     </s2>
   </s1>
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   
  
  
  
  1.8       +2 -2      xml-site/sources/fop/involved.xml
  
  Index: involved.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/involved.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- involved.xml	2000/10/13 09:41:16	1.7
  +++ involved.xml	2001/02/06 08:56:26	1.8
  @@ -22,7 +22,7 @@
     </s2>
     <s2 title="Look at the developer's code using cvs">
     <p>Between releases the newest code can be accessed via cvs. To do this you need to install a cvs 
  -     client on your computer if it is not already there. An explanation how to connect to the 
  +     client on your computer, if it is not already there. An explanation how to connect to the 
        Fop source repository can be found at <jump href="http://xml.apache.org/cvs.html">http://xml.apache.org/cvs.html</jump>. 
        An introduction into cvs and the cvs manual can be found in the 
        <jump href="http://xml.apache.org/library.html">reference library</jump>.</p>
  @@ -41,7 +41,7 @@
        Management Committee' (An explanation of these roles can be found <jump href="http://xml.apache.org/roles.html">here</jump>).</p>
     </s2>
     <s2 title="Get familiar with the Fop related standards">
  -  <p>At the moment Fop is mainly a tools to render XSL:FO files to pdf. Therefore if you want to contribute to Fop you should become
  +  <p>At the moment Fop is mainly a tool to render XSL:FO files to pdf. Therefore if you want to contribute to Fop you should become
        familiar with these standards. You can find their internet addresses on our <jump href="specs.html">website</jump>.</p>
     </s2>
     <s2 title="Fop's architecture">
  
  
  
  1.5       +2 -9      xml-site/sources/fop/limitations.xml
  
  Index: limitations.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/limitations.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- limitations.xml	2000/08/10 15:25:04	1.4
  +++ limitations.xml	2001/02/06 08:56:26	1.5
  @@ -9,11 +9,8 @@
        in <jump href="implemented.html">features</jump>, sometimes it does so only in a limited way. 
     </p>
   
  -  <s2 title="leader">
  -    <p>fo:leader is only supported in a very limited way: you can use it to draw simple rules. 
  -       Only the property value leader-pattern="rule" is supported. leader-length can be set, 
  -       but the value is not used. You should wrap leader into a block element.
  -    </p>
  +  <s2 title="fo:leader">
  +    <p>leader-length.minimum is not used at all</p>
     </s2>
   
     <s2 title="page-number-citation">
  @@ -79,9 +76,5 @@
       <p><code>&lt;/fo:table></code></p>
     </s2>
   
  -  
  -  <!--<s2 title="display-graphic">
  -    <p>Which formats are supported? Compression etc. </p>  
  -  </s2>-->
   
   </s1>
  
  
  
  1.8       +12 -7     xml-site/sources/fop/readme.xml
  
  Index: readme.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/readme.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- readme.xml	2000/10/13 09:41:16	1.7
  +++ readme.xml	2001/02/06 08:56:27	1.8
  @@ -1,7 +1,6 @@
   <?xml version="1.0" standalone="no"?>
   
   
  -<!-- $Id: readme.xml,v 1.7 2000/10/13 09:41:16 fotis Exp $ -->
   <!-- 
     Authors:
      James Tauber
  @@ -21,22 +20,28 @@
          like XT or Xalan) or can be passed in memory as a DOM Document or (in
          the case of XT) SAX events.
       </p>
  -    <p>The latest version of Fop is 0.14 and it supports partially the xsl:fo working draft 
  -       from March 2000. You can <jump href="download.html">download</jump> 
  -       Fop including a precompiled version the source code and many example files to 
  +    <p>The latest version of Fop is 0.17 and it supports the xsl:fo candidate release.
  +       You can <jump href="download.html">download</jump> 
  +       Fop including a precompiled version, the source code and many example files to 
          get you started. Pointers to introductions into xsl:fo can be found in the
  -       section <jump href="specs.html">specifications</jump>. 
  +       section <jump href="specs.html">specifications</jump>. Please be aware, that 
  +       Fop is at the moment not a full implementation of the basic conformance level
  +       of the xsl:fo standard. You can find a list of supported flow objects and properties
  +       in the section <jump href="implemented.html">Features</jump> and in section 
  +       <jump href="limitations.html">Limitations</jump> in what way this support is 
  +       limited.
       </p>
       <p>FOP is part of Apache's XML project. The homepage of FOP is 
          <jump href="http://xml.apache.org/fop">http://xml.apache.org/fop</jump>. A list
          of known bugs, the committers to this project and the tasks they are working on can be found 
  -       in the file <jump href="http://xml.apache.org/websrc/cvsweb.cgi/xml-fop/">Status</jump>
  +       in the file <jump href="http://xml.apache.org/websrc/cvsweb.cgi/xml-fop/">Status</jump> in the
  +       root of your Fop distribution.
       </p>
     </s2>
   
     <s2 title="FOP Objectives">
       <p>The goals of the Apache XML FOP Project are to deliver an XSL FO->PDF formatter that is compliant to at least the Basic
  -       conformance level described in the 27 March 2000 XSL WD, and that complies with the 11 March 1999 Portable Document
  +       conformance level described in the W3C Candidate Recommendation 21 November 2000, and that complies with the 11 March 1999 Portable Document
          Format Specification (Version 1.3) from Adobe Systems. 
       </p>
   
  
  
  
  1.8       +18 -6     xml-site/sources/fop/running.xml
  
  Index: running.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/fop/running.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- running.xml	2000/10/13 09:41:17	1.7
  +++ running.xml	2001/02/06 08:56:28	1.8
  @@ -13,18 +13,19 @@
       </p>
       <p>c) Fop supports SVG (see <jump href="implemented.html">Features</jump> for further information) and
             needs the w3c.jar library. This library comes with Fop (xml-fop/lib) and must
  -          be included in your classpath. The jar file w3c.jar is the compiled classes for the
  +          be included in your classpath. The jar file w3c.jar contains the compiled classes for the
             java svg bindings with some other DOM classes that are used by the SVG DOM bindings.
             The source for the svg java binding classes can be found at - <jump href="http://www.w3.org/TR/2000/CR-SVG-20000802/java.html">
  -          SVG Java bindings</jump>, currently they correspond to the CR-SVG-20000802 specification document.
  +          SVG Java bindings</jump>, currently they correspond to the SVG Candidate Recommendation (02 November 2000).
             The other required files can be found at <jump href="http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/java-binding.html">W3C DOM Java binding</jump>.
       </p>
       <p>d) Optional: Fop supports the jimi library for image processing, if it is in your classpath
  -          when you build Fop. You can find it at <jump href="http://java.sun.com/products/jimi/">java.sun.com</jump>
  +          when you build Fop (the precompiled version supports jimi). You can find it at 
  +          <jump href="http://java.sun.com/products/jimi/">java.sun.com</jump>
       </p>
     </s2>
     <s2 title="Starting FOP as an standalone application">
  -    <p>There are two ways to run FOP from the command line.</p>
  +    <p>There are three ways to run FOP from the command line.</p>
       <p>a) Batch processing formatting objects (fo) files: </p>
       <p><code>java org.apache.fop.apps.CommandLine fo-file pdf-file</code></p>
       <p>b) Batch processing xml files (includes production of the fo-files):</p>
  @@ -32,7 +33,7 @@
       <p>c) Previewing the fo-file:</p>
       <p><code>java org.apache.fop.apps.AWTCommandLine fo-file</code></p>
       <p>Each method uses next to the fop classes other packages. The following describes 
  -       each method in detail.</p>
  +       each method in detail. </p>
       <s3 title="Method One">
         <p>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
  @@ -76,6 +77,17 @@
         <p>The viewer uses the swing classes.</p> 
       </s3>
     </s2>
  +  <s2 title="Commandline switches">
  +      <p>Fop supports at the moment following commandline switches: </p>
  +      <s3 title="-d">
  +      <p>This switch informs you in case of an error of the method stack</p>
  +      </s3>
  +      <s3 title="-cUserconfig.xml">
  +      <p>The switch '-c' immediately followed by a file name, p.e. Userconfig.xml, tells Fop to use this 
  +         user configuration file. 
  +      </p>
  +      </s3>
  +  </s2>
     <s2 title="Running FOP on MacOS">  
       <!-- Contributed by Arved Sandstrom -->
       <p>Ensure that you have a recent MRJ, and that you have downloaded and
  @@ -97,7 +109,7 @@
     </s2>
     <s2 title="Problems">
       <p>If you have problems running FOP, please have a look at the 
  -       <jump href="faq-running.html">FOP FAQ</jump>. If you don't find a solution there,
  +       <jump href="http://www.owal.co.uk:8090/asf/servlet/asf/screen/DisplayTopics/action/SetAll/project_id/18/faq_id/276">FOP FAQ</jump>. If you don't find a solution there,
          you can ask for help on the list fop-dev@xml.apache.org. Maybe it is a bug and 
          maybe somebody is already working on it. 
       </p>
  
  
  
  1.1                  xml-site/sources/fop/configuration.xml
  
  Index: configuration.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  
  
  <s1 title="Configuration">
    <s2 title="How to configure Fop">
      <p>In the directory xml-fop/conf you will find two configuration files. One of them,
         config.xml, is only intended for Fop developers, who want to add new default values 
         to some Fop feature. Don't change this file. For user configuration there is a file called
         userconfig.xml. It contains templates for all settings a user can change. Most of them are 
         commented out. Uncomment the entry you want to set and change the value according to 
         your wishes. Please regard any comments which specify the value range. And, well, the 
         configuration files are xml files, so keep them at least well-formed ;-)
      </p>
      <p>The file userconfig.xml is not read automatically, but the user must specify its use on 
         the command line. See <jump href="running.html">Running Fop</jump> for details. 
      </p>
    </s2>
    <s2 title="setting up hyphenation">
      <p>Fop comes already with some hyphenation pattern. If you need a hyphenation pattern
         which isn't included in the distribution, do the following: 
      </p>
      <p>1. get the TeX hyphenation pattern file and turn it into an xml file which conforms
         to the hyphenation.dtd in the sub directory /hyph
      </p>
      <p>2. name this new file following this schema: languageCode_countryCode.xml. If you don't need 
         a country code, leave it away, p.e. the file name for an American english hyphenation pattern
         would look like this: en_US.xml. For an Italian file: it.xml. Language and country codes must be
         the same as in xsl:fo, that is follow 
         <jump href="http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt">ISO 639</jump> 
         and <jump href="http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt">ISO 3166</jump> 
         respectively. NOTE: The ISO 639/ISO 3166 convention is that language names are
         written in lower case, while country codes are written in upper case.
      </p>
      <p>3. If you have build your new hyphenation pattern file successfully there are
         two ways to make it accessible to Fop. 
      </p>
      <p>   a) Put this new file into the directory /hyph and rebuild Fop. The file will 
        be picked up and added to the fop.jar.
      </p>
      <p>   b) Put the file into a directory of your choice and specify this directory
        in the userconfig.xml in the entry &lt;hyphenation-dir>. 
      </p>
    </s2>
  </s1>
  
  
  
  
  1.1                  xml-site/sources/fop/fonts.xml
  
  Index: fonts.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!-- Font Support -->
  <!-- Authors: Jeremias Maerki, Tore Engvig-->
  <s1 title="Font Support ">
  	<s2 title="Status">
  		<p>FOP (building PDF files) normally supports only the base 14 font package defined in the Adobe PDF specification.
  		That includes the following fonts: Helvetica, Times, Courier, Symbol and ZapfDingbats.
  		</p>
  		<p>Font support in FOP can be extended by the addition of font metric files (written in XML) created from Adobe
  		Type 1 fonts and Truetype fonts. No other font types (Type 0, Type 3, etc.) are supported at this time. The current method
  		of adding fonts to FOP requires the package to be recompiled. You can also embed fonts into pdf files; see below.
  		</p>
  	</s2>
  	<s2 title="Adding additional Type 1 fonts">
  		<p>As mentioned above you need an XML file containing font metrics to be able to use an additional font. FOP
  		contains a tool that can generate such a font metrics file from a PFM file, which normally comes with the font file. 
  		</p>
  		<s3 title="Generating a font metrics file">
  			<p>	Run the class org.apache.fop.fonts.apps.PFMReader to generate the XML file. Important: The tool does two
  			XSL transformations, one of which uses charlist.xml. At the moment in order for the tool to work correctly you
  			have to copy charlist.xml temporarily to the local directory from where you intend to start the tool.
  			(If anyone has an improvement on this...)
  			</p>
  			<p>
  				<code>java -cp fop.jar;xerces.jar;xalan.jar;w3c.jar</code>
  			</p>
  			<p>
  				<code>org.apache.fop.fonts.apps.PFMReader pfm-file xml-file</code>
  			</p>
  			<p>Put the resulting XML file into the src/codegen directory.
  			</p>
  			<p>Note: The tool will construct some values (FontBBox, StemV and ItalicAngle) based on assumptions and
  			calculations which are only an approximation to the real values. FontBBox and Italic Angle can be found in
  			the human-readable part of the PFB file. The PFMReader tool does not yet interpret PFB files, so if you want
  			to be correct, you may have to adjust the values in the XML file manually. The constructed values however
  			appear to have no visible influence.
  			</p>
  		</s3>
  		<s3 title="Register the fonts within FOP">
  			<p>Open the class org.apache.fop.render.pdf.FontSetup and add entries to the ones present according to
  			the following example:
  			</p>
  			<p>
  				<code>fontInfo.addMetrics("F14", new ZapfDingbats());</code>
  			</p>
  			<p>
  				<code>fontInfo.addMetrics("F15", new BauerBodoniRoman()); //This is the new entry.</code>
  			</p>
  			<p>
  				<code>...</code>
  			</p>
  			<p>
  				<code>fontInfo.addFontProperties("F14", "ZapfDingbats", "normal", "normal");</code>
  			</p>
  			<p>
  				<code>fontInfo.addFontProperties("F15", "BauerBodoni", "normal", "normal"); //This is the new entry.</code>
  			</p>
  			<p>Note: The class name to use is visible in the &lt;class-name&gt; element of the font metrics file.
  			</p>
  		</s3>
  		<s3 title="Adjusting build.xml">
  			<p>In the src/codegen directory you find the font metrics files for the base 14 fonts. The are being transformed
  			during build into Java classes and then compiled. The newly generated font metrics file must be included in this 
  			process. To do that open build.xml and add entries according to the following example:
  			</p>
  			<p>
  				<code>&lt;property name="ZapfDingbats.xml" value="${build.codegen}/ZapfDingbats.xml"/&gt;</code>
  			</p>
  			<p>
  				<code>&lt;property name="BauerBodoni.xml" value="${build.codegen}/BauerBodoni.xml"/&gt;</code>
  			</p>
  			<p>
  				<code>...</code>
  			</p>
  			<p>
  				<code>&lt;xslt infile="${ZapfDingbats.xml}" xsltfile="${fontfile.xsl}"</code>
  			</p>
  			<p>
  				<code>outfile="${build.src}/${replacestring}/render/pdf/fonts/ZapfDingbats.java" smart="yes"/&gt;</code>
  			</p>
  			<p>
  				<code>&lt;xslt infile="${BauerBodoni.xml}" xsltfile="${t1fontfile.xsl}"</code>
  			</p>
  			<p>
  				<code>outfile="${build.src}/${replacestring}/render/pdf/fonts/BauerBodoniRoman.java" smart="yes"/&gt;</code>
  			</p>
  			<p>Rebuild FOP!
  			</p>
  			<p>Note: Be sure to use ${t1fontfile.xsl} instead of ${fontfile.xsl}. This is neccessary because of the additional metrics
  			information needed for non base 14 fonts.
  			</p>
  		</s3>
  	</s2>
  	<s2 title="Adding additional TrueType">
          <p>Adding Truetype fonts is almost identical to the process of adding type 1 fonts. The main difference is in the first step.</p>
  		<s3 title="Generating a font metrics file">
              <p>As mentioned above you need an XML file containing font metrics to be able to use an additional font. FOP
                 contains a tool that can generate such a font metrics file from your truetype font file
              </p>
              <p>Create metrics for the fontfile (we assume the file has the name cmr10.ttf und to be in c:\myfonts\):            </p>
              <p><code>java org.apache.fop.fonts.apps.TTFReader -fn TCM -cn TCM -ef C:\myfonts\cmr10.ttf C:\myfonts\cmr10.ttf ttfcm.xml</code></p>
              <p>the -fn option sets the font name (in the example to TCM )</p>
              <p>the -cn option set the classname (in the example to CM)</p>
              <p>the -ef option will try to embed to font at the given path when fop is running (you can 
                 change that in the generated xml file). </p>
  		</s3>
  		<s3 title="Register the fonts within FOP">
  			<p>Open the class org.apache.fop.render.pdf.FontSetup and add entries to the ones present according to
  			the following example:
  			</p>
  			<p>
  				<code>fontInfo.addMetrics("F14", new ZapfDingbats());</code>
  			</p>
  			<p>
  				<code>fontInfo.addMetrics("F19", new TCM()); //This is the new entry.</code>
  			</p>
  			<p>
  				<code>...</code>
  			</p>
  			<p>
  				<code>fontInfo.addFontProperties("F14", "ZapfDingbats", "normal", "normal");</code>
  			</p>
  			<p>
  				<code>fontInfo.addFontProperties("F19", "TCM", "normal", "normal"); //This is the new entry.</code>
  			</p>
  			<p>Note: The class name to use is visible in the &lt;class-name&gt; element of the font metrics file.
  			</p>
  		</s3>
  		<s3 title="Adjusting build.xml">
  			<p>In the src/codegen directory you find the font metrics files for the base 14 fonts. The are being transformed
  			during build into Java classes and then compiled. The newly generated font metrics file must be included in this 
  			process. To do that open build.xml and add entries according to the following example:
  			</p>
  			<p>Look for the section "Initialization target" and add the following line at the end of it</p>
      		<p><code>&lt;property name="tcm.xml" value="${build.codegen}/tcm.xml"&gt;</code></p>
              <p>then search for the section "Generate the source code". At the end of this section you can find 
                 templates for type 1 and truetype fonts. use them with your font name:</p>
      		<p><code>&lt;xslt infile="${tcm.xml}" xsltfile="${ttffontfile.xsl}" 
                      outfile="${build.src}/${replacestring}/render/pdf/fonts/TCM.java" smart="yes"/&gt;</code></p>
          </s3>
          <s3 title="embedding fonts">
              <p>edit conf\userconfig.xml and add TCM to the list of embedded fonts</p>
              <p>Don't forget: If you have embedded fonts, you must run Fop with the flag -cuserconfig.xml,  
                 otherwise the settings in userconfig.xml will not be read.</p>
          </s3>
          <p>Rebuild FOP!</p>
  
  	</s2>
  </s1>
  
  
  
  1.1                  xml-site/sources/fop/properties.xml
  
  Index: properties.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!-- $Id: properties.xml,v 1.1 2001/02/06 08:56:27 fotis Exp $ -->
  <!-- 
    Authors:
     Karen Lease
  -->
  
  <!-- New properties.xml overview -->
  
  <s1 title="Properties">
    <s2 title="Property datatypes">
  <p>The property datatypes are defined in the
  org.apache.fop.datatypes package, except Number and String which are java
  primitives. The FOP datatypes are:</p>
  <ul>
  <li>Number</li>
  <li>String</li>
  <li>ColorType</li>
  <li>Length (has several subclasses)</li>
  <li>CondLength (compound)</li>
  <li>LengthRange (compound)</li>
  <li>Space (compound)</li>
  <li>Keep (compound)</li>
  </ul>
  <p>The <em>org.apache.fop.fo.Property</em> class is the superclass for all
  Property subclasses. There is a subclass for each kind of property
  datatype. These are named using the datatype name plus the word
  Property, resulting in NumberProperty, StringProperty, and so
  on. There is also a class EnumProperty which uses an <code>int</code>
  primitive to hold enumerated values. There is no corresponding Enum
  datatype class.</p>
  <p>The Property class provides a "wrapper" around any possible
  property value. Code manipulating property values (in layout for
  example) usually knows what kind (or kinds) of datatypes are
  acceptable for a given property and will use the appropriate accessor.</p>
  <p>The base Property class defines accessor methods for all FO property
  datatypes, such as getNumber(), getColorType(), getSpace(), getEnum(),
  etc. It doesn't define
  accessors for SVG types, since these are handled separately (at least
  for now.) In the base Property class, all of these methods return
  null, except getEnum which returns 0. Individual subclasses return a value of the appropriate type,
  such as Length or ColorType. A subclass may also choose to return a
  reasonable value for other accessor types. For example, a
  SpaceProperty will return the optimum value if asked for a Length.</p>
    </s2>
  
    <s2 title="Property Makers">
  <p>The Property class contains a nested class called
  <em>Maker</em>. This is the base class for all other property Makers. It
  provides basic framework functionality which is overridden by the
  code generated by properties.xsl from the *properties.xml files. In
  particular it provides basic expression evaluation, using
  PropertyParser class in the org.apache.fop.fo.expr package.</p>
  <p>Other Property subclasses such as LengthProperty define their own
  nested Maker classes (subclasses of Property.Maker). These handle
  conversion from the Property subclass returned from expression
  evaluation into the appropriate subclass for the property.</p>
  <p>For each generic or specific property definition in the
  properties.xml files, a new subclass of one of the Maker classes is
  created. Note that no new Property subclasses are created, only new
  PropertyMaker subclasses. Once the property value has been parsed and
  stored, it has no specific functionality. Only the Maker code is
  specific. Maker subclasses define such aspects as keyword
  substitutions, whether the property can be inherited or not, which
  enumerated values are legal, default values, corresponding properties
  and specific datatype conversions.</p>
  </s2>
    <s2 title="XML property specification format">
    <s3 title="Generic properties">
  <p>In the properties xml files, one can define generic property
  definitions which can serve as a basis for individual property
  definitions. There are currently several generic properties defined in
  foproperties.xml. An example is GenericColor, which defines basic properties
  for all ColorType properties. Since the generic specification doesn't include
  the inherited or default elements, these should be set in each property
  which is based on GenericColor. Here is an example:</p>
  <p>
  <code>
    &lt;property type='generic'>
      &lt;name>background-color&lt;/name>
      &lt;use-generic>GenericColor&lt;/use-generic>
      &lt;inherited>false&lt;/inherited>
      &lt;default>transparent&lt;/default>
    &lt;/property>
  </code></p>
  <p>A generic property specification can include all of the elements
  defined for the property element in the DTD, including the description
  of components for compound properties, and the specification of
  keyword shorthands.</p>
  
  <p>Generic property specifications can be based on other generic
  specifications.
  An example is GenericCondPadding template which is based on the
  GenericCondLength definition but which extends it by adding an inherited
  element and a default value for the length component.</p>
  <p>
  Generic properties can specify enumerated values, as in the
  GenericBorderStyle template. This means that the list of values, which
  is used by 8 properties (the "absolute" and "writing-mode-relative"
  variants for each BorderStyle property) is only specified one time.</p>
  <p>
  When a property includes a "use-generic" element and includes no other
  elements (except the "name" element), then no class is generated for the
  property. Instead the generated mapping will associate this
  property directly with an instance of the generic Maker.</p>
  <p>
  A generic class may also be hand-coded, rather than generated from the
  properties file.
  Properties based on such a generic class are indicated by the
  attribute <code>ispropclass='true'</code> on the
  <em>use-generic</em> element.</p>
  <p> This is illustrated by the SVG properties, most of
  which use one of the Property subclasses defined in the
  <em>org.apache.fop.svg</em>
  package. Although all of these properties are now declared in 
  svgproperties.xml, no specific classes are generated.  Classes are only
  generated for those SVG properties which are not based on generic
  classes defined in svg.</p>
    </s3>
    <s3 title="Element-specific properties">
  <p>Properties may be defined for all flow objects or only for
  particular flow objects. A PropertyListBuilder object will always look
  first for a Property.Maker for the flow object before looking in the
  general list. These are specified in the
  <code>element-property-list</code> section of the properties.xml
  files. The <code>localname</code> element children of this element specify for
  which flow-object elements the property should be registered.</p>
  <p><em>NOTE</em>: All the properties for an object or set of objects
  must be specified in a single element-property-list element. If the
  same localname appears in several element lists, the later set of
  properties will hide the earlier ones! Use the <em>ref</em>
  functionality if the same property is to be used in different sets of
  element-specific mappings.
  </p>
    </s3>
    <s3 title="Reference properties">
    <p>A property element may have a type attribute with the value
    <code>ref</code>. The
    content of the <em>name</em> child element is the name of the referenced
    property (not its class-name!). This indicates that the property
    specification has
    already been given, either in this same specification file or in a
    different one (indicated by the <code>family</code> attribute). The
    value of the family attribute is <em>XX</em> where the file 
    <em>XXproperties.xml</em> defines the referenced property. For
    example, some SVG objects may have properties defined for FO. Rather
    than defining them again with a new name, the SVG properties simply
    reference the defined FO properties. The generating mapping for the
    SVG properties will use the FO Maker classes.</p>
    </s3>
    <s3 title="Corresponding properties">
  <p>Some properties have both <em>absolute</em> and
  <em>writing-mode-relative</em> forms. In general, the absolute forms
  are equivalent to CSS properties, and the writing-mode-relative forms
  are based on DSSSL. FO files may use either or both forms. In
  FOP code, a request for an absolute form will retrieve that value if it
  was specified on the FO; otherwise the corresponding relative property
  will be used if it was specified. However, a request for a relative
  form will only use the specified relative value if the corresponding
  absolute value was <em>not</em> specified for that FO.
  </p>
  <p>Corresponding properties are specified in the properties.xml files
  using the element <code>corresponding</code>, which has at least one
  <code>propval</code> child and may have a <code>propexpr</code> child,
  if the corresponding
  value is calculated based on several other properties, as for
  <code>start-indent</code>.
  </p>
  <p><em>NOTE</em>: most current FOP code accesses the absolute variants
  of these properties, notably for padding, border, height and width
  attributes. However it does use start-indent and end-indent, rather
  than the "absolute" margin properties.
  </p>
  </s3>
    </s2>
  
    <s2 title="Mapping">
  <p>The XSL script <code>propmap.xsl</code> is used to generate
  property mappings based on
  both foproperties.xml and svgproperties.xml. The mapping classes
  in the main fop packages simply load these automatically generated
  mappings. The mapping code still uses the static
  "maker" function of the generated object to obtain a Maker
  object. However, for all generated classes, this method returns an
  instance of the class itself (which is a subclass of Property.Maker)
  and not an instance of a separate nested Maker class.</p>
  <p>For most SVG properties which use the SVG Property classes directly,
  the generated mapper code calls the "maker" method of the SVG Property
  class, which returns an instance of its nested Maker class.</p>
  <p>The property generation also handles element-specific property
  mappings as specified in the properties XML files.</p>
    </s2>
  
    <s2 title="Enumerated values">
  <p>For any property whose datatype is <code>Enum</code> or which
  contains possible enumerated values, FOP code may need to access
  enumeration constants. These are defined in the interfaces whose name
  is the same as the generated class name for the property,
  for example <code>BorderBeforeStyle.NONE</code>. These interface classes
  are generated by the XSL script <code>enumgen.xsl</code>. A separate
  interface defining the enumeration constants is always generated for
  every property which uses the constants, even if the constants
  themselves are defined in a generic class, as in BorderStyle.</p>
  <p>If a subproperty or component of a compound property has enumerated
  values, the constants are defined in a nested interface whose name is
  the name of the subproperty (using appropriate capitalization
  rules). For example,
  the keep properties may have values of AUTO or FORCE or an integer
  value. These are defined for each kind of keep property. For example,
  the keep-together property is a compound property with the components
  within-line, within-column and within-page. Since each component may
  have the values AUTO or FORCE, the KeepTogether interface defines
  three nested interfaces, one for each component, and each defines
  these two constants. An example of a reference in code to the constant
  is <code>KeepTogether.WithinPage.AUTO</code>.</p>
  
    </s2>
  
    <s2 title="Compound property types">
  <p>Some XSL FO properties are specified by compound datatypes. In the FO file,
  these are defined by a group of attributes, each having a name of the
  form <code>property.component</code>, for example
  <code>space-before.minimum</code>. These are several compound
  datatypes:</p>
  <ul>
  <li>LengthConditional, with components length and conditionality</li>
  <li>LengthRange, with components minimum, optimum, and maximum</li>
  <li>Space, with components minimum, optimum, maximum, precedence and
  conditionality </li>
  <li>Keep, with components within-line, within-column and within-page</li>
  </ul>
  <p>These are described in the properties.xml files using the element
  <code>compound</code> which has <code>subproperty</code> children. A subproperty element is much
  like a property element, although it may not have an <code>inherited</code> child
  element, as only a complete property object may be inherited.
  </p>
  <p>Specific datatype classes exist for each compound property. Each
  component of a compound datatype is itself stored as a Property
  object. Individual components may be accessed either by directly
  performing a get operation on the name, using the "dot" notation,
  eg. <code>get("space-before.optimum")</code>; or by using an accessor on the compound
  property, eg. <code>get("space-before").getOptimum()</code>.
  In either case,
  the result is a Property object, and the actual value may be accessed
  (in this example) by using the "getLength()" accessor.
  </p>
    </s2>
  </s1>
  
  
  
  
  1.1                  xml-site/sources/fop/resources.xml
  
  Index: resources.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  
  
  <!-- FOP Relevant Specifications and links -->
  
  <s1 title="FOP Relevant Specifications and Links">
    <s2 title="Specifications">
    <ul>
      <li><jump href="http://www.w3.org/TR/2000/CR-xsl-20001121/">XSL-FO Candidate Recommendation (21 November 2000)</jump></li>
      <li><jump href="http://www.renderx.com/Tests/validator/fo2000.dtd.html">A dtd for the XSL-FO WD from October provided by N. Grigoriev from RenderX</jump></li>
      <li><jump href="http://www.w3.org/TR/2000/CR-SVG-20001102/">Supported SVG Candidate Recommendation (02 November 2000)</jump></li>
      <li><jump href="http://www.w3.org/TR/REC-xml">XML Recommendation</jump></li>
      <li><jump href="http://www.w3.org/TR/xslt">XSLT Recommendation</jump></li>
      <li><jump href="http://partners.adobe.com/asn/developer/acrosdk/DOCS/pdfspec.pdf">Portable Document Format (PDF) 1.3 Reference Manual </jump></li>
      <li><jump href="http://www.megginson.com/SAX/">Simple API for XML (SAX)</jump></li>
      <li><jump href="http://www.w3.org/TR/REC-DOM-Level-1">Document Object Model (DOM)</jump></li>
      <li><jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces in XML Recommendation</jump></li>
      <li><jump href="http://java.sun.com/products/jdk/1.1/docs/index.html">Java JDK 1.1 Documentation</jump></li>
    </ul>
    </s2>
    <s2 title="Tutorials/Articles">
      <ul>
        <li><jump href="http://www.ibiblio.org/xml/books/bible/updates/15.html">Elliotte Rusty Harold: Chapter 15 on xsl:fo from his excellent xml book</jump></li>
        <li><jump href="http://www.sun.com/software/xml/developers/slides-dtd/">Paul Sandoz: Using formatting objects with the slides dtd</jump></li>
        <li><jump href="http://www.xml.com/pub/a/2001/01/17/xsl-fo/index.html">J. David Eisenberg: Using XSL Formatting Objects</jump></li>
      </ul>
    </s2>
    <s2 title="Other resources">
      <ul>
        <li><jump href="http://xml.apache.org/mail/fop-dev/">Apache archive of fop-dev@apache.org</jump></li>
        <li><jump href="http://marc.theaimsgroup.com/">External, but easier to browse archive fop-dev@apache.org</jump></li>
        <li>There is an xsl:fo mailing list: www-xsl-fo@w3.org. Subscription info can be found here: <jump href="http://www.w3.org/Mail/Request">
            http://www.w3.org/Mail/Request</jump>. And the archive can be found here: 
            <jump href="http://lists.w3.org/Archives/Public/www-xsl-fo/">http://lists.w3.org/Archives/Public/www-xsl-fo/</jump></li>
      </ul>
    </s2>
  </s1>