ZVON > References > Zvon Example Repository
Example repository: index | categories | search

All > XSL FO > Tables > break


Title: break
Origin: Apache FOP 0.18.1 examples

PDF output | FO file
ElementsAttributes
fo:blockfont-size | line-height | space-after.optimum | space-before.optimum | text-align |
fo:flowflow-name |
fo:layout-master-set
fo:page-number
fo:page-sequencemaster-name |
fo:region-afterextent |
fo:region-beforeextent |
fo:region-bodymargin-top |
fo:root
fo:simple-page-mastermargin-bottom | margin-left | margin-right | margin-top | master-name | page-height | page-width |
fo:static-contentflow-name |
fo:tableborder-color | border-width |
fo:table-body
fo:table-cell
fo:table-columncolumn-width |
fo:table-rowborder-width | break-after | break-before | keep-with-next | keep-with-previous |

Warning! These examples are related to XSL FO Working Draft, you need to use attribute "page-sequence/@master-reference" instead of "page-sequence/@master-name".



Source

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" >
     <fo:layout-master-set>
          <fo:simple-page-master margin-right="1.5cm" margin-left="1.5cm" margin-bottom="2cm" margin-top="1cm" page-width="21cm" page-height="17cm" master-name="first">
               <fo:region-before extent="1cm"/>
               <fo:region-body margin-top="1cm"/>
               <fo:region-after extent="1.5cm"/>
          </fo:simple-page-master>
     </fo:layout-master-set>
     <fo:page-sequence master-name="first">
          <fo:static-content flow-name="xsl-region-before">
               <fo:block line-height="14pt" font-size="10pt" text-align="end">table examples</fo:block>
          </fo:static-content>
          <fo:static-content flow-name="xsl-region-after">
               <fo:block line-height="14pt" font-size="10pt" text-align="end">Page
                    <fo:page-number/>
               </fo:block>
          </fo:static-content>
          <fo:flow flow-name="xsl-region-body">
               <fo:block space-before.optimum="3pt" space-after.optimum="15pt"> Tests for breaks on table rows. </fo:block>
               <fo:block space-before.optimum="80pt" space-after.optimum="15pt"> Table 1: basic break after with next </fo:block>
               <fo:table border-width="0.5pt" border-color="red">
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-body>
                         <fo:table-row border-width="0.5pt" break-after="page">
                              <fo:table-cell>
                                   <fo:block text-align="center"> first row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> new page </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> for next </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                         <fo:table-row border-width="0.5pt">
                              <fo:table-cell>
                                   <fo:block text-align="center"> second row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> normal </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> row </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                    </fo:table-body>
               </fo:table>
               <fo:block space-before.optimum="80pt" space-after.optimum="15pt"> Table 2: basic break before with next </fo:block>
               <fo:table border-width="0.5pt" border-color="red">
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-body>
                         <fo:table-row border-width="0.5pt">
                              <fo:table-cell>
                                   <fo:block text-align="center"> first row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> new page </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> for next </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                         <fo:table-row border-width="0.5pt" break-before="page">
                              <fo:table-cell>
                                   <fo:block text-align="center"> second row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> break before </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> row </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                    </fo:table-body>
               </fo:table>
               <fo:block space-before.optimum="80pt" space-after.optimum="15pt"> Table 3: basic break before a keep with next </fo:block>
               <fo:table border-width="0.5pt" border-color="red">
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-body>
                         <fo:table-row border-width="0.5pt" keep-with-next="always">
                              <fo:table-cell>
                                   <fo:block text-align="center"> first row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> new page </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> for next </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                         <fo:table-row border-width="0.5pt" break-before="page">
                              <fo:table-cell>
                                   <fo:block text-align="center"> second row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> break before </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> row </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                    </fo:table-body>
               </fo:table>
               <fo:block space-before.optimum="80pt" space-after.optimum="15pt"> Table 4: basic break after a keep with previous </fo:block>
               <fo:table border-width="0.5pt" border-color="red">
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-body>
                         <fo:table-row border-width="0.5pt" break-after="page">
                              <fo:table-cell>
                                   <fo:block text-align="center"> first row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> new page </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> for next </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                         <fo:table-row border-width="0.5pt" keep-with-previous="always">
                              <fo:table-cell>
                                   <fo:block text-align="center"> second row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> break before </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> row </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                    </fo:table-body>
               </fo:table>
               <fo:block space-before.optimum="80pt" space-after.optimum="15pt"> Table 5: basic break after a keep with previous </fo:block>
               <fo:table border-width="0.5pt" border-color="red">
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-column column-width="3cm"/>
                    <fo:table-body>
                         <fo:table-row border-width="0.5pt">
                              <fo:table-cell>
                                   <fo:block text-align="center"> normal </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> with text </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                         <fo:table-row border-width="0.5pt">
                              <fo:table-cell>
                                   <fo:block text-align="center"> normal </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> with text </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                         <fo:table-row border-width="0.5pt" keep-with-next="always">
                              <fo:table-cell>
                                   <fo:block text-align="center"> normal </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> row </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> with text </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                         <fo:table-row border-width="0.5pt" keep-with-next="always" break-after="page">
                              <fo:table-cell>
                                   <fo:block text-align="center"> break after </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> and </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> keep with next </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                         <fo:table-row border-width="0.5pt" keep-with-next="always">
                              <fo:table-cell>
                                   <fo:block text-align="center"> keep </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> with </fo:block>
                              </fo:table-cell>
                              <fo:table-cell>
                                   <fo:block text-align="center"> next </fo:block>
                              </fo:table-cell>
                         </fo:table-row>
                    </fo:table-body>
               </fo:table>
          </fo:flow>
     </fo:page-sequence>
</fo:root>