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 [email protected] 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 [EMAIL PROTECTED] </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 [EMAIL PROTECTED] 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 
[EMAIL PROTECTED]</jump></li>
        <li><jump href="http://marc.theaimsgroup.com/";>External, but easier to 
browse archive [EMAIL PROTECTED]</jump></li>
        <li>There is an xsl:fo mailing list: [EMAIL PROTECTED] 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>
  
  
  
  
  

Reply via email to