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.

optimise.xml 2.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!--
  3. Licensed to the Apache Software Foundation (ASF) under one or more
  4. contributor license agreements. See the NOTICE file distributed with
  5. this work for additional information regarding copyright ownership.
  6. The ASF licenses this file to You under the Apache License, Version 2.0
  7. (the "License"); you may not use this file except in compliance with
  8. the License. You may obtain a copy of the License at
  9. http://www.apache.org/licenses/LICENSE-2.0
  10. Unless required by applicable law or agreed to in writing, software
  11. distributed under the License is distributed on an "AS IS" BASIS,
  12. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. See the License for the specific language governing permissions and
  14. limitations under the License.
  15. -->
  16. <!-- $Id$ -->
  17. <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "http://forrest.apache.org/dtd/document-v13.dtd">
  18. <document>
  19. <header>
  20. <title>Apache™ FOP Design: Optimisations</title>
  21. <version>$Revision$</version>
  22. <authors>
  23. <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
  24. </authors>
  25. </header>
  26. <body>
  27. <section id="intro">
  28. <title>Introduction</title>
  29. <p>
  30. Apache™ FOP should be able to handle very large documents. A document can be
  31. supplied using SAX and the information should be passed entirely through
  32. the system, from fo elements to rendered output as soon as possible.
  33. </p>
  34. <p>
  35. A top level block area, immediately below the flow, can be added to the
  36. page layout as soon as the element is complete.
  37. </p>
  38. <p>
  39. The fo elements used to construct a page can be discarded as soon as the
  40. layout for the page is complete. Some information may be stored in the
  41. area tree of the page in order to handle unresolved page references
  42. and links.
  43. </p>
  44. <p>
  45. Once the layout of a page has been completed, all elements are fully
  46. resolved, then the page can be rendered. Some renderers may support
  47. out of order rendering of pages.
  48. </p>
  49. <p>
  50. The main problem that will remain is that any page with forward
  51. references will need to be stored until the refence is resolved.
  52. This means that the information contained in the page should be
  53. as minimal as possible.
  54. </p>
  55. <p>
  56. Line areas can be optimised once the layout for the line has
  57. been finalised. Consecutive characters with the same properties
  58. can be combined into a "word" to hold the information with
  59. limited overhead.
  60. </p>
  61. <p>
  62. If there are a large number of pages where forward references
  63. cannot be resolved the a method of writing a page onto disk
  64. could be used to save memory. The easiest way to achieve this
  65. is to make the page and all children serializable.
  66. </p>
  67. </section>
  68. </body>
  69. </document>