Re: Large XML-files

Jan,

This question is better addressed to the FOP users list at:

fop-user@xml.apache.org

But I suspect that other processors behave in a similar manner in this
regard.  Ending a page-sequence and beginning another allows FOP to garbage
collect and free memory.  You should be able to process X number of records,
kick off the current page-sequence and begin another with the
initial-page-number property set.  I've built 400-page documents in this
manner without increasing heap.  Perhaps you can break this out with each
new list element.

HTH,

Mike

----- Original Message -----
From: "Jan Koppeel" <jan.koppeel@web.de>
To: <www-xsl-fo@w3.org>
Sent: Tuesday, March 04, 2003 9:21 AM
Subject: Large XML-files


>
> I'm trying to create pdf-files out of large xml-files by using FOP. The
largest xml-file is about 4 MB. As you can imagine I get an
OutOfMemory-Error. Increasing the JVM memory size is no solution because the
machine starts swapping.
>
> Can you help me to create page sequences with about 100 (more or less)
items?
>
> my XML-files look like this:
>
> <data>
>   <head>
>   .... some informations
>   </head>
>   <list nr="1">
>     <item1>
>       <subitem1/>
>       <subitem2/>
>       <subitem3/>
>       <subitem4/>
>     </item1>
>     <item2>
>       ...
>     </item2>
>     ...
>     about 19000 items more
>   </list>
>   <list nr="2">
>   ... like above
>   </list>
>   ...
> </data>
>
> I want the pages look like this:
>
> -------------------------------
> headerinformation        page
> -------------------------------
> Nr: 1
>   subitem1 subitem2 ... (for each item)
>   subitem1 subitem2 ...
>   subitem1 subitem2 ...
>
> Nr: 2
>   subitem1 subitem2 ... (for each item)
>
> Currently I'm using this xsl-file:
>
> <xsl:template match="data">
>   <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
>     <fo:layout-master-set>
>       <fo:simple-page-master master-name="all"
>         page-height="29.7cm" page-width="21cm"
>         margin-top="2cm" margin-bottom="2cm"
>         margin-left="2cm" margin-right="2cm">
>         <fo:region-body margin-top="2.5cm" margin-bottom="0cm"/>
>         <fo:region-before extent="2.5cm"/>
>       </fo:simple-page-master>
>     </fo:layout-master-set>
>     <fo:page-sequence master-reference="all" format="1">
>       <fo:static-content flow-name="xsl-region-before">
>         <fo:block text-align="start" font-size="10pt"
font-family="sans-serif" line-height="1em + 2pt">
>           <xsl:apply-templates select="head"/>
>         </fo:block>
>       </fo:static-content>
>       <fo:flow flow-name="xsl-region-body">
>         <xsl:apply-templates select="list"/>
>       </fo:flow>
>     </fo:page-sequence>
>   </fo:root>
> </xsl:template>
>
> The templates "head" and "list" are defined in separate sections.
>
____________________________________________________________________________
__
> Sie haben mehr zu sagen als in eine SMS passt? Mit WEB.DE FreeMail ist
> das jetzt kein Problem mehr! http://freemail.web.de/features/?mc=021182
>
>

Received on Tuesday, 4 March 2003 12:40:16 UTC