XML-FILE :

<?xml version="1.0" encoding="iso-8859-1"?>
<table>
   <row>Row 1</row>
   <row>Row 2</row>
   <row>Row 3</row>
   <row>Row 4</row>
   <row>Row 5</row>
   <row>Row 6</row>
   <row>Row 7</row>
   <row>Row 8</row>
   <row>Row 9</row>
   <row>Row 10</row>
   <row>Row 11</row>
   <row>Row 12</row>
   <row>Row 13</row>
   <row>Row 14</row>
   <row>Row 15</row>
   <row>Row 16</row>
   <row>Row 17</row>
   <row>Row 18</row>
   <row>Row 19</row>
   <row>Row 20</row>
   <row>Row 21</row>
   <row>Row 22</row>
   <row>Row 23</row>
   <row>Row 24</row>
   <row>Row 25</row>
   <row>Row 26</row>
   <row>Row 27</row>
</table>

XSLT-FILE :
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                 version="1.0">

<xsl:output indent="yes"/>

<xsl:template match="table">
   <result>
     <xsl:for-each select="row[ position() mod 5 = 1 ]">
       <page-sequence>
         <table>
           <xsl:copy-of select="."/>
           <xsl:for-each select="following-sibling::row[ position() &lt; 5 ]">
             <xsl:copy-of select="."/>
           </xsl:for-each>
         </table>
       </page-sequence>
     </xsl:for-each>
   </result>
</xsl:template>

</xsl:stylesheet>

RESULTING XML :

<?xml version="1.0" encoding="utf-8"?>
<result>
<page-sequence>
<table>
<row>Row 1</row>
<row>Row 2</row>
<row>Row 3</row>
<row>Row 4</row>
<row>Row 5</row>
</table>
</page-sequence>
<page-sequence>
<table>
<row>Row 6</row>
<row>Row 7</row>
<row>Row 8</row>
<row>Row 9</row>
<row>Row 10</row>
</table>
</page-sequence>
<page-sequence>
<table>
<row>Row 11</row>
<row>Row 12</row>
<row>Row 13</row>
<row>Row 14</row>
<row>Row 15</row>
</table>
</page-sequence>
<page-sequence>
<table>
<row>Row 16</row>
<row>Row 17</row>
<row>Row 18</row>
<row>Row 19</row>
<row>Row 20</row>
</table>
</page-sequence>
<page-sequence>
<table>
<row>Row 21</row>
<row>Row 22</row>
<row>Row 23</row>
<row>Row 24</row>
<row>Row 25</row>
</table>
</page-sequence>
<page-sequence>
<table>
<row>Row 26</row>
<row>Row 27</row>
</table>
</page-sequence>
</result>

or look at this stylesheet :

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:fo="http://www.w3.org/1999/xsl/Format";>
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
        <xsl:template match="/">
                <xsl:param name="blokken" select="2"/>
                <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>
                        <fo:layout-master-set>
                                <fo:simple-page-master master-name="docum" 
page-height="297mm" page-width="210mm" margin-top="10mm" margin-bottom="10mm" 
margin-left="10mm" margin-right="10mm">
                                        <fo:region-body margin-top="15mm" 
margin-bottom="11mm"/>
                                        <fo:region-before extent="15mm"/>
                                        <fo:region-after extent="11mm"/>
                                </fo:simple-page-master>
                                <fo:page-sequence-master master-name="pagina">
                                        <fo:repeatable-page-master-reference 
master-reference="docum"/>
                                </fo:page-sequence-master>
                        </fo:layout-master-set>
                        <xsl:for-each select="root/xml-prs/xml-rec[position() 
mod $blokken = 1]">
                                <fo:page-sequence master-reference="pagina">
                                        <fo:static-content 
flow-name="xsl-region-before">
...
                                        </fo:static-content>
                                        <fo:static-content 
flow-name="xsl-region-after">
...
                                        </fo:static-content>
                                        <fo:flow flow-name="xsl-region-body">
                                                <xsl:for-each 
select=".|following-sibling::xml-rec[position() &lt; $blokken]">
                                                        <fo:table 
table-layout="fixed">

...
                                                        </fo:table>
                                                </xsl:for-each>
                                        </fo:flow>
                                </fo:page-sequence>
                        </xsl:for-each>
                </fo:root>
        </xsl:template>
</xsl:stylesheet>

Renzo Callant
Belgium

-----Oorspronkelijk bericht-----
Van: Lee, Insoo [mailto:[EMAIL PROTECTED]
Verzonden: donderdag 26 december 2002 21:57
Aan: '[EMAIL PROTECTED]'
Onderwerp: page-sequence



 
 1) Could somebody please share any sample xsl that would allow me to create
multiple page-sequence?
 I have multiple tables with combined over 1,000 rows and I understand that
I need to use multiple page-sequence per page to free up memory....    

  2) I'm not doing any 'page x of y' stuff, is there any other way to
improve the speed? Currently it takes over 5 minutes for 1,000 rows.... 

 Thanks much.
  IL


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to