You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

upgrading.xml 5.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Copyright 2005-2006 The Apache Software Foundation
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. -->
  14. <!-- $Id$ -->
  15. <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
  16. <document>
  17. <header>
  18. <title>Upgrading from an Earlier Version of Apache FOP</title>
  19. <version>$Revision$</version>
  20. </header>
  21. <body>
  22. <section id="important">
  23. <title>Important!</title>
  24. <p>
  25. If you're planning to upgrade to the latest FOP version there are a few very important things
  26. to consider:
  27. </p>
  28. <ul>
  29. <li>
  30. More than half of the codebase has been rewritten over the last three years. The code is
  31. relatively new and possibly not as stable as version 0.20.5 in every regard. But the code
  32. is <strong>quickly approaching production level</strong>, especially when you're happy
  33. with only PDF and PostScript output.
  34. </li>
  35. <li>
  36. The API of FOP has changed considerably and is not backwards-compatible with version 0.20.5.
  37. </li>
  38. <li>
  39. There have been changes to the end-user API between 0.91 beta and 0.92 beta. With version 0.92,
  40. the API is now considered stable. Some methods have been deprecated and will be removed with
  41. the next release. If you upgrade from 0.91 beta, you will need to adjust your Java code.
  42. </li>
  43. <li>
  44. <p>
  45. The new code is much more strict about the interpretation of the XSL-FO 1.0 specification.
  46. Things that worked fine in version 0.20.5 might start to produce warnings or even errors
  47. now. FOP 0.20.5 contains many bugs which have been corrected in the new code.
  48. </p>
  49. <note label="An example">
  50. While FOP 0.20.5 allowed you to have empty <code>fo:table-cell</code> elements, the new code
  51. will complain about that (unless relaxed validation is enabled) because the specification
  52. demands at least one block-level element (<code>(%block;)+</code>, see
  53. <a href="http://www.w3.org/TR/xsl/slice6.html#fo_table-cell">XSL-FO 1.0, 6.7.10</a>)
  54. inside an <code>fo:table-cell</code> element.
  55. </note>
  56. </li>
  57. <li>
  58. Extensions and Renderers written for version 0.20.5 will not work with the new code! The new FOP
  59. extension for <a href="http://barcode4j.krysalis.org">Barcode4J</a> will be available in
  60. January 2006.
  61. </li>
  62. <li>
  63. The PCL Renderer and the MIF Handler have not been resurrected, yet! They are currently non-functional
  64. and hope for someone to step up and reimplement them.
  65. </li>
  66. <li>
  67. By looking at the <a href="../compliance.html">Compliance page</a> you might get the impression
  68. that the new code is much more advanced than version 0.20.5. That's true but there may still
  69. be a few things that may not be handled as gracefully by the new code as by version 0.20.5.
  70. </li>
  71. </ul>
  72. </section>
  73. <section id="issues">
  74. <title>What you need to know when you upgrade!</title>
  75. <p>
  76. When you use your existing FO files or XML/XSL files which work fine with FOP version
  77. 0.20.5 against this FOP version some things may not work as expected. The following
  78. list will hopefully help you to identify and correct those problems.
  79. </p>
  80. <ul>
  81. <li>
  82. Check the <a href="../compliance.html">Compliance page</a> for the feature causing
  83. trouble. It may contain the necessary information to understand and resolve the problem.
  84. </li>
  85. <li>
  86. Not all 0.20.5 output formats are supported. PDF and Postscript should be fully supported.
  87. See <a href="output.html">Output Targets</a> for a more complete description.
  88. </li>
  89. <li>
  90. As stated above empty table cells <code>&lt;fo:table-cell&gt;&lt;/fo:table-cell&gt;</code>
  91. are not allowed by the specification. The same applies to empty <code>static-content</code>
  92. and <code>block-container</code> elements, for example.
  93. </li>
  94. <li>
  95. 0.20.5 is not XSL-FO compliant with respect to sizing images (<code>external-graphic</code>)
  96. or <code>instream-foreign-object</code>
  97. objects. If images or SVGs are sized differently in your outputs with the new FOP version
  98. check <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37136">Bug 37136</a>
  99. as it contains some hints on what to. The file
  100. <a href="http://svn.apache.org/viewcvs.cgi/xmlgraphics/fop/trunk/examples/fo/basic/images.fo?view=markup">
  101. <code>"examples/fo/basic/images.fo"</code></a> has
  102. a number of good examples that shows the new, more correct behaviour.
  103. </li>
  104. <li>
  105. The <code>fox:outline</code> extension not implemented in this version anymore.
  106. It has been superseded by the new bookmark elements from XSL-FO 1.1.
  107. </li>
  108. <li>
  109. The <code>fox:destination</code> extension is also not implemented in this version
  110. although it may be added in the future. See also
  111. <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37157">Bug 37157</a>.
  112. </li>
  113. </ul>
  114. </section>
  115. </body>
  116. </document>