Browse Source

Move over to examples/fo


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195906 13f79535-47bb-0310-9956-ffa450edef68
pull/30/head
Jeremias Maerki 21 years ago
parent
commit
b207bdfb47
73 changed files with 0 additions and 29862 deletions
  1. 0
    2
      docs/examples/.cvsignore
  2. BIN
      docs/examples/advanced/K3.TTF
  3. 0
    5
      docs/examples/advanced/K3.xml
  4. 0
    14
      docs/examples/advanced/bar.conf.xml
  5. 0
    50
      docs/examples/advanced/barcode.fo
  6. 0
    450
      docs/examples/advanced/cid-fonts.fo
  7. 0
    561
      docs/examples/advanced/cid-fonts.pdf
  8. 0
    1244
      docs/examples/advanced/giro.fo
  9. 0
    99
      docs/examples/build.xml
  10. 0
    207
      docs/examples/fo/alignment.fo
  11. 0
    170
      docs/examples/fo/blockcontainer.fo
  12. 0
    189
      docs/examples/fo/border.fo
  13. 0
    169
      docs/examples/fo/bordershorthand.fo
  14. 0
    105
      docs/examples/fo/character.fo
  15. 0
    237
      docs/examples/fo/corresprop.fo
  16. 0
    148
      docs/examples/fo/extensive.fo
  17. 0
    195
      docs/examples/fo/fonts.fo
  18. 0
    428
      docs/examples/fo/hyphen.fo
  19. 0
    83
      docs/examples/fo/images.fo
  20. 0
    175
      docs/examples/fo/inhprop.fo
  21. 0
    114
      docs/examples/fo/instream.fo
  22. 0
    786
      docs/examples/fo/leader.fo
  23. 0
    145
      docs/examples/fo/link.fo
  24. 0
    2690
      docs/examples/fo/list.fo
  25. 0
    148
      docs/examples/fo/newlinktest.fo
  26. 0
    149
      docs/examples/fo/normal.fo
  27. 0
    149
      docs/examples/fo/normalex.fo
  28. 0
    1413
      docs/examples/fo/pdfoutline.fo
  29. 0
    1341
      docs/examples/fo/readme.fo
  30. 0
    99
      docs/examples/fo/simple.fo
  31. 0
    504
      docs/examples/fo/table.fo
  32. 0
    221
      docs/examples/fo/tableunits.fo
  33. 0
    252
      docs/examples/fo/textdeko.fo
  34. 0
    249
      docs/examples/footnotes/columns.fo
  35. 0
    115
      docs/examples/footnotes/simple.fo
  36. 0
    289
      docs/examples/keeps_and_breaks/columnlevel1.fo
  37. 0
    138
      docs/examples/keeps_and_breaks/pagelevel1.fo
  38. 0
    293
      docs/examples/keeps_and_breaks/pagelevel2.fo
  39. 0
    289
      docs/examples/keeps_and_breaks/pagelevel3.fo
  40. 0
    291
      docs/examples/keeps_and_breaks/pagelevel4.fo
  41. 0
    314
      docs/examples/markers/glossary.xml
  42. 0
    75
      docs/examples/markers/glossary.xsl
  43. 0
    140
      docs/examples/markers/hide.fo
  44. 0
    132
      docs/examples/pagination/allregions.fo
  45. 0
    112
      docs/examples/pagination/basic1.fo
  46. 0
    115
      docs/examples/pagination/basic2.fo
  47. 0
    1078
      docs/examples/pagination/franklin_2pageseqs.fo
  48. 0
    1053
      docs/examples/pagination/franklin_alt.fo
  49. 0
    1022
      docs/examples/pagination/franklin_rep.fo
  50. 0
    1024
      docs/examples/pagination/franklin_rep_max_repeats.fo
  51. 0
    1024
      docs/examples/pagination/franklin_rep_max_repeats_expl.fo
  52. 0
    1024
      docs/examples/pagination/franklin_rep_max_repeats_nl.fo
  53. 0
    151
      docs/examples/region_body/simplecol.fo
  54. 0
    183
      docs/examples/region_body/simplecol2.fo
  55. 0
    197
      docs/examples/region_body/simplecol3.fo
  56. 0
    197
      docs/examples/region_body/simplecol4.fo
  57. 0
    6
      docs/examples/results.html
  58. 0
    38
      docs/examples/runtests.bat
  59. 0
    36
      docs/examples/runtests.sh
  60. 0
    11
      docs/examples/svg/boxes.svg
  61. 0
    1082
      docs/examples/svg/embedding.fo
  62. 0
    132
      docs/examples/svg/external.fo
  63. 0
    14
      docs/examples/svg/multi.svg
  64. 0
    10
      docs/examples/svg/ref.svg
  65. 0
    11
      docs/examples/svg/view.svg
  66. 0
    789
      docs/examples/tables/background.fo
  67. 0
    1023
      docs/examples/tables/borders.fo
  68. 0
    322
      docs/examples/tables/break.fo
  69. 0
    1432
      docs/examples/tables/headfoot.fo
  70. 0
    590
      docs/examples/tables/keep.fo
  71. 0
    1265
      docs/examples/tables/omit.fo
  72. 0
    532
      docs/examples/tables/space.fo
  73. 0
    522
      docs/examples/tables/widowsorphans.fo

+ 0
- 2
docs/examples/.cvsignore View File

@@ -1,2 +0,0 @@
tests


BIN
docs/examples/advanced/K3.TTF View File


+ 0
- 5
docs/examples/advanced/K3.xml View File

@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Note: this file created using TTFReader
-->
<font-metrics type="TYPE0"><font-name>New</font-name><embed/><cap-height>0</cap-height><x-height>0</x-height><ascender>390</ascender><descender>0</descender><bbox><left>0</left><bottom>0</bottom><right>219</right><top>390</top></bbox><flags>33</flags><stemv>0</stemv><italicangle>0</italicangle><subtype>TYPE0</subtype><multibyte-extras><cid-type>CIDFontType2</cid-type><default-width>0</default-width><bfranges><bf gi="47" ue="32" us="32"/><bf gi="45" ue="36" us="36"/><bf gi="43" ue="37" us="37"/><bf gi="40" ue="42" us="42"/><bf gi="42" ue="43" us="43"/><bf gi="0" ue="44" us="44"/><bf gi="41" ue="45" us="45"/><bf gi="46" ue="46" us="46"/><bf gi="44" ue="47" us="47"/><bf gi="5" ue="50" us="48"/><bf gi="9" ue="56" us="51"/><bf gi="8" ue="57" us="57"/><bf gi="15" ue="83" us="65"/><bf gi="4" ue="84" us="84"/><bf gi="34" ue="90" us="85"/><bf gi="0" ue="65535" us="65535"/></bfranges><cid-widths start-index="0"><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/><wx w="156"/></cid-widths></multibyte-extras></font-metrics>

+ 0
- 14
docs/examples/advanced/bar.conf.xml View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- TODO: use proper config -->

<configuration>

<fonts>
<font metrics-file="K3.xml" kerning="yes" embed-file="K3.TTF">
<font-triplet name="Barcode" style="normal" weight="normal"/>
</font>
</fonts>

</configuration>


+ 0
- 50
docs/examples/advanced/barcode.fo View File

@@ -1,50 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="first" margin-top="5mm">
<fo:region-body margin-bottom="4.5in" margin-right="5mm" margin-left="5mm" margin-top="5mm"/>
<fo:region-after extent="4in" border-top-color="silver" border-top-style="dotted" border-top-width="0.13mm"/>
</fo:simple-page-master>
<fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="rest" margin-right="5mm" margin-left="5mm" margin-top="5mm" margin-bottom="5mm">
<fo:region-body/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="A4">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first" page-position="first"/>
<fo:conditional-page-master-reference master-reference="rest" page-position="rest"/>
<fo:conditional-page-master-reference master-reference="rest"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
<fo:flow flow-name="xsl-region-body">

<fo:block font-size="14pt" font-weight="bold">
Example embedding Font
</fo:block>

<fo:block font-size="14pt" font-weight="bold">
This example shows how to use an embedded font and
uses a free barcode font as an example. The barcode font is from
<fo:basic-link external-destination="http://www.geocities.com/keith_dimmock/">http://www.geocities.com/keith_dimmock/</fo:basic-link>
and is free.
</fo:block>

<fo:block font-family="Barcode" font-size="74pt" line-height="76pt"
space-before.optimum="6mm">
*ID123456*
</fo:block>

<fo:block font-family="Barcode" font-size="74pt" line-height="76pt"
space-before.optimum="6mm">
normal text
</fo:block>

<fo:block font-family="Barcode, Helvetica" font-size="74pt" line-height="76pt"
space-before.optimum="6mm">
*ID123456* normal text
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 450
docs/examples/advanced/cid-fonts.fo View File

@@ -1,450 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fo:root [
<!ENTITY nbsp "&#160;">
]>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:fox="http://xml.apache.org/fop/extensions">
<fo:layout-master-set>
<fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="A4">
<fo:region-body margin-bottom="1.5cm" margin-right="2cm" margin-left="2cm" margin-top="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>


<fox:outline internal-destination="sec0">
<fox:label>Adding Fonts to FOP</fox:label>
</fox:outline>

<fox:outline internal-destination="sec1">
<fox:label>Adding additional Type 1 fonts</fox:label>

<fox:outline internal-destination="sec1-1">
<fox:label>Generating a font metrics file</fox:label>
</fox:outline>
<fox:outline internal-destination="sec1-2">
<fox:label>Register the fonts within FOP</fox:label>
</fox:outline>
</fox:outline>

<fox:outline internal-destination="sec2">
<fox:label>Adding additional TrueType fonts</fox:label>

<fox:outline internal-destination="sec2-1">
<fox:label>Generating a font metrics file</fox:label>
</fox:outline>
<fox:outline internal-destination="sec2-2">
<fox:label>TrueType collections</fox:label>
</fox:outline>
<fox:outline internal-destination="sec2-3">
<fox:label>Register the fonts within FOP</fox:label>
</fox:outline>

</fox:outline>

<fox:outline internal-destination="sec3">
<fox:label>Embedding fonts in the PDF</fox:label>
</fox:outline>

<fox:outline internal-destination="sec4">
<fox:label>Example embedding MSGothic</fox:label>

<fox:outline internal-destination="sec4-1">
<fox:label>Setup CLASSPATH</fox:label>
</fox:outline>

<fox:outline internal-destination="sec4-2">
<fox:label>Create the metrics file</fox:label>
</fox:outline>

<fox:outline internal-destination="sec4-3">
<fox:label>Edit msgothic.xml</fox:label>
</fox:outline>

<fox:outline internal-destination="sec4-4">
<fox:label>Register the font with FOP</fox:label>
</fox:outline>
</fox:outline>

<fox:outline internal-destination="sec5">
<fox:label>Japanese Examples</fox:label>
</fox:outline>


<fo:page-sequence master-reference="A4">

<fo:flow flow-name="xsl-region-body">
<fo:wrapper font-family="Times" font-size="12pt" text-align="justify">
<fo:block id="sec0"
text-align="center"
font-family="Helvetica"
font-weight="bold"
font-size="18pt"
color="#0050B2" space-after.optimum="6pt">
Adding Fonts to FOP
</fo:block>

<fo:block space-after.optimum="6pt">
When building PDF files, FOP normally supports only the base 14 font
package defined in the Adobe PDF specification. That includes the
following fonts: Helvetica, Times, Courier, Symbol and ZapfDingbats.
</fo:block>

<fo:block space-after.optimum="6pt">
Font support in FOP can be extended by the addition of font metric
files (written in XML) created from Adobe Type 1 fonts and Truetype
fonts. No other font types (Type 3, etc.) are supported at this time.
</fo:block>

<fo:block id="sec1"
font-family="Helvetica"
font-weight="bold"
font-size="14pt"
color="#0050B2"
space-after.optimum="6pt"
space-before.optimum="12pt">
Adding additional Type 1 fonts
</fo:block>

<fo:block space-after.optimum="6pt" >
As mentioned above you need an XML file containing font metrics to
be able to use an additional font. FOP contains a tool that can generate
such a font metrics file from a PFM file, which normally comes with the
font file.
</fo:block>

<fo:block id="sec1-1"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt" >
Generating a font metrics file
</fo:block>

<fo:block space-after.optimum="6pt" >
Run the class <fo:inline font-family="Courier">org.apache.fop.fonts.apps.PFMReader</fo:inline>
to generate the XML file.
<fo:block font-family="Courier" font-size="10pt"
space-before.optimum="6pt" space-after.optimum="6pt" margin-left="6pt" text-align="start">
java org.apache.fop.fonts.apps.PFMReader pfm-file xml-file
</fo:block>
</fo:block>

<fo:block space-after.optimum="6pt" margin-left="6pt">
Note: The tool will construct some values (FontBBox, StemV and ItalicAngle) based
on assumptions and calculations which are only an approximation to the real values.
FontBBox and Italic Angle can be found in the human-readable part of the PFB file.
The PFMReader tool does not yet interpret PFB files, so if you want to be correct,
you may have to adjust the values in the XML file manually. The constructed values
however appear to have no visible influence.
</fo:block>


<fo:block id="sec1-2"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt" >
Register the fonts within FOP
</fo:block>

<fo:block space-after.optimum="6pt">
Edit conf/userconfig.xml and add entries for the font if the fonts section, ie:
<fo:block font-family="Courier" font-size="10pt"
space-before.optimum="6pt"
white-space-collapse="false" margin-left="6pt" text-align="start">
<![CDATA[
<font metrics-file="cyberbit.xml" kerning="yes" embed-file="C:\WINNT\Fonts\Cyberbit.ttf">
<font-triplet name="Cyberbit" style="normal" weight="normal">
</font>]]></fo:block>
</fo:block>


<fo:block id="sec2"
font-family="Helvetica"
font-weight="bold"
font-size="14pt"
color="#0050B2"
space-after.optimum="6pt"
space-before.optimum="12pt">
Adding additional TrueType fonts
</fo:block>

<fo:block space-after.optimum="6pt">
Adding Truetype fonts is almost identical to the process of adding type 1 fonts.
The main difference is in the first step.
</fo:block>

<fo:block id="sec2-1"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt" >
Generating a font metrics file
</fo:block>

<fo:block space-after.optimum="6pt">
As mentioned above you need an XML file containing font metrics to be able to use
an additional font. FOP contains a tool that can generate such a font metrics file
from your truetype font file.
</fo:block>

<fo:block space-after.optimum="6pt">
Create metrics for the fontfile. We'll use MS Gothic as an example:

<fo:block font-family="Courier" font-size="10pt"
space-before.optimum="6pt" space-after.optimum="6pt" margin-left="6pt" text-align="start">
java org.apache.fop.fonts.apps.TTFReader C:\WINNT\Fonts\msgothic.ttf msgothic.xml
</fo:block>
</fo:block>

<fo:block id="sec2-2"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt" >
TrueType collections
</fo:block>

<fo:block space-after.optimum="6pt">
TrueType collections (.ttc files) contains more than one font. To create metrics
for a ttc file you must specify the font in the collection with the -ttcname
option to TTFReader.
</fo:block>

<fo:block space-after.optimum="6pt">
To get a list of the fonts in a collection, just start the TTFReader as if it
were a normal truetype file (without the -ttcname option). It will then display
all the font names and exit with an Exception.
</fo:block>

<fo:block space-after.optimum="6pt">
Example on generating metrics for a .ttc file:
<fo:block font-family="Courier" font-size="10pt"
space-before.optimum="6pt" space-after.optimum="6pt" margin-left="6pt" text-align="start">
java org.apache.fop.fonts.apps.TTFReader -ttcname "MS Mincho" msmincho.ttc msminch.xml
</fo:block>
</fo:block>

<fo:block id="sec2-3"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt" >
Register the fonts within FOP
</fo:block>

<fo:block space-after.optimum="6pt">
Same as for <fo:basic-link internal-destination="sec1-2" color="blue">
<fo:inline text-decoration="underline">Type&nbsp;1&nbsp;fonts</fo:inline></fo:basic-link>.
</fo:block>


<fo:block id="sec3"
font-family="Helvetica"
font-weight="bold"
font-size="14pt"
color="#0050B2"
space-after.optimum="6pt"
space-before.optimum="12pt">
Embedding fonts
</fo:block>

<fo:block space-after.optimum="6pt">
Font embedding is enabled in the userconfig.xml file. Start Fop with -c userconfig.xml
</fo:block>


<fo:block id="sec4"
font-family="Helvetica"
font-weight="bold"
font-size="14pt"
color="#0050B2"
space-after.optimum="6pt"
space-before.optimum="12pt">
Example embedding MSGothic
</fo:block>

<fo:block space-after.optimum="6pt">
This example will use the Microsoft Gothic TrueType font. This is the font used to render this examples
given in the last section of this file. If you don't have it installed,
you can download an installer at <fo:basic-link color="blue"
external-destination="ftp://ftp.cc.monash.edu.au/pub/nihongo/ie3lpkja.exe">
<fo:inline text-decoration="underline">ftp://ftp.cc.monash.edu.au/pub/nihongo/ie3lpkja.exe</fo:inline>
</fo:basic-link>.
</fo:block>

<fo:block id="sec4-1"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt">
Setup your classpath to run FOP:
</fo:block>
<fo:block font-family="Courier" font-size="10pt"
space-before.optimum="6pt"
white-space-collapse="false" margin-left="6pt" text-align="start">
C:\Fop-0.18.1> set CLASSPATH=fop.jar;lib\xerces-1.2.3.jar;lib\xalan-2.0.0.jar;lib\batik.jar
</fo:block>


<fo:block id="sec4-2"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt">
Create the metrics file:
</fo:block>

<fo:block font-family="Courier" font-size="10pt"
space-before.optimum="6pt"
white-space-collapse="false" margin-left="6pt" text-align="start">
C:\Fop-0.18.1> java org.apache.fop.fonts.apps.TTFReader c:\WINNT\Fonts\msgothic.ttf msgothic.xml
TTF Reader v1.1.1

Reading /home/camk/cjkv/msgothic.ttf...

Number of glyphs in font: 13104
Postscript format 3
Creating xml font file...

Creating CID encoded metrics
Writing xml font file msgothic.xml...

This font contains no embedding license restrictions

</fo:block>


<fo:block id="sec4-3"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt">
Edit the msgothic.xml file and set the <fo:inline font-family="Courier">font-name</fo:inline>
to "MSGothic".
</fo:block>

<fo:block id="sec4-4"
font-family="Helvetica"
font-weight="bold"
space-after.optimum="6pt"
space-before.optimum="12pt">
Edit conf/userconfig.xml and add the following to the &lt;fonts&gt; section:
</fo:block>

<fo:block font-family="Courier" font-size="10pt"
space-before.optimum="6pt"
white-space-collapse="false" margin-left="6pt" text-align="start">
<![CDATA[
<font metrics-file="msgothic.xml" kerning="yes"
embed-file="C:\WINNT\Fonts\msgothic.ttf">
<font-triplet name="MSGothic" style="normal" weight="normal"/>
</font>
]]>
</fo:block>

<fo:block space-after.optimum="6pt">
Now you can use MSGothic in your .fo files by setting font-family="MSGothic". You'll need to
start FOP specifying the config file as in this example:
<fo:block font-family="Courier" font-size="10pt"
space-before.optimum="6pt"
white-space-collapse="false" margin-left="6pt" text-align="start"
>java -jar fop.jar -c conf/userconfig.xml -fo myfo.fo -pdf mypdf.pdf</fo:block>
</fo:block>

<fo:block id="sec5"
font-family="Helvetica"
font-weight="bold"
font-size="14pt"
color="#0050B2"
space-after.optimum="6pt"
space-before.optimum="12pt">
Examples from <fo:basic-link color="blue" external-destination="http://www.csse.monash.edu.au/~jwb/j_jmdict.html">
<fo:inline text-decoration="underline">JMDict</fo:inline></fo:basic-link> Japanese glossary:
</fo:block>

</fo:wrapper>
<fo:table>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-header>
<fo:table-row>
<fo:table-cell ><fo:block font-weight="bold" font-family="Helvetica">Japanese (kanji or kanadzukai)</fo:block></fo:table-cell>
<fo:table-cell ><fo:block font-weight="bold" font-family="Helvetica">English</fo:block></fo:table-cell>
<fo:table-cell ><fo:block font-weight="bold" font-family="Helvetica">German</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">うん</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>"yeah" or "uh huh"</fo:block></fo:table-cell>
<fo:table-cell ><fo:block></fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">アウタースペース</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>outer space</fo:block></fo:table-cell>
<fo:table-cell ><fo:block></fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">スペースクラフト</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>spacecraft</fo:block></fo:table-cell>
<fo:table-cell ><fo:block></fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">スペースシャトル</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>space shuttle</fo:block></fo:table-cell>
<fo:table-cell ><fo:block></fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">著わす</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>"to write", "to publish"</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>veröffentlichen</fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">電子出版</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>electronic publishing</fo:block></fo:table-cell>
<fo:table-cell ><fo:block></fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">五輪</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>the Olympics</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>Olympische Spiele</fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">空港</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>airport</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>Flughafen</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">チューリッヒ</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>Zurich</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>Z&#252;rich</fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">コロラド</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>Colorado</fo:block></fo:table-cell>
<fo:table-cell ><fo:block></fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row>
<fo:table-cell ><fo:block font-family="MSGothic">コロラドスプリングス</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>Colorado Springs</fo:block></fo:table-cell>
<fo:table-cell ><fo:block></fo:block></fo:table-cell>
</fo:table-row>


</fo:table-body>
</fo:table>

</fo:flow>

</fo:page-sequence>
</fo:root>

+ 0
- 561
docs/examples/advanced/cid-fonts.pdf
File diff suppressed because it is too large
View File


+ 0
- 1244
docs/examples/advanced/giro.fo
File diff suppressed because it is too large
View File


+ 0
- 99
docs/examples/build.xml View File

@@ -1,99 +0,0 @@
<?xml version="1.0"?>
<!-- =========================================================================== -->
<project default="newPDF" basedir=".">
<!-- =================================================================== -->
<!-- Initialization target -->
<!-- =================================================================== -->
<target name="init">
<tstamp/>
<mkdir dir="tests"/>
<property name="referenceDir" value="reference"/>
<property name="testDir" value="tests"/>
<property name="foDir" value="fo"/>
<taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"/>
<taskdef name="compare" classname="org.apache.fop.tools.anttasks.Compare"/>
</target>
<!-- =================================================================== -->
<!-- Help on usage -->
<!-- =================================================================== -->
<target name="usage">
<echo message=""/>
<echo message=""/>
<echo message="USAGE of runtests"/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=" available targets are:"/>
<echo message=""/>
<echo message=" newPDF --> generates new PDF test files (default)"/>
<echo message=" newPS --> generates new PostScript test files"/>
<echo message=" newAT --> generates new AreaTree (XML) test files"/>
<echo message=" comparePDF --> generates new PDF test files and compares them to reference files"/>
<echo message=" referencePDF --> generates new reference PDF files"/>
<echo message=" See the comments inside the build.xml file for more details."/>
<echo message="-------------------------------------------------------------"/>
<echo message=""/>
<echo message=""/>
</target>
<!-- =================================================================== -->
<!-- Produces new test PDF files -->
<!-- =================================================================== -->
<target name="newPDF" depends="init">
<fop format="application/pdf" outdir="${testDir}" messagelevel="debug"
basedir="./fo">
<fileset dir="${foDir}">
<include name="**/*.fo"/>
</fileset>
</fop>
</target>
<!-- =================================================================== -->
<!-- Produces new test ps files -->
<!-- =================================================================== -->
<target name="newPS" depends="init">
<fop format="application/postscript" outdir="${testDir}">
<fileset dir="${foDir}">
<include name="**/*.fo"/>
</fileset>
</fop>
</target>
<!-- =================================================================== -->
<!-- Produces new test areatree files -->
<!-- =================================================================== -->
<target name="newAT" depends="init">
<fop format="text/xml" outdir="${testDir}">
<fileset dir="${foDir}">
<include name="**/*.fo"/>
</fileset>
</fop>
</target>
<!-- =================================================================== -->
<!-- Compares new test pdf files to reference pdf files -->
<!-- =================================================================== -->
<target name="comparePDF" depends="newPDF">
<compare referenceDirectory="${referenceDir}" testDirectory="${testDir}" filenames="normal.pdf,table.pdf,list.pdf,link.pdf,border.pdf,images.pdf,extensive.pdf,readme.pdf,fonts.pdf,bordershorthand.pdf,character.pdf,corresprop.pdf,hyphen.pdf,inhprop.pdf,instream.pdf,leader.pdf,newlinktest.pdf,normalex.pdf,pdfoutline.pdf,simple.pdf,textdeko.pdf,tableunits.pdf"/>
</target>
<!-- =================================================================== -->
<!-- Produces new reference pdf files -->
<!-- =================================================================== -->
<target name="referencePDF" depends="init">
<fop format="application/pdf" outdir="${referenceDir}" basedir="./fo">
<fileset dir="${foDir}">
<include name="**/*.fo"/>
</fileset>
</fop>
</target>

<!-- =================================================================== -->
<!-- Starts the test -->
<!-- =================================================================== -->
<target name="runtest" depends="comparePDF">
<echo message="Running Fop tests"/>
</target>
<!-- =================================================================== -->
<!-- Clean targets -->
<!-- =================================================================== -->
<target name="clean" depends="init">
<delete dir="${testDir}"/>
</target>

</project>
<!-- End of file -->

+ 0
- 207
docs/examples/fo/alignment.fo View File

@@ -1,207 +0,0 @@
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="one">
<fo:region-body margin-top="25pt" margin-bottom="25pt" margin-left="20pt" margin-right="20pt" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="one">
<fo:flow flow-name="xsl-region-body">
<fo:block><fo:inline font-weight="bold">Ex 1:</fo:inline> This
is a longer line of text that provides a context for the line with the images aligned on it.
This is a line with before-edge
<fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="50">
<svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="47" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 42l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="40">
<svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="40" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, middle<fo:instream-foreign-object vertical-align="middle">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="3" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, and no<fo:instream-foreign-object>
<svg:svg width="25" height="40">
<svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="40" style="stroke:black;stroke-width:1.5"/>
</svg:svg>
</fo:instream-foreign-object> alignment.
And this is the line of text that follows the line with the aligned objects on it.
And finally, this line illustrates the normal spacing between lines of text in this font.
</fo:block>

<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>

<fo:block><fo:inline font-weight="bold">Ex 2:</fo:inline> This
is a longer line of text that provides a context for the line with the images aligned on it.
This is a line with before-edge
<fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="50">
<svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="47" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 42l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="40">
<svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="40" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, middle<fo:instream-foreign-object vertical-align="middle">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="3" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object> alignment.
And this is the line of text that follows the line with the aligned objects on it.
And finally, this line illustrates the normal spacing between lines of text in this font.
</fo:block>

<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>

<fo:block><fo:inline font-weight="bold">Ex 3:</fo:inline> This
is a longer line of text that provides a context for the line with the images aligned on it.
This is a line with before-edge
<fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="50">
<svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="47" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 42l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="40">
<svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="40" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object> alignment.
And this is the line of text that follows the line with the aligned objects on it.
And finally, this line illustrates the normal spacing between lines of text in this font.
</fo:block>

<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>

<fo:block><fo:inline font-weight="bold">Ex 4:</fo:inline> This
is a longer line of text that provides a context for the line with the images aligned on it.
This is a line with before-edge
<fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="40">
<svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="37" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 32l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="50">
<svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="50" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object> alignment.
And this is the line of text that follows the line with the aligned objects on it.
And finally, this line illustrates the normal spacing between lines of text in this font.
</fo:block>

<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>

<fo:block><fo:inline font-weight="bold">Ex 5:</fo:inline> This
is a longer line of text that provides a context for the line with the images aligned on it.
This is a line with before-edge
<fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="top">
<svg:svg width="25" height="40">
<svg:rect x="0" y="0" width="25" height="40" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="0" x2="12.5" y2="37" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 32l7.5 8l7.5 -8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, after-edge<fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="25" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object><fo:instream-foreign-object vertical-align="bottom">
<svg:svg width="25" height="50">
<svg:rect x="0" y="0" width="25" height="50" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="2" x2="12.5" y2="50" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object>, middle<fo:instream-foreign-object vertical-align="middle">
<svg:svg width="25" height="25">
<svg:rect x="0" y="0" width="25" height="25" style="fill:none;stroke:#000000"/>
<svg:line x1="12.5" y1="3" x2="12.5" y2="22" style="stroke:black;stroke-width:1.5"/>
<svg:path d="M5 17l7.5 8l7.5 -8z" style="fill:black"/>
<svg:path d="M5 8l7.5 -8l7.5 8z" style="fill:black"/>
</svg:svg>
</fo:instream-foreign-object> alignment.
And this is the line of text that follows the line with the aligned objects on it.
And finally, this line illustrates the normal spacing between lines of text in this font.
</fo:block>

<fo:block space-after="15pt"><fo:leader leader-pattern="rule"/></fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 170
docs/examples/fo/blockcontainer.fo View File

@@ -1,170 +0,0 @@
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="one">
<fo:region-body margin-top="25pt" margin-bottom="25pt" margin-left="50pt" margin-right="50pt" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="one">
<fo:flow flow-name="xsl-region-body">
<fo:block text-align="center" font-size="16pt" font-weight="bold">
Block Containers
</fo:block>

<fo:block>
The fo:block-container object can be used to create an area with
a different writing mode or a different reference orientation.
The areas can be part of the flow or absolutely positioned.
</fo:block>

<fo:block>
This is a normal block container within the flow layout.
<fo:block-container>
<fo:block>
BC:A
</fo:block>
</fo:block-container>
</fo:block>

<fo:block>
This block container has a different reference orientation.
<fo:block-container reference-orientation="90" inline-progression-dimension="100pt">
<fo:block>
BC:B
</fo:block>
<fo:block>
The areas are stacked normally but the orientation of the
area is rotated 90 degrees anti-clockwise.
</fo:block>
<fo:block>
The blocks continue until exhausted as the layout
height of this container is fixed in the parent
block progression dimension. The clipping of the result
is determined by the overflow property. The block
progression dimension of this container is effectively
infinite.
</fo:block>
</fo:block-container>
</fo:block>

<fo:block>
This block container has a different reference orientation.
<fo:block-container reference-orientation="270" inline-progression-dimension="100pt">
<fo:block>
BC:B II
</fo:block>
<fo:block>
The areas are stacked normally but the orientation of the
area is rotated 90 degrees clockwise.
</fo:block>
<fo:block>
The blocks continue until exhausted as the layout
height of this container is fixed in the parent
block progression dimension. The clipping of the result
is determined by the overflow property.
</fo:block>
</fo:block-container>
</fo:block>

<fo:block>
This block container has a different reference orientation.
<fo:block-container reference-orientation="180" inline-progression-dimension="100pt">
<fo:block>
BC:B III
</fo:block>
<fo:block>
The areas are stacked normally but the orientation of the
area is rotated 180 degrees clockwise.
</fo:block>
<fo:block>
This block container behaves as part of the flow except
the contents are drawn rotated within the viewport by
180 degrees.
</fo:block>
</fo:block-container>
</fo:block>

<fo:block>
different writing mode
<fo:block-container writing-mode="rl">
<fo:block>
BC:C
</fo:block>
<fo:block>
The areas in this block are stacked according to the rl (tb)
writing mode.
</fo:block>
</fo:block-container>
</fo:block>

<fo:block>
The next block-container has an absolute position. It does
not effect the flow layout of other blocks.
<fo:block-container absolute-position="absolute"
left="20pt" top="400pt" right="220pt" bottom="550pt">
<fo:block>
BC:D
</fo:block>
<fo:block>
This is a normal block that is confined to the
block container.
</fo:block>
</fo:block-container>
</fo:block>

<fo:block>
The next block-container has an absolute position. It does
not effect the flow layout of other blocks. This time with
the reference-orientation set.
<fo:block-container reference-orientation="270" absolute-position="absolute"
left="270pt" top="400pt" right="370pt" bottom="500pt">
<fo:block>
BC:E
</fo:block>
<fo:block>
This is a normal block that is confined to the
block container.
</fo:block>
</fo:block-container>
</fo:block>

<fo:block break-after="page">
End of page.
</fo:block>

<fo:block>
The next block-container tests the clipping.
<fo:block-container reference-orientation="180" absolute-position="absolute"
left="100pt" top="550pt" right="200pt" bottom="700pt"
overflow="hidden">
<fo:block>
BC:F
</fo:block>
<fo:block>
This is a normal block that is confined to the
block container. It also has contents that are
larger than the block-container so that this text
will be clipped to the viewport.
</fo:block>
</fo:block-container>
</fo:block>

<fo:block>
The next block-container tests error-if-overflow.
<fo:block-container reference-orientation="90" absolute-position="absolute"
left="220pt" top="600pt" right="320pt" bottom="700pt"
overflow="error-if-overflow">
<fo:block>
BC:G
</fo:block>
<fo:block>
This is a normal block that is confined to the
block container. It also has contents that are
larger than the block-container so that this text
will be clipped to the viewport.
</fo:block>
</fo:block-container>
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 189
docs/examples/fo/border.fo View File

@@ -1,189 +0,0 @@
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master
margin-right="0.5cm" margin-left="0.5cm" margin-bottom="0.5cm" margin-top="0.75cm"
page-width="21cm" page-height="29.7cm" master-name="first">
<fo:region-body></fo:region-body>
</fo:simple-page-master>
<fo:simple-page-master
margin-right="2.5cm" margin-left="2.5cm" margin-bottom="2cm" margin-top="1cm"
page-width="21cm" page-height="29.7cm" master-name="rest">
<fo:region-body></fo:region-body>
</fo:simple-page-master>

<fo:page-sequence-master master-name="psmA">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first"
page-position="first" />
<fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
<fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="psmA">
<fo:flow flow-name="xsl-region-body">
<fo:block-container height="4cm" width="12cm" top="0cm" left="0cm" position="absolute">
<fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
PX7.net
</fo:block>
<fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
44 Liberty St
</fo:block>
<fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
Newburyport, MA 01950
</fo:block>
<fo:block text-align="start" line-height="18pt" font-family="sans-serif" font-weight="bold" font-size="14pt">
978-462-1152
</fo:block>
</fo:block-container>
<fo:block-container height="1cm" width="6cm" top="0cm" left="14cm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="22pt" font-family="sans-serif" font-size="23pt">
Sales Receipt
</fo:block>
</fo:block-container>

<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="2.49cm" top="1.2cm" left="13.8cm" padding=".6mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
DATE
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="2.49cm" top="1.87cm" left="13.8cm" padding=".6mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="10pt">
01/01/2000
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="2.49cm" top="1.2cm" left="16.46cm" padding=".6mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
SALE #
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="2.49cm" top="1.87cm" left="16.46cm" padding=".6mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="10pt">
1
</fo:block>
</fo:block-container>


<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="8.95cm" top="3cm" left="0cm" padding=".6mm" position="absolute">
<fo:block text-align="start" line-height="14pt" font-family="sans-serif" font-size="12pt">
SOLD TO
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="3cm" width="8.95cm" top="3.67cm" left="0cm" padding=".6mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="8.95cm" top="3cm" left="10cm" padding=".6mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
SHIP TO
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="3cm" width="8.95cm" top="3.67cm" left="10cm" padding=".6mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
</fo:block>
</fo:block-container>


<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="3.96cm" top="7.25cm" left="10.74cm" padding="1mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
PMT METHOD
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="3.96cm" top="8cm" left="10.74cm" padding="1mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="10pt">
Check
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="3.96cm" top="7.25cm" left="14.95cm" padding="1mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="12pt">
CHECK #
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width=".5mm" height="0.5cm" width="3.96cm" top="8cm" left="14.95cm" padding="1mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="14pt" font-family="sans-serif" font-size="10pt">
1234
</fo:block>
</fo:block-container>


<fo:block-container height="17cm" width="19cm" top="9.4cm" left="0cm" position="absolute">
<fo:table border-collapse="separate" border-color="yellow" border-style="solid" border-width=".6mm" height="17cm">
<fo:table-column column-width="2.5cm"/>
<fo:table-column column-width="11.5cm"/>
<fo:table-column column-width="2.5cm"/>
<fo:table-column column-width="2.5cm"/>
<fo:table-body font-family="sans-serif" font-weight="normal" font-size="10pt">
<fo:table-row line-height="12pt">
<fo:table-cell border-width="1pt" border-color="green" border-style="solid" padding="1mm">
<fo:block text-align="end">QUANTITY</fo:block>
</fo:table-cell>
<fo:table-cell border-width="1pt" border-color="red" border-style="solid" padding="1mm">
<fo:block text-align="start">DESCRIPTION</fo:block>
</fo:table-cell>
<fo:table-cell border-color="blue" border-style="solid" padding="1mm">
<fo:block text-align="center">RATE</fo:block>
</fo:table-cell>
<fo:table-cell border-color="orange" border-style="solid" padding="1mm">
<fo:block text-align="center">AMOUNT</fo:block>
</fo:table-cell>

</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell padding="2pt">
<fo:block text-align="end">1</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="start">Wide Widget</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="end">$22.23</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="end">22.31</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell padding="2pt">
<fo:block text-align="end">1</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="start">Widget</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="end">$22.23</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="end">22.31</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell padding="2pt">
<fo:block text-align="end">3</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="start">Nuts</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="end">$12.00</fo:block>
</fo:table-cell>
<fo:table-cell padding="2pt">
<fo:block text-align="end">36.00</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width="0.5mm" height="1cm" width="13.31cm" top="26.5cm" left="0cm" padding="1mm" position="absolute">
<fo:block text-align="start" line-height="15pt" font-family="sans-serif" font-size="12pt">Please remit to the above address</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width="0.5mm" height="1cm" width="2.5cm" top="26.5cm" left="13.56cm" padding="1mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="25pt" font-family="sans-serif" font-size="22pt">Total</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid" border-width="0.5mm" height="1cm" width="2.5cm" top="26.5cm" left="16.31cm" padding="1mm" position="absolute">
<fo:block text-align="start" space-after.optimum="3pt" line-height="15pt" font-family="sans-serif" font-size="10pt">$3.00</fo:block>
</fo:block-container>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 169
docs/examples/fo/bordershorthand.fo View File

@@ -1,169 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>


<!-- example for a simple fo file. At the beginning the page layout is set.
Below fo:root there is always
- a single fo:layout-master-set which defines one or more page layouts
- an optional fo:declarations,
- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<!-- fo:layout-master-set defines in its children the page layout:
the pagination and layout specifications
- page-masters: have the role of describing the intended subdivisions
of a page and the geometry of these subdivisions
- page-sequence-masters: have the role of describing the sequence
of page-masters that will be used to generate
pages during the formatting of an fo:page-sequence

-->

<!-- layout for the first page -->
<fo:simple-page-master master-name="first"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.0cm + 0.5cm"
margin-right="(5cm * 1cm) div 2cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<!-- layout for the other pages -->
<fo:simple-page-master master-name="rest"
page-height="abs(-30cm + .3cm)"
page-width="(10cm * 2) + 1cm"
margin-top="round(.5) * 1cm"
margin-bottom="round(2.4) * 1cm"
margin-left="2.5 * 1cm"
margin-right="5.5cm - 3cm">
<fo:region-body margin-top="2.5cm"/>
<fo:region-before extent="2.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first"
page-position="first" />
<fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
<fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="basicPSM">

<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="1em + 4pt"
>
Border and Padding Shorthand Tests - p. <fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<!-- defines text title level 1-->
<fo:block font-size="min(18pt,20pt)"
font-family="sans-serif"
line-height="max(24pt,18pt)"
space-after.optimum="5 mod 3 * 7.5pt"
background-color="rgb(128,128,128)"
color="rgb(255,255,255)"
text-align="center"
padding-top="3pt">
Border and Padding Shorthand Tests
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-after="12pt"
text-align="start"
background-color="rgb(150,150,150)"
start-indent="3mm" end-indent="3mm"
padding-left="3mm" padding-right="3mm"
padding-top="4mm" padding-bottom="4mm"
border-style="dashed"
border-left-width="1pt" border-right-width="1pt"
border-top-width="2pt" border-bottom-width="2pt"
border-top-color="rgb(100,100,100)" border-bottom-color="rgb(200,200,200)">
In this example, padding and border properties are specified using absolute properties:
padding-left, padding-right, padding-top, and padding-bottom, etc.
According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-after="12pt"
text-align="start"
background-color="rgb(150,150,150)"
start-indent="3mm" end-indent="3mm"
padding="3mm + 1mm 3mm"
border-top="rgb(100,100,100) 1pt + 1pt dashed"
border-bottom="2pt rgb(200,200,200) solid"
border-left="solid 1pt" border-right="solid 1pt">
In this example, padding and border properties are specified using shorthand properties:
padding, border-width, border-color.
According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-after="3pt"
text-align="start"
background-color="rgb(150,150,150)"
start-indent="3mm" end-indent="3mm"
padding-before="4mm" padding-after="4mm"
padding-start.length="3mm" padding-end.length="3mm"
border-style="solid"
border-start-width="1pt" border-end-width="1pt"
border-before-width="2pt" border-after-width="2pt"
border-before-color="rgb(100,100,100)"
border-after-color="rgb(200,200,200)">
In this example, padding and border properties are specified using writing-mode relative properties:
padding-before, padding-after, padding-start, and padding-end, etc.
According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-after="3pt"
text-align="start"
background-color="rgb(200,200,200)"
start-indent="3mm" end-indent="3mm"
padding = "3mm"
padding-before="4mm" padding-after="4mm"
border-width = "2pt" border-style="solid"
border-color="black"
border-start-width="1pt" border-end-width="1pt"
border-before-width="2pt" border-after-width="2pt"
border-before-color="rgb(200,200,200)"
border-after-color="rgb(100,100,100)">
In this example, padding and border properties are specified using
shorthand and writing-mode relative properties:
padding-before, padding-after, padding-start, and padding-end, etc.
According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 105
docs/examples/fo/character.fo View File

@@ -1,105 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- example for a simple fo file. At the beginning the page layout is set.
Below fo:root there is always
- a single fo:layout-master-set which defines one or more page layouts
- an optional fo:declarations
- and a sequence of one or more fo:page-sequences containing the text and formatting instructions
-->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<!-- fo:layout-master-set defines in its children the page layout:
the pagination and layout specifications
- page-masters: have the role of describing the intended subdivisions
of a page and the geometry of these subdivisions
In this case there is only a simple-page-master which defines the
layout for all pages of the text
-->
<!-- layout information -->
<fo:simple-page-master master-name="simple"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<!-- end: defines page layout -->


<!-- start page-sequence
here comes the text (contained in flow objects)
the page-sequence can contain different fo:flows
the attribute value of master-name refers to the page layout
which is to be used to layout the text contained in this
page-sequence-->
<fo:page-sequence master-reference="simple">

<!-- start fo:flow
each flow is targeted
at one (and only one) of the following:
xsl-region-body (usually: normal text)
xsl-region-before (usually: header)
xsl-region-after (usually: footer)
xsl-region-start (usually: left margin)
xsl-region-end (usually: right margin)
['usually' applies here to languages with left-right and top-down
writing direction like English]
in this case there is only one target: xsl-region-body
-->
<fo:flow flow-name="xsl-region-body"
text-align="justify">

<!-- each paragraph is encapsulated in a block element
the attributes of the block define
font-family and size, line-heigth etc. -->


<!-- this defines normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
>
1. Why <fo:character character="T" font-size="16pt" color="red"/><fo:character character="E" font-size="16pt" color="blue"/><fo:character character="I" font-size="16pt" color="green"/>? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
Why T<fo:character character="E"/>I? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. <fo:character character="Y"/>ou should use it too.
</fo:block>

<!-- this defines normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
>
1. Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
Why TEI? I know, you know, I know (Paul Grice). Using TEI is quite a challenge. ou should use it too.
</fo:block>

<!-- this defines normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
>
1. Why TEI? Using <fo:inline text-decoration="underline">TEI</fo:inline> is quite a challenge. <fo:character character="Y" font-size="16pt" />ou should use it too.
</fo:block>

</fo:flow> <!-- closes the flow element-->
</fo:page-sequence> <!-- closes the page-sequence -->
</fo:root>

+ 0
- 237
docs/examples/fo/corresprop.fo View File

@@ -1,237 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>


<!-- example for a simple fo file. At the beginning the page layout is set.
Below fo:root there is always
- a single fo:layout-master-set which defines one or more page layouts
- an optional fo:declarations,
- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<!-- fo:layout-master-set defines in its children the page layout:
the pagination and layout specifications
- page-masters: have the role of describing the intended subdivisions
of a page and the geometry of these subdivisions
- page-sequence-masters: have the role of describing the sequence
of page-masters that will be used to generate
pages during the formatting of an fo:page-sequence

-->

<!-- layout for the first page -->
<fo:simple-page-master master-name="first"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.0cm + 0.5cm"
margin-right="(5cm * 1cm) div 2cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<!-- layout for the other pages -->
<fo:simple-page-master master-name="rest"
page-height="abs(-30cm + .3cm)"
page-width="(10cm * 2) + 1cm"
margin-top="round(.5) * 1cm"
margin-bottom="round(2.4) * 1cm"
margin-left="2.5 * 1cm"
margin-right="5.5cm - 3cm">
<fo:region-body margin-top="2.5cm"/>
<fo:region-before extent="2.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first"
page-position="first" />
<fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
<fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="basicPSM">

<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="1em + 4pt" >
Corresponding Property Tests - p. <fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<!-- defines text title level 1-->
<fo:block font-size="min(18pt,20pt)"
font-family="sans-serif"
line-height="max(24pt,18pt)"
space-after.optimum="5 mod 3 * 7.5pt"
background-color="rgb(0,0,255)"
color="rgb(255,255,255)"
text-align="center"
padding-top="3pt">
Corresponding Property Tests
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-after="12pt"
text-align="start"
background-color="rgb(200,200,200)"
start-indent="3mm" end-indent="3mm"
padding-left="3mm" padding-right="3mm"
padding-top="4mm" padding-bottom="4mm"
border-left-width="1pt" border-right-width="1pt"
border-top-width="2pt" border-bottom-width="2pt"
border-top-color="red" border-bottom-color="blue">
In this example, padding and border properties are specified using absolute properties:
padding-left, padding-right, padding-top, and padding-bottom, etc.
According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-after="3pt"
text-align="start"
background-color="rgb(200,200,200)"
start-indent="3mm" end-indent="3mm"
padding-before="4mm" padding-after="4mm"
padding-start.length="3mm" padding-end.length="3mm"
border-start-width="1pt" border-end-width="1pt"
border-before-width="2pt" border-after-width="2pt"
border-before-color="red" border-after-color="blue">
In this example, padding and border properties are specified using writing-mode relative properties:
padding-before, padding-after, padding-start, and padding-end, etc.
According to the specification, a request for the absolute (top, bottom, left, right) versions of these properties should use the relative ones if they are specified.
</fo:block>

<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="start"
start-indent="1cm">
This block has a start-indent of 1cm and no borders or padding. It has
no margin-left set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="start"
margin-left="1cm">
This block has a margin-left of 1cm and no borders or padding. It has
no start-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="start"
start-indent="1cm"
padding-left="4mm" border-left-width="1mm">
This block has a start-indent of 1cm, padding-left of 4mm and border-left-width of 1mm. It has
no margin-left set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="start"
margin-left="5mm"
padding-left="4mm" border-left-width="1mm">
This block has a margin-left of 5mm, padding-left of 4mm and border-left-width of 1mm. (Margin is outside the border rectangle.) It has
no start-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>

<!-- defines text title level 1-->
<fo:block font-size="14pt"
font-family="serif"
font-weight="bold"
line-height="16pt"
space-after="6pt"
text-align="center"
break-before="page">
End-indent tests
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="end"
end-indent="1cm">
This block has an end-indent of 1cm and no borders or padding. It has
no margin-right set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="end"
margin-right="1cm">
This block has a margin-right of 1cm and no borders or padding. It has
no end-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="end"
end-indent="1cm"
padding-end="4mm" border-end-width="1mm">
This block has an end-indent of 1cm, padding-end of 4mm and border-end-width of 1mm. It has
no margin-right set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="end"
margin-right="5mm"
padding-right="4mm" border-right-width="1mm">
This block has a margin-right of 5mm, padding-right of 4mm and
border-right-width of 1mm. (Margin is outside the border rectangle.) It has
no end-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-before="12pt"
space-after="3pt"
text-align="end"
margin-right="5mm"
padding-end="4mm" border-end-width="1mm">
This block has a margin-right of 5mm, padding-end of 4mm and
border-end-width of 1mm. (Margin is outside the border rectangle.) It has
no end-indent set. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text. Here is some more text to fill out the block. Here is some more text to fill out the block. Here is some more text to fill out the block.
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 148
docs/examples/fo/extensive.fo View File

@@ -1,148 +0,0 @@
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="one">
<fo:region-body margin-top="50pt" margin-bottom="50pt" margin-left="100pt" margin-right="100pt"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="one">
<fo:flow flow-name="xsl-region-body">
<fo:block>A Block</fo:block>
<fo:block text-align="end">An End Aligned Block</fo:block>
<fo:block text-align="center">A Centered Block</fo:block>
<fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is default.</fo:block>
<fo:block text-align="end">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is end.</fo:block>
<fo:block text-align="center">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. Alignment is centered.</fo:block>
<fo:block text-align="justify">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. I'm going to keep going so I can get three lines to check how all but the last justify. There, that should do it. Alignment is justified.</fo:block>
<fo:block>A block for comparison</fo:block>
<fo:block space-before.optimum="12pt">A block with 12pt space-before</fo:block>
<fo:block>A block for comparison</fo:block>
<fo:block space-after.optimum="12pt">A block with 12pt space-after</fo:block>
<fo:block>A block for comparison</fo:block>
<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block with both 12pt space-before and space-after</fo:block>
<fo:block>A block for comparison</fo:block>
<fo:block start-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is a start-indent of 50pt.</fo:block>
<fo:block end-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is an end-indent of 50pt.</fo:block>
<fo:block start-indent="50pt" end-indent="50pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. There is a start-indent and end-indent of 50pt.</fo:block>
<fo:block font-size="15pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt.</fo:block>
<fo:block line-height="20pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The line-height is set to 20pt.</fo:block>
<fo:block font-size="15pt" line-height="20pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt and the line-height is set to 20pt.</fo:block>
<fo:block font-size="15pt" line-height="15pt">This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The font-size is set to 15pt and the line-height is set to 15pt.</fo:block>
<fo:block space-before.optimum="12pt" space-after.optimum="12pt"><fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block</fo:block></fo:block>
<fo:block space-before.optimum="12pt" space-after.optimum="12pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block</fo:block>Text after</fo:block>
<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block with 50pt start-intent</fo:block>Text after</fo:block>
<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">And again for the page break, text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block within a block with 50pt start-intent</fo:block>Text after</fo:block>
<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt">A block with 50pt start-indent within a block with 50pt start-intent</fo:block>Text after</fo:block>
<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="50pt">Text before<fo:block space-before.optimum="12pt" space-after.optimum="12pt" start-indent="100pt">A block with 100pt start-indent within a block with 50pt start-intent</fo:block>Text after</fo:block>
<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block start-indent="50pt" provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks. The list-block has a start-indent of 50pt and a text-align of justified.</fo:block></fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a second multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a third multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt" text-align="justify">
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block start-indent="100pt">This is a multiple line block with start-indent 100pt that extends over more than one line. There should be appropriate line breaks.</fo:block><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()"><fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.<fo:block>This is an embedded multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block>This is a multiple line block that extends over more than one line. There should be appropriate line breaks.</fo:block></fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:list-block provisional-distance-between-starts="12pt" space-before.optimum="12pt">
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()"><fo:block>A block in a list-item-body</fo:block></fo:list-item-body>
</fo:list-item>
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:list-block provisional-distance-between-starts="12pt">
<fo:list-item>
<fo:list-item-label end-indent="label-end()"><fo:block>&#x2022;</fo:block></fo:list-item-label>
<fo:list-item-body start-indent="body-start()"><fo:block>This is a list item in a list that is itself a list item</fo:block></fo:list-item-body>
</fo:list-item>
</fo:list-block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<fo:block break-before="page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Next Stage</fo:block>
<fo:block>Right, now we are ready to try some newly implemented things like rules. What follows is a display rule of default thickness 1pt and a space-before and space-after of 12pt.</fo:block>
<fo:block><fo:leader leader-pattern="rule" space-before.optimum="12pt" space-after.optimum="12pt"/></fo:block>
<fo:block>Now what follows is a leader of thickness 5pt with start-indent of 100pt (same space-before/after as before).</fo:block>
<fo:block><fo:leader leader-pattern="rule" space-before.optimum="12pt" space-after.optimum="12pt" rule-thickness="5pt" start-indent="100pt"/></fo:block>
<fo:block font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt"
><fo:inline color="#500">C</fo:inline
><fo:inline color="#700">o</fo:inline
><fo:inline color="#900">l</fo:inline
><fo:inline color="#B00">o</fo:inline
><fo:inline color="#D00">u</fo:inline
><fo:inline color="#F00">r</fo:inline
></fo:block>
<fo:block color="black">black</fo:block>
<fo:block color="green">green</fo:block>
<fo:block color="silver">silver</fo:block>
<fo:block color="lime">lime</fo:block>
<fo:block color="gray">gray</fo:block>
<fo:block color="olive">olive</fo:block>
<fo:block color="white">white</fo:block>
<fo:block color="yellow">yellow</fo:block>
<fo:block color="maroon">maroon</fo:block>
<fo:block color="navy">navy</fo:block>
<fo:block color="red">red</fo:block>
<fo:block color="blue">blue</fo:block>
<fo:block color="purple">purple</fo:block>
<fo:block color="teal">teal</fo:block>
<fo:block color="fuchsia">fuchsia</fo:block>
<fo:block color="aqua">aqua</fo:block>
<fo:block break-before="even-page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Wrap</fo:block>
<fo:block space-before.optimum="12pt">This is a rather long sentence that is going to keep on going and going, not really to demonstrate anything other that normal wrapping because the following paragraph will show what happens when wrap-option is set to no-wrap.</fo:block>
<fo:block space-before.optimum="12pt" wrap-option="no-wrap">This is a rather long sentence that is going to keep on going and going to demonstrate what happens when wrap-option is set to no-wrap which is unlike the preceding sentence where it defaults to wrap.</fo:block>
<fo:block space-before.optimum="12pt" wrap-option="wrap">This is a rather long sentence that is going to keep on going and going, not really to demonstrate anything other that normal wrapping but it differs from the first of these three sentences in that wrap is set explicitly.</fo:block>
<fo:block font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">White Space Collapse</fo:block>
<fo:block>This is default!</fo:block>
<fo:block white-space-collapse="false">This is false!</fo:block>
<fo:block white-space-collapse="true">This is true!</fo:block>
<fo:block font-family="monospace"
white-space-collapse="false"
linefeed-treatment="preserve"
white-space-treatment="preserve"
wrap-option="no-wrap">
<![CDATA[<?xml version="1.0"?>
<document>
<heading>This is a heading</heading>
<list>
<item>Item one</item>
<item>Item two</item>
</list>
</document>]]>
</fo:block>
<fo:block break-before="page" font-size="24pt" line-height="28pt" space-before.optimum="12pt" space-after.optimum="12pt">Embedded SVG</fo:block>
<fo:block><fo:instream-foreign-object>
<svg:svg width="400pt" height="200pt">
<svg:rect style="fill:none;stroke:blue" x="20pt" y="20pt" width="100pt" height="100pt"/>
<svg:line x1="20pt" y1="20pt" x2="120pt" y2="120pt"/>
<svg:line x1="120pt" y1="20pt" x2="20pt" y2="120pt"/>
<svg:text x="20pt" y="150pt">Hello SVG!</svg:text>
</svg:svg>
</fo:instream-foreign-object></fo:block>
<fo:block>The above is an example of an SVG graphic</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>



+ 0
- 195
docs/examples/fo/fonts.fo View File

@@ -1,195 +0,0 @@
<?xml version="1.0" ?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines the layout master -->
<fo:layout-master-set>
<fo:simple-page-master master-name="first"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<!-- starts actual layout -->
<fo:page-sequence master-reference="first">


<fo:flow flow-name="xsl-region-body">

<fo:block font-family="Helvetica" font-size="14pt">
Helvetica
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Helvetica">
&#x21; &#x22; &#x23; &#x24; &#x25; &#x26; &#x27; &#x28; &#x29; &#x2A;
&#x2B; &#x2C; &#x2D; &#x2E; &#x2F; &#x30; &#x31; &#x32; &#x33; &#x34;
&#x35; &#x36; &#x37; &#x38; &#x39; &#x3A; &#x3B; &#x3C; &#x3D; &#x3E;
&#x3F; &#x40; &#x41; &#x42; &#x43; &#x44; &#x45; &#x46; &#x47; &#x48;
&#x49; &#x4A; &#x4B; &#x4C; &#x4D; &#x4E; &#x4F; &#x50; &#x51; &#x52;
&#x53; &#x54; &#x55; &#x56; &#x57; &#x58; &#x59; &#x5A; &#x5B; &#x5C;
&#x5D; &#x5E; &#x5F; &#x60; &#x61; &#x62; &#x63; &#x64; &#x65; &#x66;
&#x67; &#x68; &#x69; &#x6A; &#x6B; &#x6C; &#x6D; &#x6E; &#x6F; &#x70;
&#x71; &#x72; &#x73; &#x74; &#x75; &#x76; &#x77; &#x78; &#x79; &#x7A;
&#x7B; &#x7C; &#x7D; &#x7E; &#xA1; &#xA2; &#xA3; &#xA4; &#xA5; &#xA6;
&#xA7; &#xA8; &#xA9; &#xAA; &#xAB; &#xAC; &#xAE; &#xAF; &#xB0; &#xB1;
&#xB2; &#xB3; &#xB4; &#xB5; &#xB6; &#xB7; &#xB8; &#xB9; &#xBA; &#xBB;
&#xBC; &#xBD; &#xBE; &#xBF; &#xC0; &#xC1; &#xC2; &#xC3; &#xC4; &#xC5;
&#xC6; &#xC7; &#xC8; &#xC9; &#xCA; &#xCB; &#xCC; &#xCD; &#xCE; &#xCF;
&#xD0; &#xD1; &#xD2; &#xD3; &#xD4; &#xD5; &#xD6; &#xD7; &#xD8; &#xD9;
&#xDA; &#xDB; &#xDC; &#xDD; &#xDE; &#xDF; &#xE0; &#xE1; &#xE2; &#xE3;
&#xE4; &#xE5; &#xE6; &#xE7; &#xE8; &#xE9; &#xEA; &#xEB; &#xEC; &#xED;
&#xEE; &#xEF; &#xF0; &#xF1; &#xF2; &#xF3; &#xF4; &#xF5; &#xF6; &#xF7;
&#xF8; &#xF9; &#xFA; &#xFB; &#xFC; &#xFD; &#xFE; &#xFF;
&#x0152; &#x0153; &#x0160; &#x0161; &#x0178;
&#x017D; &#x017E; &#x0192; &#x02DC; &#x2013; &#x2014; &#x2018;
&#x2019; &#x201A; &#x201C; &#x201D; &#x201E; &#x2020; &#x2021;
&#x2022; &#x2026; &#x2030; &#x2039; &#x203A; &#x2122;
</fo:block>

<fo:block font-family="Helvetica" font-size="14pt">
Times Roman
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Times Roman">
&#x21; &#x22; &#x23; &#x24; &#x25; &#x26; &#x27; &#x28; &#x29; &#x2A;
&#x2B; &#x2C; &#x2D; &#x2E; &#x2F; &#x30; &#x31; &#x32; &#x33; &#x34;
&#x35; &#x36; &#x37; &#x38; &#x39; &#x3A; &#x3B; &#x3C; &#x3D; &#x3E;
&#x3F; &#x40; &#x41; &#x42; &#x43; &#x44; &#x45; &#x46; &#x47; &#x48;
&#x49; &#x4A; &#x4B; &#x4C; &#x4D; &#x4E; &#x4F; &#x50; &#x51; &#x52;
&#x53; &#x54; &#x55; &#x56; &#x57; &#x58; &#x59; &#x5A; &#x5B; &#x5C;
&#x5D; &#x5E; &#x5F; &#x60; &#x61; &#x62; &#x63; &#x64; &#x65; &#x66;
&#x67; &#x68; &#x69; &#x6A; &#x6B; &#x6C; &#x6D; &#x6E; &#x6F; &#x70;
&#x71; &#x72; &#x73; &#x74; &#x75; &#x76; &#x77; &#x78; &#x79; &#x7A;
&#x7B; &#x7C; &#x7D; &#x7E; &#xA1; &#xA2; &#xA3; &#xA4; &#xA5; &#xA6;
&#xA7; &#xA8; &#xA9; &#xAA; &#xAB; &#xAC; &#xAE; &#xAF; &#xB0; &#xB1;
&#xB2; &#xB3; &#xB4; &#xB5; &#xB6; &#xB7; &#xB8; &#xB9; &#xBA; &#xBB;
&#xBC; &#xBD; &#xBE; &#xBF; &#xC0; &#xC1; &#xC2; &#xC3; &#xC4; &#xC5;
&#xC6; &#xC7; &#xC8; &#xC9; &#xCA; &#xCB; &#xCC; &#xCD; &#xCE; &#xCF;
&#xD0; &#xD1; &#xD2; &#xD3; &#xD4; &#xD5; &#xD6; &#xD7; &#xD8; &#xD9;
&#xDA; &#xDB; &#xDC; &#xDD; &#xDE; &#xDF; &#xE0; &#xE1; &#xE2; &#xE3;
&#xE4; &#xE5; &#xE6; &#xE7; &#xE8; &#xE9; &#xEA; &#xEB; &#xEC; &#xED;
&#xEE; &#xEF; &#xF0; &#xF1; &#xF2; &#xF3; &#xF4; &#xF5; &#xF6; &#xF7;
&#xF8; &#xF9; &#xFA; &#xFB; &#xFC; &#xFD; &#xFE; &#xFF; &#x0152;
&#x0153; &#x0160; &#x0161; &#x0178; &#x017D; &#x017E; &#x0192;
&#x02DC; &#x2013; &#x2014; &#x2018; &#x2019; &#x201A;
&#x201C; &#x201D; &#x201E; &#x2020; &#x2021; &#x2022; &#x2026;
&#x2030; &#x2039; &#x203A; &#x2122;
</fo:block>

<fo:block font-family="Helvetica" font-size="14pt">
Courier
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Courier">
&#x21; &#x22; &#x23; &#x24; &#x25; &#x26; &#x27; &#x28; &#x29; &#x2A;
&#x2B; &#x2C; &#x2D; &#x2E; &#x2F; &#x30; &#x31; &#x32; &#x33; &#x34;
&#x35; &#x36; &#x37; &#x38; &#x39; &#x3A; &#x3B; &#x3C; &#x3D; &#x3E;
&#x3F; &#x40; &#x41; &#x42; &#x43; &#x44; &#x45; &#x46; &#x47; &#x48;
&#x49; &#x4A; &#x4B; &#x4C; &#x4D; &#x4E; &#x4F; &#x50; &#x51; &#x52;
&#x53; &#x54; &#x55; &#x56; &#x57; &#x58; &#x59; &#x5A; &#x5B; &#x5C;
&#x5D; &#x5E; &#x5F; &#x60; &#x61; &#x62; &#x63; &#x64; &#x65; &#x66;
&#x67; &#x68; &#x69; &#x6A; &#x6B; &#x6C; &#x6D; &#x6E; &#x6F; &#x70;
&#x71; &#x72; &#x73; &#x74; &#x75; &#x76; &#x77; &#x78; &#x79; &#x7A;
&#x7B; &#x7C; &#x7D; &#x7E; &#xA1; &#xA2; &#xA3; &#xA4; &#xA5; &#xA6;
&#xA7; &#xA8; &#xA9; &#xAA; &#xAB; &#xAC; &#xAE; &#xAF; &#xB0; &#xB1;
&#xB2; &#xB3; &#xB4; &#xB5; &#xB6; &#xB7; &#xB8; &#xB9; &#xBA; &#xBB;
&#xBC; &#xBD; &#xBE; &#xBF; &#xC0; &#xC1; &#xC2; &#xC3; &#xC4; &#xC5;
&#xC6; &#xC7; &#xC8; &#xC9; &#xCA; &#xCB; &#xCC; &#xCD; &#xCE; &#xCF;
&#xD0; &#xD1; &#xD2; &#xD3; &#xD4; &#xD5; &#xD6; &#xD7; &#xD8; &#xD9;
&#xDA; &#xDB; &#xDC; &#xDD; &#xDE; &#xDF; &#xE0; &#xE1; &#xE2; &#xE3;
&#xE4; &#xE5; &#xE6; &#xE7; &#xE8; &#xE9; &#xEA; &#xEB; &#xEC; &#xED;
&#xEE; &#xEF; &#xF0; &#xF1; &#xF2; &#xF3; &#xF4; &#xF5; &#xF6; &#xF7;
&#xF8; &#xF9; &#xFA; &#xFB; &#xFC; &#xFD; &#xFE; &#xFF; &#x0152;
&#x0153; &#x0160; &#x0161; &#x0178; &#x017D;
&#x017E; &#x0192; &#x02DC; &#x2013; &#x2014; &#x2018;
&#x2019; &#x201A; &#x201C; &#x201D; &#x201E; &#x2020; &#x2021;
&#x2022; &#x2026; &#x2030; &#x2039; &#x203A; &#x2122;
</fo:block>

<fo:block font-family="Helvetica" font-size="14pt">
ZapfDingbats:
</fo:block>
<fo:block space-after.optimum="10pt" font-family="ZapfDingbats">
&#x2701; &#x2702; &#x2703; &#x2704; &#x260E; &#x2706; &#x2707;
&#x2708; &#x2709; &#x261B; &#x261E; &#x270C; &#x270D; &#x270E;
&#x270F; &#x2710; &#x2711; &#x2712; &#x2713; &#x2714; &#x2715;
&#x2716; &#x2717; &#x2718; &#x2719; &#x271A; &#x271B; &#x271C;
&#x271D; &#x271E; &#x271F; &#x2720; &#x2721; &#x2722; &#x2723;
&#x2724; &#x2725; &#x2726; &#x2727; &#x2605; &#x2729; &#x272A;
&#x272B; &#x272C; &#x272D; &#x272E; &#x272F; &#x2730; &#x2731;
&#x2732; &#x2733; &#x2734; &#x2735; &#x2736; &#x2737; &#x2738;
&#x2739; &#x273A; &#x273B; &#x273C; &#x273D; &#x273E; &#x273F;
&#x2740; &#x2741; &#x2742; &#x2743; &#x2744; &#x2745; &#x2746;
&#x2747; &#x2748; &#x2749; &#x274A; &#x274B; &#x25CF; &#x274D;
&#x25A0; &#x274F; &#x2750; &#x2751; &#x2752; &#x25B2; &#x25BC;
&#x25C6; &#x2756; &#x25D7; &#x2758; &#x2759; &#x275A; &#x275B;
&#x275C; &#x275D; &#x275E; &#x2761; &#x2762; &#x2763; &#x2764;
&#x2765; &#x2766; &#x2767; &#x2663; &#x2666; &#x2665; &#x2660;
&#x2460; &#x2461; &#x2462; &#x2463; &#x2464; &#x2465; &#x2466;
&#x2467; &#x2468; &#x2469; &#x2776; &#x2777; &#x2778; &#x2779;
&#x277A; &#x277B; &#x277C; &#x277D; &#x277E; &#x277F; &#x2780;
&#x2781; &#x2782; &#x2783; &#x2784; &#x2785; &#x2786; &#x2787;
&#x2788; &#x2789; &#x278A; &#x278B; &#x278C; &#x278D; &#x278E;
&#x278F; &#x2790; &#x2791; &#x2792; &#x2793; &#x2794; &#x2192;
&#x2194; &#x2195; &#x2798; &#x2799; &#x279A; &#x279B; &#x279C;
&#x279D; &#x279E; &#x279F; &#x27A0; &#x27A1; &#x27A2; &#x27A3;
&#x27A4; &#x27A5; &#x27A6; &#x27A7; &#x27A8; &#x27A9; &#x27AA;
&#x27AB; &#x27AC; &#x27AD; &#x27AE; &#x27AF; &#x27B1; &#x27B2;
&#x27B3; &#x27B4; &#x27B5; &#x27B6; &#x27B7; &#x27B8; &#x27B9;
&#x27BA; &#x27BB; &#x27BC; &#x27BD; &#x27BE; &#xF8E0; &#xF8DE;
&#xF8E3; &#xF8DD; &#xF8D7; &#xF8E1; &#xF8DB; &#xF8D8; &#xF8DF;
&#xF8DA; &#xF8D9; &#xF8DC; &#xF8E4; &#xF8E2;
</fo:block>

<fo:block font-family="Helvetica" font-size="14pt">
Symbol:
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Symbol">
&#x21; &#x23; &#x25; &#x26; &#x28; &#x29; &#x2B; &#x2C; &#x2E; &#x2F;
&#x30; &#x31; &#x32; &#x33; &#x34; &#x35; &#x36; &#x37; &#x38; &#x39;
&#x3A; &#x3B; &#x3C; &#x3D; &#x3E; &#x3F; &#x5B; &#x5D; &#x5F; &#x6D;
&#x7B; &#x7C; &#x7D; &#xAC; &#xB0; &#xB1; &#xB5; &#xD7; &#xF7;
&#x0192; &#x0391; &#x0392; &#x0393; &#x0395; &#x0396; &#x0397;
&#x0398; &#x0399; &#x039A; &#x039B; &#x039C; &#x039D; &#x039E;
&#x039F; &#x03A0; &#x03A1; &#x03A3; &#x03A4; &#x03A5; &#x03A6;
&#x03A7; &#x03A8; &#x03B1; &#x03B2; &#x03B3; &#x03B4; &#x03B5;
&#x03B6; &#x03B7; &#x03B8; &#x03B9; &#x03BA; &#x03BB; &#x03BD;
&#x03BE; &#x03BF; &#x03C0; &#x03C1; &#x03C2; &#x03C3; &#x03C4;
&#x03C5; &#x03C6; &#x03C7; &#x03C8; &#x03C9; &#x03D1; &#x03D2;
&#x03D5; &#x03D6; &#x2022; &#x2026; &#x2032; &#x2033; &#x2044;
&#x2111; &#x2118; &#x211C; &#x2126; &#x2135; &#x2190; &#x2191;
&#x2192; &#x2193; &#x2194; &#x21B5; &#x21D0; &#x21D1; &#x21D2;
&#x21D3; &#x21D4; &#x2200; &#x2202; &#x2203; &#x2205; &#x2206;
&#x2207; &#x2208; &#x2209; &#x220B; &#x220F; &#x2211; &#x2212;
&#x2217; &#x221A; &#x221D; &#x221E; &#x2220; &#x2227; &#x2228;
&#x2229; &#x222A; &#x222B; &#x2234; &#x223C; &#x2245; &#x2248;
&#x2260; &#x2261; &#x2264; &#x2265; &#x2282; &#x2283; &#x2284;
&#x2286; &#x2287; &#x2295; &#x2297; &#x22A5; &#x22C5; &#x2320;
&#x2321; &#x2329; &#x232A; &#x25CA; &#x2660; &#x2663; &#x2665;
&#x2666; &#xF6D9; &#xF6DA; &#xF6DB; &#xF8E5; &#xF8E6; &#xF8E7;
&#xF8E8; &#xF8E9; &#xF8EA; &#xF8EB; &#xF8EC; &#xF8ED; &#xF8EE;
&#xF8EF; &#xF8F0; &#xF8F1; &#xF8F2; &#xF8F3; &#xF8F4; &#xF8F5;
&#xF8F6; &#xF8F7; &#xF8F8; &#xF8F9; &#xF8FA; &#xF8FB; &#xF8FC;
&#xF8FD; &#xF8FE;
</fo:block>

<fo:block font-family="Helvetica" font-size="12pt">
Some special characters:
</fo:block>
<fo:block space-after.optimum="10pt" font-family="Helvetica">
Euro ( dec 8364, hex 20AC): &#x20AC;
</fo:block>


<fo:block space-after.optimum="10pt" font-family="Helvetica">

</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>


+ 0
- 428
docs/examples/fo/hyphen.fo View File

@@ -1,428 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!-- example for a simple fo file. At the beginning the page layout is set.
Below fo:root there is always
- a single fo:layout-master-set which defines one or more page layouts
- an optional fo:declarations
- and a sequence of one or more fo:page-sequences containing the text and formatting instructions
-->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<!-- fo:layout-master-set defines in its children the page layout:
the pagination and layout specifications
- page-masters: have the role of describing the intended subdivisions
of a page and the geometry of these subdivisions
In this case there is only a simple-page-master which defines the
layout for all pages of the text
-->
<!-- layout information -->
<fo:simple-page-master master-name="simple"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="7cm"
margin-right="3cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<!-- end: defines page layout -->


<!-- start page-sequence
here comes the text (contained in flow objects)
the page-sequence can contain different fo:flows
the attribute value of master-name refers to the page layout
which is to be used to layout the text contained in this
page-sequence-->
<fo:page-sequence master-reference="simple">

<!-- start fo:flow
each flow is targeted
at one (and only one) of the following:
xsl-region-body (usually: normal text)
xsl-region-before (usually: header)
xsl-region-after (usually: footer)
xsl-region-start (usually: left margin)
xsl-region-end (usually: right margin)
['usually' applies here to languages with left-right and top-down
writing direction like English]
in this case there is only one target: xsl-region-body
-->
<fo:flow flow-name="xsl-region-body"
text-align="justify">

<!-- each paragraph is encapsulated in a block element
the attributes of the block define
font-family and size, line-heigth etc. -->

<!-- this defines a title -->
<fo:block font-size="18pt"
font-family="sans-serif"
line-height="24pt"
space-after.optimum="15pt"
background-color="blue"
color="white"
text-align="center"
padding-top="3pt">
Hyphenation tests
</fo:block>

<!-- this defines a title -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="12pt"
background-color="blue"
color="white"
text-align="start">
US English
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="justify"
language="en"
country="US"
hyphenate="true"
hyphenation-push-character-count="2"
hyphenation-remain-character-count="2" >
This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
widespread deployment. This enhances the functionality and interoperability of the Web.
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="justify"
language="en"
country="US"
hyphenate="true"
hyphenation-push-character-count="2"
hyphenation-remain-character-count="2" >
This document specifies a syntax created by subsetting an existing, widely used international text processing standard
(Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
is a product of the W3C XML Activity, details of which can be found at the w3c website. A list of current W3C
Recommendations and other technical documents can be found there too.
</fo:block>


<!-- this defines a title -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="12pt"
background-color="blue"
color="white"
text-align="start">
German
</fo:block>

<!-- this defines normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
language="de"
hyphenate="true"
hyphenation-push-character-count="2"
hyphenation-remain-character-count="2" >
1. Warum TEI?
Die Verwendungszeit elektronischer Editionen wird von mehreren
Faktoren verkürzt: der kurzen Lebensdauer der Programme, die zu
ihrer Darstellung verwendet werden, der etwas längeren der
Betriebssysteme, unter denen die Darstellungsprogramme laufen,
der logischen Einrichtung des Datenträgers, auf dem sich die
Edition befindet, und dessen physischer Dauer. Um die besonders
unangenehme Abhängigkeit elektronischer Texte von bestimmten
Programmen und Betriebssystemen zu vermeiden, haben
Wissenschaftler ein Textauszeichnungssystem für philologische
Belange entwickelt, das nach dem Entwicklerteam "Text Encoding
Initiative" (TEI) genannt wird (1).
</fo:block>

<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
language="de"
hyphenate="true">
Das Auszeichnungssystem TEI ist eine Anwendung der Metasprache
zur Beschreibung programmunabhängiger Auszeichnungssysteme SGML
(Standard Generalized Markup Language), so wie auch HTML, mit
dem die meisten Texte des Internets zur Zeit ausgezeichnet
sind, eine Anwendung von SGML ist. Daten, die entsprechend den
TEI-Richtlinien ausgezeichnet worden sind, können also mit
jedem Programm, das SGML-Daten verarbeiten kann, dargestellt,
umgewandelt oder durchsucht werden. (2)
</fo:block>

<!-- this defines normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
language="de"
hyphenate="true">

Verwendet wurde für die Auszeichnung 'teilite', das eine
Teilmenge des gesamten Auszeichnungssystems TEI bietet, aber
auf einige der komplexeren Merkmale verzichtet und deshalb auch
eine einfache Konvertierung der Daten zu neueren Metasprachen
für Auszeichnungssysteme wie XML, einer Teilmenge von SGML,
ermöglicht.
SGML-Programme mit der Leistungsfähigkeit von Folio Views sind
z.Zt. noch relativ teuer, daher wurde für die vorliegende
Edition der Weg gewählt, den Text doppelt auf die CD zu legen:
Einmal für die sofortige Nutzung mit einer komfortablen
Oberfläche und einmal ohne Software in einem Format, das seine
langfristige Verwendbarkeit garantiert.
Das Nachstehende soll einige Hinweise zur Einrichtung der TEI-
Dateien geben, um deren weitere Verwendung zu erleichtern.
</fo:block>



<!-- Finnish example sent in by Jarno Elovirta -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="12pt"
background-color="blue"
color="white"
text-align="start">
Finnish
</fo:block>

<fo:block language="fi"
hyphenate="true">
<fo:block font-weight="bold">Internet - tuo kaiken pahan lähde?</fo:block>
<fo:block>Internet on saanut nauttia lähes täydellisestä sananvapaudesta koko
olemassaolonsa ajan. Parin viimeiksi kuluneen vuoden aikana on kuitenkin
julkisuudessa keskusteltu ahkerasti sen rajoittamisesta. Muutamat ilmaista
kotisivutilaa tarjoavat palvelut ovatkin jo kieltäneet esimerkiksi natsimia
kannattavien sivujen ylläpidon.</fo:block> <fo:block>Astetta pahempaan
suuntaan ollaan kuitenkin menossa. Nettihuutokaupoissa tarjotaan kaikkea
ihmiselimistä lähtien ja itsemurhiin etsitään avustajia itsemurhia suosivilta
nettisivustoilta. Etelä-Koreassa poliisi on pidättänyt 20-vuotiaan miehen,
jota epäillään ns. netti-itsemurhassa avustamisesta. Mies oli luvannut noin
4000 dollarin korvausta vastaan kuristaa 23-vuotiaan naisen kuoliaaksi. Nainen
tuli kuitenkin viime hetkellä toisiin ajatuksiin. Mies väittää kyseessä olleen
pelkän vitsin. Viime kuussa Etelä-Koreassa kaksi opiskelijaa myrkytti itsensä
netistä löytämiensä ohjeiden avulla.</fo:block> <fo:block>FBI puolestaan
tutkii tapausta, jossa äiti oli myynyt kaksostytöt adoptoitavaksi korkeinta
tarjousta vastaan nettihuutokaupalla. Tytöt myytiin ensin Kaliforniaan Allenin
pariskunnalle, josta äiti kuitenkin kävi ryöstämässä lapset, sillä
englantilainen Kilshawin pariskunta oli tarjonnut tytöistä tuplasumman.
Kilshawit kuljettivat lapset Englantiin ja nyt tyttöjen perässä ovat sekä
kahdet adoptiovanhemmat että iso liuta eri viranomaistahoja. Myös
Iso-Britannian pääministeri Tony Blair on pitänyt lehdistötilaisuuden
aiheeseen liittyen. Lue juttu.</fo:block> <fo:block>K2, 23:10. Lähde:
Newsbytes | 5 kommenttia</fo:block> <fo:block font-weight="bold">Mato ryömii
Linux-palvelimiin</fo:block> <fo:block>Internetissä leviää Ramen nimellä
tunnettu mato, joka ilmeisesti hyödyntää kahta tunnettua tietoturva-aukkoa Red
Hat Linuxin 6.2 ja 7.0 versioissa esiintyvissä wu-ftpd ja RPC.statd
-ohjelmissa. Jos mato pääsee sisään järjestelmään, se korvaa palvelimella
sijaitsevan HTML-pääsivun tekstillä, jossa kerrotaan hakkereiden pitävän
nuudeleista. Madon on todettu leviävän erittäin nopeasti, sillä jos kaistaa
riittää se pystyy skannaamaan jopa kaksi B-luokan verkkoa 15 minuutissa. Madon
ei ole todettu avaavan palvelimiin takaovia, joiden kautta madon kirjoittaja
pääsisi sisään järjestelmään. Lue juttu</fo:block> <fo:block>oma, 20:48.
Lähde: ZDNet | 6 kommenttia</fo:block> <fo:block font-weight="bold">Macromedia
ja Allaire yhdistyvät</fo:block> <fo:block>Macromedian ja Allairen
julkaisemissa lehdistötiedotteissa kerrotaan yhtiöiden
yhdistymissuunnitelmista. Macromedialle yrityskauppa maksaa noin 2,2 miljardia
markkaa. Uuden yhdistyneen yrityksen nimenä säilyy Macromedia ja sen johdossa
jatkaa Macromedian nykyinen toimitusjohtaja Rob Burgess. Yrityksen tuotteisiin
lukeutuvat mm. Macromedia Dreamweaver, Macromedia Flash, Allaire ColdFusion ja
Allaire JRun. Lue juttu.</fo:block>
</fo:block>

<!-- Italian example sent in by Stéphane Bline-->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="12pt"
background-color="blue"
color="white"
text-align="start">
Italian
</fo:block>

<fo:block language="it"
hyphenate="true">
<fo:block
space-before.optimum="0.6em" space-before.minimum="0.4em"
space-before.maximum="0.8em">Un'applicazione di servizio consiste nell'utilizzo
di applicazioni nell'ambito aziendale, senza procedere ad installazioni locali.
L'applicazione ha la particolaritàdi essere ospitata "in-house" tramite
Intranet o presso un fornitore esterno di applicazioni di servizi (ASP, acronimo
di Application Service Provider) e di transitare grazie al protocollo di
Internet. Intermediario eventuale tra l'editore di software e il cliente che
desidera utilizzarli, il provider permette agli utenti di accedere ai vari
programmi, previo contratto d'abbonamento.</fo:block> <fo:block
space-before.optimum="0.6em" space-before.minimum="0.4em"
space-before.maximum="0.8em">L'utilizzazione in linea rende automatica la
manutenzione e l'aggiornamento delle applicazioni. A partire da una semplice
interfaccia Web installata su un thin client, l'utente può accedere via
Internet o Intranet all'insieme delle applicazioni attraverso il proprio account
personale e dedicarsi all'utilizzazione approfondita delle applicazioni
professionali.</fo:block> <fo:block font-weight="bold"
space-after.optimum="6pt">Esempio 1.1. Esempio di applicazione di
servizio</fo:block> <fo:block space-before.optimum="0.6em"
space-before.minimum="0.4em" space-before.maximum="0.8em">Si prenda il caso di
una societàA che desidera ottimizzare la comunicazione interna e la
condivisione delle informazioni. Un fornitore di applicazioni di servizio
potràrispondere rapidamente a questa aspettativa. Inoltre, potràproporre
servizi complementari che permettono di proteggere i dati di A. Dopo aver
studiato l'offerta, un responsabile della società firma con il fornitore B un
contratto d'abbonamento a un'applicazione di servizio perfettamente adattata. Le
società e B scambiano informazioni relative all'utilizzo online di questa
applicazione, come il costo del servizio, le modalitàdi pagamento e la gestione
degli account utente come i profili.</fo:block> </fo:block>


<!-- this defines a title -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="12pt"
background-color="blue"
color="white"
text-align="start">
Danish
</fo:block>
<fo:block language="da"
hyphenate="true">
Bekendtgørelsen har som udkast været
notificeret i overensstemmelse med Europa-parlamentets og Rådets direktiv
98/34/EF (Informationsproceduredirektivet), som senest ændret ved direktiv
98/48/EF. Bekendtgørelsen indeholder bestemmelser der gennemfører dele af
Rådets direktiv 89/677/EØF (EF-tidende L 398 s. 19).
</fo:block>

<fo:block language="da"
hyphenate="true">
Bekendtgørelsens regler hindrer
ikke import, salg og anvendelse af produkter, der på tidspunktet for
bekendtgørelsens ikrafttræden er reguleret i medfør af anden lovgivning,
der implementerer EU-direktiver, samt anden lovgivning i øvrigt, herunder
bl.a. bekendtgørelse nr. 807 af 2. december 1986 om
begrænsning af motorbenzins indhold af blyforbindelser og benzen.
</fo:block>
<fo:block language="da"
hyphenate="true">
Import og salg af produkter, der
indeholder kemiske forbindelser af bly, er forbudt fra 1. marts 2001.
Uanset forbudet i stk.
1 er import og salg af produkter, der indeholder kemiske forbindelser af
bly, fortsat tilladt for de produktkategorier, som er nævnt i bilag
1 til denne bekendtgørelse, indtil de i bilaget anførte
tidspunkter.
</fo:block>


<!-- this defines a title -->
<fo:block font-size="12pt"
font-family="Palatino"
line-height="12pt"
background-color="blue"
color="white"
text-align="start">
Norwegian
</fo:block>

<!-- this defines normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
language="no"
hyphenate="true">

<fo:block>
Av forståelige grunner har året 1814 vært av de mest omdiskuterte i norsk historieforskning.
Med denne bibliografien vil man for første gang få en samlet oversikt over den viktigste
historiske litteraturen omkring dette året og dets mangslungne begivenheter. Likevel har det
vært en tilnærmet umulig oppgave å få med absolutt alt som er skrevet om Riksforsamlingen og
Grunnloven i monografier, erindringsverker, bygdebøker, brevsamlinger, tidsskrifter og
aviser helt fra 1814 og til i dag. Bibliografien er et forsøk på å samle de viktigste
arbeider om 1814 som kan være av interesse både for forskere og for et bredt
historieinteressert publikum. I denne korte historiografien vil det bli gjort rede for
hvordan dette spennende året er blitt forstått og fortolket av norske og nordiske
historikere gjennom fem ulike tidsepoker.
</fo:block>
<fo:block>
Litteraturen om 1814 kan klassifiseres på flere måter. Grovt sett går det et skille mellom
tre genrer: historiske oversiktsverker, historiske spesialstudier, erindringer og dagbøker
og kilde- og dokumentutgivelser. Av oversiktsverker peker de store Norgeshistoriene seg ut
med sin relativt omfattende behandling av 1814: Nevnes kan
<fo:inline font-style="italic">Norges historie fremstillet for
det norske folk</fo:inline>, bd. VI.1 (1913),
<fo:inline font-style="italic">Det norske folks liv og historie</fo:inline> bd. VII (1933),
<fo:inline font-style="italic">Vårt folks historie</fo:inline> bd. 6 (1964),
<fo:inline font-style="italic">Cappelens Norges historie</fo:inline> bd. 9 (1978) og
<fo:inline font-style="italic">Aschehougs Norgeshistorie</fo:inline> bd. 7 (1996). Disse oversiktene er i vesentlig grad bygd på den omfattende
spesiallitteraturen i bok- eller artikkelform som har et meget vidt spenn, fra biografier
over lokale Eidsvollsmenn til krigshistoriske analyser av felttoget. Mye tidligere skjult
kunnskap er dessuten blitt hentet ut fra dagbøkene til sentrale aktører. Endelig har den
lange rekken av kildeutgivelser hatt stor betydning for forskningen omkring 1814 og bidratt
til å endre forskningsbildet flere ganger.
</fo:block>
<fo:block font-weight="bold">
1814-1864
</fo:block>
<fo:block>
Det norske samfunnet etter 1814 ble rekonstruert på den nye Grunnlovens grunn, og vernet om
den stod sentralt i den politiske kampen de neste 25 årene. Til tross for dette må man kunne
si at dokumentasjonen av hva som egentlig hadde skjedd i 1814 i mange år forble temmelig
beskjeden. Historiene levde, men da helst muntlig eller gjennom private brev og dagbøker.
Dette var kanskje en uunngåelig konsekvens av omstendighetene. Landet var fattig på kultur,
forleggere og historikere, og de politiske og økonomiske realiteter kalte mer på praktisk
fornuft enn på idealistisk pasjon. Det forekom å være en lang vei fra den nasjonale raptus
under de lyse vårukene på et grønnende Eidsvoll til den mer prosaiske og realpolitiske
aksept av union og svenskekonge i et høstlig og tåketungt Christiania. Det var den nye
Grunnloven av 4. november 1814 som gjaldt og regulerte det norske samfunnet, supplert av
Riksakten av 1815.
</fo:block>
<fo:block>
Riksforsamlingens forhandlinger i 1814 ble utgitt i 6 hefter allerede samme år av de valgte
redaktører, professor Georg Sverdrup, professor Ludvig Stoud Platou og tollprokurør
Christopher Omsen. At de ikke ble reprodusert i de følgende år, hadde sammenheng med den
svenske holdningen. Forhandlingene på det ekstraordinære Storting ble utgitt både i 1815 og
igjen i 1835, men Carl Johan oppfattet lenge interessen for Riksforsamlingen og 17. mai-
Grunnloven som en indirekte underkjenning av unionsverket og kongens politiske autoritet.
Etter påtrykk fra ham prøvde norske myndigheter å sette en stopper for offentlig feiring av
17. mai helt frem til midten av 1830-årene.
</fo:block>
<fo:block>
Rimeligvis ble da forholdet til Danmark snarere enn forholdet til Sverige ett av de første
alvorlige stridsspørsmål i perioden. Presten og Eidsvollsmannen Nicolai Wergeland ble
beryktet for den danskfiendtlige og unionsvennlige posisjon han inntok i boken
<fo:inline font-style="italic">En sandfærdig Beretning om Danmarks politiske Forbrydelser imod Kongeriget Norge
</fo:inline> (anonymt, 1816) som
fulgte nasjonalhistorien helt opp til Kielfreden. Skriftet vakte debatt og kraftige
reaksjoner ikke minst blant det gamle selvstendighetsparti. Blant annet publiserte Christian
Magnus Falsen to motskrifter i 1817. Falsen prøvde også å popularisere Grunnlovens innhold
for den mindre "oplyste" borgerklasse og allmue gjennom skriftet
<fo:inline font-style="italic">Norges Grundlov gjennemgaaet i Spørgs-maal og Svar
</fo:inline> (1818, forkortet versjon 1825). Men det må kunne påstås
at den mer detaljerte historien om grunnlovsverkets tilblivelse og første fase lenge ble
stående i noe av et halvmørke både for det alminnelige folk og for de nye generasjoner, og
at dette skyldtes den politiske situasjonen. Det var Nicolai Wergeland som leverte selve
pionerarbeidet blant de personlige kildesamlingene,
<fo:inline font-style="italic">Fortrolige Breve til en Ven, Skrevne fra
Eidsvold i Aaret 1814</fo:inline> (anonymt, 1830). Men det var først da det unionspolitiske klimaet
mildnet etter 1837 at det ble åpnet for en grundigere historisk analyse av Grunnlovens
forhistorie og tilblivelse.
</fo:block>
</fo:block>
</fo:flow> <!-- closes the flow element-->
</fo:page-sequence> <!-- closes the page-sequence -->
</fo:root>

+ 0
- 83
docs/examples/fo/images.fo View File

@@ -1,83 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root font-family="Times Roman" font-size="12pt" text-align="center" xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<fo:simple-page-master master-name="right"
margin-top="75pt" margin-bottom="25pt" margin-left="100pt" margin-right="50pt">
<fo:region-body margin-bottom="50pt"/>
<fo:region-after extent="25pt"/>
</fo:simple-page-master>

<fo:simple-page-master master-name="left"
margin-top="75pt" margin-bottom="25pt" margin-left="50pt" margin-right="100pt">
<fo:region-body margin-bottom="50pt"/>
<fo:region-after extent="25pt"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="psmOddEven" >
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="right"
page-position="first" />
<fo:conditional-page-master-reference master-reference="left"
odd-or-even="even" />
<fo:conditional-page-master-reference master-reference="right"
odd-or-even="odd" />
<!-- recommended fallback procedure -->
<fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

</fo:layout-master-set>

<fo:page-sequence id="N2528" master-reference="psmOddEven">

<fo:static-content flow-name="xsl-region-after">
<fo:block text-align-last="center" font-size="10pt">
<fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block font-size="18pt" font-weight="bold">1. FOP test for images</fo:block>
<fo:block id="N2531">
<fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em">A GIF image in FOP</fo:block>
<fo:block>
<fo:external-graphic src="file:../../graphics/xml_feather.gif"/>
</fo:block>
</fo:block>
<fo:block id="N2535">
<fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em">A transparent GIF image in FOP</fo:block>
<fo:block>
<fo:external-graphic src="file:../../graphics/xml_feather_transparent.gif"/>
</fo:block>
</fo:block>
<fo:block id="N2545">
<fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em">A JPEG image in FOP</fo:block>
<fo:block>
<fo:external-graphic src="file:../../graphics/fop.jpg"/>
</fo:block>
</fo:block>
<fo:block id="N2550">
<fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em">A BMP image in FOP</fo:block>
<fo:block>
<fo:external-graphic src="file:../../graphics/linux.bmp"/>
</fo:block>
</fo:block>
<fo:block id="N2559">
<fo:block font-size="16pt" font-weight="bold" space-before.minimum="1em" space-before.optimum="1.5em" space-before.maximum="2em"/>
This section is only required to show that the layout still works.
</fo:block>
</fo:flow>
</fo:page-sequence>

<fo:page-sequence id="N2561" master-reference="psmOddEven">
<fo:static-content flow-name="xsl-region-after">
<fo:block text-align-last="center" font-size="10pt">
<fo:page-number/></fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="18pt" font-weight="bold">A. Appendix</fo:block></fo:flow>
</fo:page-sequence>
</fo:root>


+ 0
- 175
docs/examples/fo/inhprop.fo View File

@@ -1,175 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>


<!-- example for a simple fo file. At the beginning the page layout is set.
Below fo:root there is always
- a single fo:layout-master-set which defines one or more page layouts
- an optional fo:declarations,
- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<!-- fo:layout-master-set defines in its children the page layout:
the pagination and layout specifications
- page-masters: have the role of describing the intended subdivisions
of a page and the geometry of these subdivisions
- page-sequence-masters: have the role of describing the sequence
of page-masters that will be used to generate
pages during the formatting of an fo:page-sequence

-->

<!-- layout for the first page -->
<fo:simple-page-master master-name="first"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.0cm + 0.5cm"
margin-right="(5cm * 1cm) div 2cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<!-- layout for the other pages -->
<fo:simple-page-master master-name="rest"
page-height="abs(-30cm + .3cm)"
page-width="(10cm * 2) + 1cm"
margin-top="round(.5) * 1cm"
margin-bottom="round(2.4) * 1cm"
margin-left="2.5 * 1cm"
margin-right="5.5cm - 3cm">
<fo:region-body margin-top="2.5cm"/>
<fo:region-before extent="2.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first"
page-position="first" />
<fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
<fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="basicPSM">

<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="1em + 4pt" >
Property Function Tests - p. <fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<!-- defines text title level 1-->
<fo:block font-size="min(18pt,20pt)"
font-family="sans-serif"
line-height="max(24pt,18pt)"
space-after.optimum="5 mod 3 * 7.5pt"
background-color="rgb(0,0,255)"
color="rgb(255,255,255)"
text-align="center"
padding-top="3pt">
Property Function Tests
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="floor(16.3) * 1pt"
font-family="sans-serif"
line-height="2pt * ceiling(9.3)"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
keep-with-next.within-page="always"
keep-together.within-page="always"
padding-top="3pt">
Function: object from-parent( <fo:inline font-weight='bold'>NCName</fo:inline>)
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-after="3pt"
keep-together="auto"
text-align="start">
The from-parent function returns a computed value of the property
whose name matches the argument specified. The value returned is that
for the parent of the formatting object for which the expression is
evaluated. If there is no parent, the value returned is the initial
value. If the argument specifies a shorthand property and if the
expression only consists of the from-parent function with an argument
matching the property being computed, it is interpreted as an
expansion of the shorthand with each property into which the shorthand
expands, each having a value of from-parent with an argument matching
the property. It is an error if arguments matching a shorthand
property are used in any other way.
<fo:block font-size="from-parent(font-size) - 2pt"
font-family="sans-serif"
space-before="from-parent(space-after)"
text-align="center">
Here is a nested block with font-size =
from-parent(font-size) - 2pt.
Since its parent has font-size=12pt, that should mean 10pt. It should
keep the line height of 1.25em, which means 12.5pt leading. It's
space-before value is set to the space-after value from its
parent. Note that neither of these are inheritable. Does it look right?
</fo:block>
<fo:block font-size="from-parent(font-size) + 2pt"
space-before="2pt"
space-after="from-parent(space-after)"
font-family="sans-serif"
start-indent="from-parent(start-indent) + 1cm"
end-indent="from-parent(end-indent) + 1cm"
text-align="end"
background-color="black" color="rgb(50%,50%,50%)">
Here is a nested block with text 2pt larger than its parent (that
should be 14pt). This parent is indented 1cm on both start and end
directions with respect to the values from its parent (which aren't
specified, so they default to 0.0). The color is set to 50% (using the
rgb function with % arguements, and the background color for this
block is black (specified as a keyword). In this block, we'll put an
<fo:inline color='inherited-property-value(background-color)'
background-color='inherited-property-value(color)'>inline object</fo:inline>
whose background and foreground colors invert those of its containing
block. This uses the <fo:inline
font-style='oblique'>inherited-property-value</fo:inline>
function. Here's an <fo:inline color='black' background-color='white'>inline
object</fo:inline> with fixed colors (black on white). That doesn't
work either. Guess it's not my problem... So let's try it with font
sizes. In this block, we'll put an
<fo:inline font-size='inherited-property-value(font-size)+2pt'>inline
object whose font-size is 2 pt bigger than its parent's font-size.</fo:inline></fo:block>
</fo:block>
<fo:block font-size="12pt"
space-before="6pt"
line-height="1em + 2pt"
font-family="sans-serif"
text-align="start"
background-color="rgb(50%,50%,50%)">
An outer block with 12 pt text on 14 pt leading, default color
and 50% grey background color. Test inherited color changes with
nested blocks.
<fo:block color='from-parent(background-color)'
background-color='from-parent(color)'>
Interchange color and background color using from-parent function.
</fo:block>
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 114
docs/examples/fo/instream.fo View File

@@ -1,114 +0,0 @@
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
<fo:layout-master-set>
<fo:simple-page-master master-name="one">
<fo:region-body margin-top="25pt" margin-bottom="25pt" margin-left="50pt" margin-right="50pt" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="one">
<fo:flow flow-name="xsl-region-body">
<fo:block>This is used to show how foreign objects are placed in a line area.</fo:block>
<fo:block>
Some block text to separate instream objects.
</fo:block>
<fo:block>
Some text before
<fo:instream-foreign-object>
<svg:svg width="20" height="20">
<svg:g style="fill:red; stroke:#000000">
<svg:rect x="0" y="0" width="15" height="15"/>
<svg:rect x="5" y="5" width="15" height="15"/>
</svg:g>
</svg:svg>
</fo:instream-foreign-object>
and some after the svg element.
</fo:block>
<fo:block>
A text line below the instream object.
</fo:block>
<fo:block>
<fo:instream-foreign-object>
<svg:svg width="250" height="50">
<svg:g style="fill:red; stroke:#000000">
<svg:rect x="0" y="0" width="15" height="15"/>
<svg:rect x="5" y="5" width="15" height="15"/>
</svg:g>
<svg:text style="font-family:Helvetica;fill:blue" x="10" y="30">SVG placed in a block</svg:text>
</svg:svg>
</fo:instream-foreign-object>
</fo:block>
<fo:block>
A text line below the block.
</fo:block>
<fo:block>
A text line with an instream foreign object that is before the line break.
<fo:instream-foreign-object>
<svg:svg width="50" height="50">
<svg:g style="fill:red; stroke:#000000">
<svg:rect x="0" y="0" width="15" height="15"/>
<svg:rect x="5" y="5" width="15" height="15"/>
</svg:g>
<svg:rect style="fill:none;stroke:black" x="0" y="0" width="49" height="49"/>
</svg:svg>
</fo:instream-foreign-object>
With some text on the next line. With a bit more text to go over the to the next line.
</fo:block>
<fo:block>
A text line with an instream foreign object that is after the line break.
With some text on the next line. With a bit
<fo:instream-foreign-object>
<svg:svg width="50" height="50">
<svg:g style="fill:red; stroke:#000000">
<svg:rect x="0" y="0" width="15" height="15"/>
<svg:rect x="5" y="5" width="15" height="15"/>
</svg:g>
<svg:rect style="fill:none;stroke:black" x="0" y="0" width="49" height="49"/>
</svg:svg>
</fo:instream-foreign-object>
more text to go over the to the next line.
</fo:block>
<fo:block>
A text line with an instream foreign object that is over the line break.
With some text
<fo:instream-foreign-object>
<svg:svg width="50" height="50">
<svg:g style="fill:red; stroke:#000000">
<svg:rect x="0" y="0" width="15" height="15"/>
<svg:rect x="5" y="5" width="15" height="15"/>
</svg:g>
<svg:rect style="fill:none;stroke:black" x="0" y="0" width="49" height="49"/>
</svg:svg>
</fo:instream-foreign-object>
on the next line. With a bit more text to go over the to the next line to
see it handles it properly.
</fo:block>
<fo:block>
The next block has an instream object wider than the area.
</fo:block>
<fo:block>
<fo:instream-foreign-object>
<svg:svg width="550" height="50">
<svg:g style="fill:red; stroke:#000000">
<svg:rect x="0" y="0" width="15" height="15"/>
<svg:rect x="5" y="5" width="15" height="15"/>
</svg:g>
<svg:rect style="fill:none;stroke:black" x="0" y="0" width="549" height="49"/>
<svg:text x="10" y="30">SVG placed in a really wide block</svg:text>
</svg:svg>
</fo:instream-foreign-object>
</fo:block>
<fo:block>
This block has an instream object wider than the area after this text
<fo:instream-foreign-object>
<svg:svg width="550" height="50">
<svg:g style="fill:red; stroke:#000000">
<svg:rect x="0" y="0" width="15" height="15"/>
<svg:rect x="5" y="5" width="15" height="15"/>
</svg:g>
<svg:rect style="fill:none;stroke:black" x="0" y="0" width="549" height="49"/>
<svg:text style="font-family:Helvetica" x="10" y="30">SVG placed in a really wide block</svg:text>
</svg:svg>
</fo:instream-foreign-object>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 786
docs/examples/fo/leader.fo View File

@@ -1,786 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!-- examples for the use of the fo leader -->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>

<!-- page layout -->
<fo:simple-page-master master-name="first"
page-height="29.7cm"
page-width="21cm"
margin-top="2.5cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body/>
</fo:simple-page-master>



</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="first">


<fo:flow flow-name="xsl-region-body">

<!-- Normal text -->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="blue"
color="white"
>
Leader examples
</fo:block>

<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
fo:leader is mainly used a) in table-of-contents to generate sequences of "." glyphs that separate titles from page numbers
b) to create entry fields in fill-in-the-blank forms c) to create horizontal rules for use as separators. You
define the look and use of fo:leader with the property "leader-pattern". It can have the following values: a) space. This
just creates an space. b) dots. This creates a sequence of "." c) rule. This creates a line. d) use-content. This creates a
repeating pattern of the content of fo:leader.
</fo:block>


<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
The dimensions of fo:leader are determined by the compound property leader-length. It consists of the
3 sub values: leader-length.minimum (default = 0), leader-length.optimum (default = 12pt), leader-length.maximum
(default = 100%). If you want to make sure, that leader-length has a fixed size, you should use the compound
property (p.e. leader-length="5cm"). If you want to fill the rest of the remaining space with dots in a table of
content, you can use the default values.
</fo:block>

<fo:block font-size="14pt"
font-family="sans-serif"
line-height="17pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start"
background-color="blue"
color="white">
leader with leader-pattern="space"
</fo:block>

<!-- Inserts a leader (space) -->
<fo:block text-align="start">Entry 1
<fo:leader leader-pattern="space"
leader-length="6cm"/>p. 12
</fo:block>

<!-- Inserts a leader (space) -->
<fo:block text-align="start">Entry 2
<fo:leader leader-pattern="space"
leader-length="6cm"/>p. 24
</fo:block>

<!-- Inserts a leader (space) -->
<fo:block text-align="start">Left side
<fo:leader leader-pattern="space"
leader-length="5.5cm"/>middle
<fo:leader leader-pattern="space"
leader-length="5.5cm"/>right side
</fo:block>


<fo:block font-size="14pt"
font-family="sans-serif"
line-height="17pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start"
background-color="blue"
color="white"
>
Using fo:leader with leader-pattern="dots"
</fo:block>

<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
There are two properties which allow you to specify the looks of the dotted line. First
"leader-pattern-width". It specifies the length of one dot and the space up to the next dot.
Second leader-alignment. It can be used to make sure, the dots in different lines are parallel (only value "reference-area"
is supported).
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 1
<fo:leader leader-pattern="dots"
leader-length="6cm"/>p. 12
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 2
<fo:leader leader-pattern="dots"
leader-length="6cm"/>p. 24
</fo:block>


<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
Using fo:leader with leader-pattern="dots" and leader-pattern-width="5pt" and "8pt"
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 1
<fo:leader leader-pattern="dots"
leader-pattern-width="5pt"
leader-length="6cm"/>p. 12
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 2
<fo:leader leader-pattern="dots"
leader-pattern-width="5pt"
leader-length="6cm"/>p. 24
</fo:block>


<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 1
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"/>p. 12
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 2
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"/>p. 24
</fo:block>

<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
Using fo:leader with leader-pattern="dots" in a list
</fo:block>

<fo:block text-align="start"
space-before.optimum="12pt"
space-after.optimum="12pt">
Using fo:leader with leader-pattern="dots", leader-pattern-width="5pt" and "8pt", leader-alignment="reference-area"
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 1
<fo:leader leader-pattern="dots"
leader-pattern-width="5pt"
leader-alignment="reference-area"
leader-length="6cm"/>p. 12
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 2
<fo:leader leader-pattern="dots"
leader-pattern-width="5pt"
leader-alignment="reference-area"
leader-length="6cm"/>p. 24
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 3 is longer
<fo:leader leader-pattern="dots"
leader-pattern-width="5pt"
leader-alignment="reference-area"
leader-length="6cm"/>p. 36
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 4 is even longer
<fo:leader leader-pattern="dots"
leader-alignment="reference-area"
leader-pattern-width="5pt"
leader-length="6cm"/>p. 48
</fo:block>


<!-- Inserts a leader (dots) -->
<fo:block text-align="start">1
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"
leader-alignment="reference-area"/>p. 12
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 2
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"
leader-alignment="reference-area"/>p. 24
</fo:block>


<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 3 is longer
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"
leader-alignment="reference-area"/>p. 36
</fo:block>

<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 4 is even longer
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"
leader-alignment="reference-area"/>p. 48
</fo:block>




<!-- list start -->
<!-- use provisional-distance-between-starts to define
the distance between the start of the label and the item text

use provisional-label-separation to define the distance between
the end of the item label and the start of item text
-->
<fo:list-block provisional-distance-between-starts="0.3cm"
provisional-label-separation="0.15cm">

<!-- list item -->
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
<fo:block><fo:inline font-size="10pt" font-family="Symbol">&#183;</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:block>
<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 1
<fo:leader leader-pattern="dots"
leader-pattern-width="5pt"
leader-length="6cm"/>p. 12
</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<!-- list item -->
<fo:list-item>
<!-- insert a bullet -->
<fo:list-item-label end-indent="label-end()">
<fo:block><fo:inline font-size="10pt" font-family="Symbol">&#183;</fo:inline></fo:block>
</fo:list-item-label>
<!-- list text -->
<fo:list-item-body start-indent="body-start()">
<fo:block>
<!-- Inserts a leader (dots) -->
<fo:block text-align="start">Entry 2
<fo:leader leader-pattern="dots"
leader-pattern-width="5pt"
leader-length="6cm"/>p. 24
</fo:block>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<!-- list end -->

<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
Using fo:leader with leader-pattern="dots" in a table
</fo:block>


<!-- table start -->
<fo:table>
<fo:table-column column-width="20mm"/>
<fo:table-column column-width="60mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell ><fo:block>Entry 1</fo:block></fo:table-cell>
<fo:table-cell >
<fo:block text-align="start">
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"/>
</fo:block>
</fo:table-cell>
<fo:table-cell ><fo:block>p. 12</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>Entry 2 </fo:block></fo:table-cell>
<fo:table-cell >
<fo:block text-align="start">
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"/>
</fo:block>
</fo:table-cell>
<fo:table-cell ><fo:block>p. 24</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>Entry 3 </fo:block></fo:table-cell>
<fo:table-cell >
<fo:block text-align="start">
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="6cm"/>
</fo:block>
</fo:table-cell>
<fo:table-cell ><fo:block>p. 36</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table end -->



<fo:block text-align="center"
font-size="15pt"
space-before.optimum="16pt"
space-after.optimum="12pt">
Table of Content
</fo:block>

<fo:block text-align="start"
font-size="10pt"
space-after.optimum="12pt">
shows the use of leader properties in combination to build a table of content.
Following values are used for the leader:
leader-pattern="dots"
leader-pattern-width="8pt"
leader-alignment="reference-area"
no leader-length is specified, so the default values are used (min: 0, opt: 12pt, max: 100%)
</fo:block>


<!-- Here starts the table -->
<fo:table>
<fo:table-column column-width="1cm"/>
<fo:table-column column-width="14.2cm"/>
<fo:table-column column-width="0.3cm"/>
<fo:table-body font-size="12pt" font-family="sans-serif">

<fo:table-row line-height="12pt">
<fo:table-cell><fo:block text-align="end">A) </fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="start">This is some longer sample text<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-alignment="reference-area"
/></fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="end">1</fo:block></fo:table-cell>
</fo:table-row>


<fo:table-row line-height="12pt">
<fo:table-cell><fo:block text-align="end">B) </fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="start">Some text<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-alignment="reference-area"
/></fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="end">2</fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row line-height="12pt">
<fo:table-cell><fo:block text-align="end" >C) </fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="start">Text<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-alignment="reference-area"
/></fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="end">3</fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row line-height="12pt">
<fo:table-cell><fo:block text-align="end">D) </fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="start">This text is even longer than the first entry <fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-alignment="reference-area"
/></fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="end">4</fo:block></fo:table-cell>
</fo:table-row>

<fo:table-row line-height="12pt">
<fo:table-cell><fo:block text-align="end">E) </fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="start">Shorter text example<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-alignment="reference-area"
/></fo:block></fo:table-cell>
<fo:table-cell><fo:block text-align="end">5</fo:block></fo:table-cell>
</fo:table-row>

</fo:table-body>
</fo:table>






<fo:block font-size="14pt"
font-family="sans-serif"
line-height="17pt"
space-before.optimum="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="blue"
color="white"
>
Leader with leader-pattern="rule"
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="start">text before the rule (start)
<fo:leader leader-pattern="rule"
rule-thickness="3.0pt"
leader-length="6cm"
space-before.optimum="12pt"
space-after.optimum="12pt"
start-indent="1.5cm"
end-indent="2cm"
background-color="blue"
color="yellow"/>
text after the rule
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center">text before the rule (center)
<fo:leader leader-pattern="rule"
rule-thickness="3.0pt"
leader-length="6cm"
space-before.optimum="12pt"
space-after.optimum="12pt"
start-indent="1.5cm"
end-indent="2cm"
background-color="blue"
color="yellow"/>
text after the rule
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="end">text before the rule (end)
<fo:leader leader-pattern="rule"
rule-thickness="3.0pt"
leader-length="6cm"
space-before.optimum="12pt"
space-after.optimum="12pt"
start-indent="1.5cm"
end-indent="2cm"
background-color="blue"
color="yellow"/>
text after the rule
</fo:block>

<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
Here are some fo:leader with the property rule and different rule styles
(solid, dashed, dotted, double, groove, ridge the last one with colored backgrounds
to the effect)
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="1pt"
leader-length="6cm"/>
</fo:block>

<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">

<fo:leader leader-pattern="rule"
leader-length="6cm"
rule-thickness="1pt"
rule-style="dashed"/>
</fo:block>


<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
leader-length="6cm"
rule-style="dotted"
rule-thickness="1pt"/>
</fo:block>

<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
leader-length="6cm"
rule-thickness="2pt"
rule-style="double"/>
</fo:block>

<fo:block text-align="center" background-color="silver"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
leader-length="6cm"
rule-thickness="1pt"
rule-style="groove"
color="black" />
</fo:block>

<fo:block text-align="center" background-color="silver"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
leader-length="6cm"
rule-thickness="1pt"
rule-style="ridge"
color="black" />
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
Here are 4 fo:leader with increasing rule-thickness (1pt, 2pt, 3pt, 4pt)
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="1.0pt"
leader-length="6cm"/>
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="2.0pt"
leader-length="6cm"/>
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="3.0pt"
leader-length="6cm"/>
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="4.0pt"
leader-length="6cm"/>
</fo:block>


<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-before.optimum="5pt"
space-after.optimum="3pt"
text-align="start">
Here are 4 fo:leader with increasing rule-thickness (1pt, 2pt, 3pt, 4pt) and leader-length: 25%, 50%, 75%, 100%
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="1.0pt"
leader-length="25%"/>
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="2.0pt"
leader-length="50%"/>
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="3.0pt"
leader-length="75%"/>
</fo:block>

<!-- Inserts a leader (rule). Because leader is an inline fo you have
to wrap it into a block element -->
<fo:block text-align="center"
space-before.optimum="12pt"
space-after.optimum="12pt">
<fo:leader leader-pattern="rule"
rule-thickness="4.0pt"
leader-length="100%"/>
</fo:block>


<fo:block text-align="center"
font-size="15pt"
space-before.optimum="16pt"
space-after.optimum="12pt">
Using leader in combination with justified text
</fo:block>


<fo:block text-align="justify">Here is some longer text. Here is some longer text.
Here is some longer text. Here comes the leader (dots width 8pt):
<fo:leader leader-pattern="dots"
leader-pattern-width="8pt"
leader-length="5cm"/>Here is some longer text. Here is some longer text.
Here is some longer text. Here is some longer text. Here is some longer text.
</fo:block>

<fo:block text-align="justify">Here is some longer text. Here is some longer text.
Here is some longer text. Here comes the leader (dots width 5pt):
<fo:leader leader-pattern="dots"
leader-pattern-width="5pt"
leader-length="5cm"/>Here is some longer text. Here is some longer text.
Here is some longer text. Here is some longer text. Here is some longer text.
</fo:block>

<fo:block text-align="justify">Here is some longer text. Here is some longer text.
Here is some longer text. Here comes the leader (dots):
<fo:leader leader-pattern="dots"
leader-length="5cm"/>Here is some longer text. Here is some longer text.
Here is some longer text. Here is some longer text. Here is some longer text.
</fo:block>


<fo:block text-align="justify">Here is some longer text. Here is some longer text.
Here is some longer text. Here comes the leader (rule):
<fo:leader leader-pattern="rule"
leader-length="5cm"/>Here is some longer text. Here is some longer text.
Here is some longer text. Here is some longer text. Here is some longer text.
</fo:block>

<fo:block text-align="justify">Here is some longer text. Here is some longer text.
Here is some longer text. Here comes the leader (space):
<fo:leader leader-pattern="space"
leader-length="5cm"/>Here is some longer text. Here is some longer text.
Here is some longer text. Here is some longer text. Here is some longer text.
</fo:block>

<fo:block space-before.optimum="15pt" font-weight="bold" font-size="14pt">
Use-Content
</fo:block>

<fo:block space-before.optimum="8pt" font-size="12pt">
The following examples show Leader with "use-content".
The inline areas from the context of the leader are
repeated until the lenght of the leader. The
"leader-pattern-width" can be used to set the width
of each repeated pattern element. <fo:inline font-style="italic">
If this width is less than the inline areas then the width
of the inline areas is used.</fo:inline>
</fo:block>

<fo:block space-before.optimum="5pt" text-align="start">Characters:
<fo:leader leader-pattern="use-content">abcd</fo:leader>
</fo:block>

<fo:block space-before.optimum="5pt" text-align="start">Set width:
<fo:leader leader-pattern="use-content"
leader-pattern-width="50pt">abcd</fo:leader>
</fo:block>

<fo:block space-before.optimum="5pt" text-align="start">Small Width:
<fo:leader leader-pattern="use-content"
leader-pattern-width="2pt">abcd</fo:leader>
</fo:block>

<fo:block space-before.optimum="5pt" text-align="start">SVG:
<fo:leader leader-pattern="use-content">
<fo:instream-foreign-object>
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
<rect x="0" y="0" width="5" height="5" style="fill:red"/>
<rect x="5" y="5" width="5" height="5" style="fill:black"/>
</svg>
</fo:instream-foreign-object>
</fo:leader>
</fo:block>

<fo:block space-before.optimum="5pt" text-align="start">Mixed:
<fo:leader leader-pattern="use-content">
abc
<fo:instream-foreign-object>
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
<rect x="0" y="0" width="5" height="5" style="fill:red"/>
<rect x="5" y="5" width="5" height="5" style="fill:black"/>
</svg>
</fo:instream-foreign-object>
</fo:leader>
</fo:block>

<fo:block space-before.optimum="5pt" text-align="start">Mixed:
<fo:leader leader-pattern="use-content">
abc
<fo:instream-foreign-object>
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
<rect x="0" y="0" width="5" height="5" style="fill:red"/>
<rect x="5" y="5" width="5" height="5" style="fill:black"/>
</svg>
</fo:instream-foreign-object>
def
</fo:leader>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 145
docs/examples/fo/link.fo View File

@@ -1,145 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines page layout -->
<fo:layout-master-set>
<fo:simple-page-master master-name="first"
page-height="29.7cm" page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="first">

<!-- text body -->
<fo:flow flow-name="xsl-region-body">

<!-- Normal text -->
<fo:block text-align="center">0. Normal text without link
</fo:block>


<!-- Normal text -->
<fo:block text-align="center"
font-family="serif">1. <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block text-align="center">---</fo:block>

<!-- Normal text -->
<fo:block text-align="center">
2. A one line example (text-align='start'): <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block text-align="center">---</fo:block>

<!-- Normal text -->
<fo:block text-align="start" hyphenate="true" language="en">
3. A multiline text (text-align='start'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block text-align="center">---</fo:block>

<!-- Normal text -->
<fo:block text-align="center">
4. A multiline text (text-align='centered'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block text-align="center">---</fo:block>

<!-- Normal text -->
<fo:block text-align="end">
5. A multiline text (text-align='end'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block text-align="center">---</fo:block>

<!-- Normal text -->
<fo:block text-align="justify" hyphenate="true" language="en">
6. A multiline text (text-align='justify'). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block text-align="center">---</fo:block>

<!-- Normal text -->
<fo:block text-align="start"
space-before.optimum="6pt"
line-height="24pt"
font-family="serif"
padding-top="3pt"
>
7. A multiline text (text-align='start', space-before.optimum=6pt, font-family=serif padding-top="3pt"). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable <fo:basic-link external-destination="normal.pdf">generic</fo:basic-link> SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block text-align="start"
space-before.optimum="6pt"
line-height="24pt"
font-family="serif"
padding-top="3pt"
>
8. A multiline text (text-align='start', space-before.optimum=6pt, font-family=serif, padding-top="3pt"). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable <fo:basic-link external-destination="normal.pdf">generic</fo:basic-link> SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block text-align="start"
space-before.optimum="6pt"
line-height="24pt"
font-family="serif"
padding-top="3pt"
>
9. Linking to a specific page of an external:
<fo:basic-link external-destination="extensive.pdf#page=1">extensive.pdf, Page 2</fo:basic-link>.
</fo:block>

<!-- Normal text -->
<!-- <fo:block text-align="start"
space-before.optimum="6pt"
line-height="24pt"
font-family="serif"
padding-top="3pt"
>
8. A multiline text (text-align='start', space-before.optimum=6pt, font-family=serif, padding-top="3pt"). The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable <fo:basic-link external-destination="normal.pdf">generic</fo:basic-link> SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>
-->


</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 2690
docs/examples/fo/list.fo
File diff suppressed because it is too large
View File


+ 0
- 148
docs/examples/fo/newlinktest.fo View File

@@ -1,148 +0,0 @@
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="first"
margin-top="1in"
margin-bottom="1in"
margin-left="1in"
margin-right="1in">
<fo:region-body margin-top="2.5cm" margin-bottom="1.5cm"/>
<fo:region-before extent="2.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>


</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="first">

<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="8pt"
font-family="serif"
line-height="14pt" >
<fo:basic-link external-destination="http://xml.apache.org/fop"
color="rgb(150,150,150)" font-style="italic">
http://xml.apache.org/fop
</fo:basic-link>
</fo:block>
</fo:static-content>


<fo:flow flow-name="xsl-region-body">

<fo:block space-after.optimum="3pt" font-family="serif" id="block1">
FOP is the world's first print formatter driven by XSL formatting
objects. It is a Java 1.1 application that reads a formatting object
tree and then turns it into a PDF document. The formatting object
tree, can be in the form of an XML document (output by an XSLT engine
like XT or Xalan) or can be passed in memory as a DOM Document or (in
the case of XT) SAX events.
</fo:block>

<fo:block space-after.optimum="12pt" font-family="serif">FOP is part of Apache's XML project. The homepage of FOP is
<fo:inline font-style="italic" font-family="serif"><fo:basic-link color="blue" external-destination="http://xml.apache.org/fop">http://xml.apache.org/fop</fo:basic-link></fo:inline>
</fo:block>

<fo:block space-after.optimum="12pt" font-family="serif" font-weight="bold" text-align="center">
align="start"
</fo:block>

<fo:block space-after.optimum="12pt" font-family="serif" text-align="start">
Apache FOP is the world's first print formatter driven by XSL formatting
objects. It is a Java 1.1 application that reads a <fo:basic-link internal-destination="block1" color="blue">formatting object</fo:basic-link>
tree and then turns it into a <fo:basic-link internal-destination="block1" color="blue">PDF document</fo:basic-link>. The formatting object
tree, can be in the form of an XML <fo:basic-link internal-destination="block1" color="blue">document</fo:basic-link> (output by an XSLT engine
like XT or Xalan) or can be passed in memory as a DOM Document or (in
the case of XT) SAX events.

</fo:block>

<fo:block space-after.optimum="12pt" font-family="serif" font-weight="bold" text-align="center">
align="center"
</fo:block>

<fo:block space-after.optimum="12pt" font-family="serif" text-align="center">
Apache FOP is the world's first print formatter driven by XSL formatting
objects. It is a Java 1.1 application that reads a <fo:basic-link internal-destination="block1" color="blue">formatting object</fo:basic-link>
tree and then turns it into a <fo:basic-link internal-destination="block1" color="blue">PDF document</fo:basic-link>. The formatting object
tree, can be in the form of an XML <fo:basic-link internal-destination="block1" color="blue">document</fo:basic-link> (output by an XSLT engine
like XT or Xalan) or can be passed in memory as a DOM Document or (in
the case of XT) SAX events.

</fo:block>

<fo:block space-after.optimum="12pt" font-family="serif" font-weight="bold" text-align="center">
align="justify"
</fo:block>

<fo:block space-after.optimum="12pt" font-family="serif" text-align="justify">
Apache FOP is the world's first print formatter driven by XSL formatting
objects. It is a Java 1.1 application that reads a <fo:basic-link internal-destination="block1" color="blue">formatting object</fo:basic-link>
tree and then turns it into a <fo:basic-link internal-destination="block1" color="blue">PDF document</fo:basic-link>. The formatting object
tree, can be in the form of an XML <fo:basic-link internal-destination="block1" color="blue">document</fo:basic-link> (output by an XSLT engine
like XT or Xalan) or can be passed in memory as a DOM Document or (in
the case of XT) SAX events.

</fo:block>

<!-- table start -->
<fo:table>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell ><fo:block>good</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>bad</fo:block></fo:table-cell>
<fo:table-cell ><fo:block><fo:basic-link internal-destination="block1" color="blue">ugly</fo:basic-link></fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>nice</fo:block></fo:table-cell>
<fo:table-cell ><fo:block><fo:basic-link internal-destination="block1" color="blue">dice</fo:basic-link></fo:block></fo:table-cell>
<fo:table-cell ><fo:block>vice</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>literature</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>music</fo:block></fo:table-cell>
<fo:table-cell ><fo:block><fo:basic-link internal-destination="block1" color="blue">art</fo:basic-link></fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block><fo:basic-link internal-destination="block1" color="blue">java</fo:basic-link></fo:block></fo:table-cell>
<fo:table-cell ><fo:block>perl</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>python</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table end -->

<fo:block break-before="page" space-after.optimum="12pt" font-family="serif" text-align="start" font-weight="bold">
Links in different orientations
</fo:block>

<fo:block>
This block container has a different reference orientation.
<fo:block-container reference-orientation="90" inline-progression-dimension="150pt">
<fo:block>
A link applies to the inline parent area that is created
by the basic-link. This inline area has a trait specifying
the link.
</fo:block>
<fo:block>
<fo:basic-link external-destination="http://xml.apache.org/fop"
color="blue" text-decoration="underline">
http://xml.apache.org/fop
</fo:basic-link>
</fo:block>
</fo:block-container>
</fo:block>


</fo:flow>

</fo:page-sequence>
</fo:root>

+ 0
- 149
docs/examples/fo/normal.fo View File

@@ -1,149 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>


<!-- example for a simple fo file. At the beginning the page layout is set.
Below fo:root there is always
- a single fo:layout-master-set which defines one or more page layouts
- an optional fo:declarations,
- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<!-- fo:layout-master-set defines in its children the page layout:
the pagination and layout specifications
- page-masters: have the role of describing the intended subdivisions
of a page and the geometry of these subdivisions
- page-sequence-masters: have the role of describing the sequence
of page-masters that will be used to generate
pages during the formatting of an fo:page-sequence

-->

<!-- layout for the first page -->
<fo:simple-page-master master-name="first"
page-height="21cm"
page-width="29.7cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<!-- layout for the other pages -->
<fo:simple-page-master master-name="rest"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="2.5cm"/>
<fo:region-before extent="2.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first"
page-position="first" />
<fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
<fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="basicPSM">

<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="14pt" >
XML Recommendation - p. <fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<!-- defines text title level 1-->
<fo:block font-size="18pt"
font-family="sans-serif"
line-height="24pt"
space-after.optimum="15pt"
background-color="blue"
color="white"
text-align="center"
padding-top="3pt"
font-variant="small-caps">
Extensible Markup Language (XML) 1.0
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="3pt">
Abstract
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
The <fo:inline font-variant="small-caps">Extensible Markup Language (XML)</fo:inline> is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML.
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="3pt">
Status of this document
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
widespread deployment. This enhances the functionality and interoperability of the Web.
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document specifies a syntax created by subsetting an existing, widely used international text processing standard
(Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
Recommendations and other technical documents can be found at http://www.w3.org/TR.
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 149
docs/examples/fo/normalex.fo View File

@@ -1,149 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>


<!-- example for a simple fo file. At the beginning the page layout is set.
Below fo:root there is always
- a single fo:layout-master-set which defines one or more page layouts
- an optional fo:declarations,
- and a sequence of one or more fo:page-sequences containing the text and formatting instructions -->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<!-- fo:layout-master-set defines in its children the page layout:
the pagination and layout specifications
- page-masters: have the role of describing the intended subdivisions
of a page and the geometry of these subdivisions
- page-sequence-masters: have the role of describing the sequence
of page-masters that will be used to generate
pages during the formatting of an fo:page-sequence

-->

<!-- layout for the first page -->
<fo:simple-page-master master-name="first"
page-height="21cm"
page-width="29.7cm"
margin-top="6.3cm - 3.8cm - 1.5cm"
margin-bottom="3cm - (.25cm * 4)"
margin-left="2.0cm + 0.5cm"
margin-right="(5cm * 1cm) div 2cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="1cm + 3cm - 1cm"/>
<fo:region-after extent="2 * .5cm + .5cm"/>
</fo:simple-page-master>

<!-- layout for the other pages -->
<fo:simple-page-master master-name="rest"
page-height="abs(-30cm + .3cm)"
page-width="(10cm * 2) + 1cm"
margin-top="round(.5) * 1cm"
margin-bottom="round(2.4) * 1cm"
margin-left="2.5 * 1cm"
margin-right="5.5cm - 3cm">
<fo:region-body margin-top="2.5cm"/>
<fo:region-before extent="2.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first"
page-position="first" />
<fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
<fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="basicPSM">

<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="1em + 4pt" >
XML Recommendation - p. <fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<!-- defines text title level 1-->
<fo:block font-size="min(18pt,20pt)"
font-family="sans-serif"
line-height="max(24pt,18pt)"
space-after.optimum="5 mod 3 * 7.5pt"
background-color="rgb(0,0,255)"
color="rgb(100%,100%,100%)"
text-align="center"
padding-top="3pt">
Extensible Markup Language (XML) 1.0
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="floor(16.3) * 1pt"
font-family="sans-serif"
line-height="2pt * ceiling(9.3)"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="3pt">
Abstract
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="2 * (.5em + 1.5pt)"
space-after.optimum=".25 * 1em"
text-align="start">
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML.
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="1.25"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="3pt">
Status of this document
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
widespread deployment. This enhances the functionality and interoperability of the Web.
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="1.25em"
space-after.optimum="1pc div 4"
text-align="start">
This document specifies a syntax created by subsetting an existing, widely used international text processing standard
(Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
Recommendations and other technical documents can be found at http://www.w3.org/TR.
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 1413
docs/examples/fo/pdfoutline.fo
File diff suppressed because it is too large
View File


+ 0
- 1341
docs/examples/fo/readme.fo
File diff suppressed because it is too large
View File


+ 0
- 99
docs/examples/fo/simple.fo View File

@@ -1,99 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!-- example for a simple fo file. At the beginning the page layout is set.
Below fo:root there is always
- a single fo:layout-master-set which defines one or more page layouts
- an optional fo:declarations
- and a sequence of one or more fo:page-sequences containing the text and formatting instructions
-->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>
<!-- fo:layout-master-set defines in its children the page layout:
the pagination and layout specifications
- page-masters: have the role of describing the intended subdivisions
of a page and the geometry of these subdivisions
In this case there is only a simple-page-master which defines the
layout for all pages of the text
-->
<!-- layout information -->
<fo:simple-page-master master-name="simple"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<!-- end: defines page layout -->


<!-- start page-sequence
here comes the text (contained in flow objects)
the page-sequence can contain different fo:flows
the attribute value of master-name refers to the page layout
which is to be used to layout the text contained in this
page-sequence-->
<fo:page-sequence master-reference="simple">

<!-- start fo:flow
each flow is targeted
at one (and only one) of the following:
xsl-region-body (usually: normal text)
xsl-region-before (usually: header)
xsl-region-after (usually: footer)
xsl-region-start (usually: left margin)
xsl-region-end (usually: right margin)
['usually' applies here to languages with left-right and top-down
writing direction like English]
in this case there is only one target: xsl-region-body
-->
<fo:flow flow-name="xsl-region-body">

<!-- each paragraph is encapsulated in a block element
the attributes of the block define
font-family and size, line-heigth etc. -->

<!-- this defines a title -->
<fo:block font-size="18pt"
font-family="sans-serif"
line-height="24pt"
space-after.optimum="15pt"
background-color="blue"
color="white"
text-align="center"
padding-top="3pt">
Extensible Markup Language (XML) 1.0
</fo:block>


<!-- this defines normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="justify">
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML.
</fo:block>

<!-- this defines normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="justify">
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML.
</fo:block>

</fo:flow> <!-- closes the flow element-->
</fo:page-sequence> <!-- closes the page-sequence -->
</fo:root>

+ 0
- 504
docs/examples/fo/table.fo View File

@@ -1,504 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">


<!-- defines the layout master -->
<fo:layout-master-set>
<fo:simple-page-master master-name="first"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<!-- starts actual layout -->
<fo:page-sequence master-reference="first">

<fo:flow flow-name="xsl-region-body">

<!-- this defines a title level 1-->
<fo:block font-size="18pt"
font-family="sans-serif"
line-height="24pt"
space-after.optimum="15pt"
background-color="blue"
color="white"
text-align="center"
padding-top="3pt">
How to use table elements
</fo:block>

<!-- this defines a title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
space-after.optimum="15pt"
text-align="center">
A simple table, 3 columns, 4 rows
</fo:block>

<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>

<!-- table start -->
<fo:table>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell ><fo:block>good</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>bad</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>ugly</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>nice</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>dice</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>vice</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>literature</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>music</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>art</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>java</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>perl</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>python</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table end -->

<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>

<!-- **************************** NEW PAGE ************************************* -->

<!-- this defines a title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
space-after.optimum="15pt"
text-align="center"
break-before="page">
A table with borders
</fo:block>


<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>


<!-- table start -->
<fo:table border-width="0.5mm" border-style="solid" background-color="yellow">
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell ><fo:block>good</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>bad</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>ugly</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>nice</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>dice</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>vice</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>literature</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>music</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>art</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>java</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>perl</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>python</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table end -->

<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>


<!-- **************************** NEW PAGE ************************************* -->

<!-- this defines a title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
space-after.optimum="15pt"
text-align="center"
break-before="page">
A table with thick borders
</fo:block>


<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>


<!-- table start -->
<fo:table border-width="3mm" border-style="solid" background-color="yellow">
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell ><fo:block>good</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>bad</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>ugly</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>nice</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>dice</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>vice</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>literature</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>music</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>art</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell ><fo:block>java</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>perl</fo:block></fo:table-cell>
<fo:table-cell ><fo:block>python</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table end -->

<!-- normal text -->
<fo:block text-align="start" start-indent="-3mm">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>


<!-- **************************** NEW PAGE ************************************* -->

<!-- this defines a title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
space-after.optimum="15pt"
text-align="center"
break-before="page">
A table with borders around the cells
</fo:block>


<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>


<!-- table start -->
<fo:table border-collapse="separate">
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>good</fo:block></fo:table-cell>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>bad</fo:block></fo:table-cell>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>ugly</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>nice</fo:block></fo:table-cell>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>dice</fo:block></fo:table-cell>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>vice</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>literature</fo:block></fo:table-cell>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>music</fo:block></fo:table-cell>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>art</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>java</fo:block></fo:table-cell>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>perl</fo:block></fo:table-cell>
<fo:table-cell border-width="0.5mm" border-style="solid" background-color="yellow"><fo:block>python</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table end -->

<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>

<!-- **************************** NEW PAGE ************************************* -->

<!-- this defines a title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
space-after.optimum="15pt"
text-align="center"
break-before="page">
2 tables with thick borders around the cells
</fo:block>


<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>


<!-- table start -->
<fo:table border-collapse="separate">
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>good</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>bad</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>ugly</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>nice</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>dice</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>vice</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>literature</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>music</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>art</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>java</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>perl</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>python</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table end -->

<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>

<!-- table start -->
<fo:table border-collapse="separate">
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>good</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>bad</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>ugly</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>nice</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>dice</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>vice</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>literature</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>music</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>art</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>java</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>perl</fo:block></fo:table-cell>
<fo:table-cell border-width="2mm" border-style="solid" background-color="yellow"><fo:block>python</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table end -->

<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>

<!-- **************************** NEW PAGE ************************************* -->

<!-- this defines a title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
space-after.optimum="15pt"
text-align="center"
break-before="page">
5 tables with borders
</fo:block>


<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>


<fo:table border-width="1.5mm" border-style="solid" background-color="rgb(100,210,250)">
<fo:table-column column-width="150mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell><fo:block>bad</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>


<fo:table border-width="1.5mm" border-style="solid" background-color="rgb(100,210,250)" >
<fo:table-column column-width="150mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell><fo:block>bad</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>


<fo:table border-width="1.5mm" border-style="solid" background-color="rgb(100,210,250)" >
<fo:table-column column-width="150mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell><fo:block>bad</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:table border-width="1.5mm" border-style="solid" background-color="rgb(100,210,250)">
<fo:table-column column-width="150mm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell><fo:block>bad</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<!-- normal text -->
<fo:block text-align="start">this is normal text. this is normal text. this is normal text.
this is normal text. this is normal text. this is normal text.
</fo:block>


<!-- **************************** NEW PAGE ************************************* -->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-after.optimum="3pt"
break-before="page"
text-align="justify">
A Contents table
</fo:block>

<!-- Here starts the table -->
<fo:table>
<fo:table-column column-width="1cm"/>
<fo:table-column column-width="15cm"/>
<fo:table-body font-size="10pt" font-family="sans-serif">
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">A) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">What is FOP?</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">B) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">Downloading FOP</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">C) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">Running FOP</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">D) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">Embedding FOP </fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">E) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">What's Implemented?</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">F) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">Limitations</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">G) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">Bugs</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">H) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">Compiling FOP</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">I) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">Getting involved</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">J) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">FOP Relevant Specifications</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row line-height="12pt">
<fo:table-cell>
<fo:block text-align="end">K) </fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="start">Licence</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 221
docs/examples/fo/tableunits.fo View File

@@ -1,221 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">


<!-- defines the layout master -->
<fo:layout-master-set>
<fo:simple-page-master master-name="first"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm" margin-bottom="1.5cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<!-- starts actual layout -->
<fo:page-sequence master-reference="first">

<fo:flow flow-name="xsl-region-body">

<!-- normal text -->
<fo:block space-after="1cm" text-align="start" padding="0.4in"
border="thick solid red">Table unit tests</fo:block>
<fo:table border-collapse="collapse" width="6in">
<fo:table-column column-width="(4.5in - 2cm) div 3 +1in" background-color="yellow"/>
<fo:table-column column-width="(4.5in - 2cm) div 3 + 0.5in" background-color="blue"/>
<fo:table-column column-width="(4.5in - 2cm) div 3 + 2.0cm" background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>fixed width columns</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<!-- table start -->
<fo:table border-collapse="collapse" width="6in">
<fo:table-column column-width="1in + proportional-column-width(1)" background-color="yellow"/>
<fo:table-column column-width="2 * (proportional-column-width(1) + .5in) div 2" background-color="blue"/>
<fo:table-column column-width="proportional-column-width(1) + 2.0cm" background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell background-color="blue"><fo:block>default alignment
</fo:block></fo:table-cell>
<fo:table-cell height="3cm" background-color="green" display-align="center"><fo:block>Centered with height=3cm</fo:block></fo:table-cell>
<fo:table-cell background-color="yellow" display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
<fo:table-row height="3cm">
<fo:table-cell><fo:block>default alignment but with a height
of 3cm on the row </fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<fo:block space-before="12pt" space-after="6pt">
The next table has width=100% on the table no column widths specified on the table-column element.
</fo:block>
<!-- table start -->
<fo:table border-collapse="collapse" width="100%">
<fo:table-column background-color="yellow"/>
<fo:table-column background-color="blue"/>
<fo:table-column background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before="12pt" space-after="6pt">
The next table has fixed column widths=13cm, ipd.optimum=12cm and ipd.max = 100%.
</fo:block>
<!-- table start -->
<fo:table border-collapse="collapse" inline-progression-dimension="12cm"
inline-progression-dimension.maximum="100%">
<fo:table-column column-width="8cm" background-color="yellow"/>
<fo:table-column column-width="proportional-column-width(2)" background-color="blue"/>
<fo:table-column column-width="5cm" background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table><fo:block space-before="12pt" space-after="6pt">
The next table has fixed column widths=16.5cm, ipd.optimum=14cm and ipd.max = 100% (16cm).
</fo:block>
<!-- table start -->
<fo:table border-collapse="collapse" inline-progression-dimension="14cm"
inline-progression-dimension.maximum="100%">
<fo:table-column column-width="8.5cm" background-color="yellow"/>
<fo:table-column column-width="proportional-column-width(2)" background-color="blue"/>
<fo:table-column column-width="8cm" background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<fo:block space-before="12pt" space-after="6pt">
The next table has width="70% + 1cm" and fixed lengths and the first table-column
has column-width="from-parent('width') div 3".
</fo:block>
<!-- table start -->
<fo:table border-collapse="collapse" width="70% + 1cm">
<fo:table-column column-width="from-parent('width') div 3" background-color="yellow"/>
<fo:table-column background-color="blue"/>
<fo:table-column background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before="12pt" space-after="6pt">
The next table specifies inline-progression-dimension="15cm" instead of width. The
middle column has a fixed width; the other two have default width.
</fo:block>
<!-- table start -->
<fo:table border-collapse="collapse"
inline-progression-dimension="15cm">
<fo:table-column background-color="yellow"/>
<fo:table-column column-width="3cm" background-color="blue"/>
<fo:table-column background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before="12pt" space-after="6pt">
The next table specifies neither width nor inline-progression-dimenion.
</fo:block>
<!-- table start -->
<fo:table table-layout="fixed" border-collapse="collapse">
<fo:table-column background-color="yellow"/>
<fo:table-column column-width="3cm" background-color="blue"/>
<fo:table-column background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before="12pt" space-after="6pt">
The next table specifies inline-progression-dimenion.minimum="10cm" and
specifies a column width of 5cm on the middle column only..
</fo:block>
<!-- table start -->
<fo:table table-layout="fixed" border-collapse="collapse"
inline-progression-dimension.minimum="10cm">
<fo:table-column background-color="yellow"/>
<fo:table-column column-width="5cm" background-color="blue"/>
<fo:table-column background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<fo:block space-before="12pt" space-after="6pt">
The next table specifies inline-progression-dimenion.minimum="10cm",
inline-progression-dimension.maximum="17cm and
specifies a column width of 5cm on the middle column only..
</fo:block>
<!-- table start -->
<fo:table table-layout="fixed" border-collapse="collapse"
inline-progression-dimension.minimum="10cm"
inline-progression-dimension.maximum="17cm">
<fo:table-column background-color="yellow"/>
<fo:table-column column-width="5cm" background-color="blue"/>
<fo:table-column background-color="green"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell display-align="before"><fo:block>Some text to make this cell
deeper than the others to check out the aliignment properties.</fo:block></fo:table-cell>
<fo:table-cell display-align="center"><fo:block>Centered</fo:block></fo:table-cell>
<fo:table-cell display-align="after"><fo:block>Bottom aligned</fo:block></fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>


</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 252
docs/examples/fo/textdeko.fo View File

@@ -1,252 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!-- simple example for text-decoration -->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="first"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<!-- layout for the other pages -->
<fo:simple-page-master master-name="rest"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="2.5cm"/>
<fo:region-before extent="2.5cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="basicPSM" >
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="first"
page-position="first" />
<fo:conditional-page-master-reference master-reference="rest"
page-position="rest" />
<!-- recommended fallback procedure -->
<fo:conditional-page-master-reference master-reference="rest" />
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>

</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="basicPSM">

<fo:flow flow-name="xsl-region-body">

<fo:block font-size="18pt" font-family="sans-serif" line-height="24pt" space-after.optimum="15pt"
background-color="blue" color="white" text-align="center" padding-top="3pt">
Simple example for text-decoration
</fo:block>

<fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" text-align="justify" space-after.optimum="10pt">
The "text-decoration"-property describes decorations that are added to the text of an element.
If the property is specified for a block-level element, it should affect all inline-level descendants
of the element (does not work yet!).
If it is specified for (or affects) an inline-level
element, it affects all boxes generated by the element.
</fo:block>

<fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="13pt">
Example: <fo:inline text-decoration="underline">underline</fo:inline>
</fo:block>

<fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" space-after.optimum="10pt">
<fo:inline font-family="monospace"><![CDATA[<fo:inline text-decoration="underline">underline</fo:inline>]]></fo:inline>
</fo:block>

<fo:block font-size="12pt"
font-family="serif"
line-height="15pt"
space-after.optimum="10pt"
text-align="start">
This is simple test of the text-decoration<fo:inline text-decoration="underline">underline</fo:inline>.
</fo:block>
<fo:block font-size="22pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="10pt"
text-align="start">
This is simple test with a <fo:inline text-decoration="underline">bigger</fo:inline> font-size.
</fo:block>
<fo:block font-size="12pt"
font-family="monospace"
line-height="15pt"
space-after.optimum="20pt"
text-align="start">
This is simple test with a <fo:inline text-decoration="underline">monospaced</fo:inline> font.

</fo:block>

<fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" text-align="justify" space-after.optimum="3pt">
The following text decorations are defined in the CR:
</fo:block>

<fo:list-block space-after.optimum="13pt">

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="none">none</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="underline">underline</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="overline">overline</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="line-through">line-through</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="blink">blink</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="no-underline">no-underline</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="no-overline">no-overline</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="no-line-through">no-line-through</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>&#x2022;</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<fo:inline text-decoration="no-blink">no-blink</fo:inline>
</fo:block>
</fo:list-item-body>
</fo:list-item>

</fo:list-block>

<fo:block font-size="12pt" space-after.optimum="3pt">
<fo:inline text-decoration="underline overline">Combination</fo:inline> of property
values should also be possible, but does not work in FOP at the moment.
</fo:block>

<fo:block font-size="12pt" space-after.optimum="13pt">
<fo:inline font-family="monospace"><![CDATA[<fo:inline text-decoration="underline overline">
Combination</fo:inline>]]></fo:inline>
</fo:block>


<fo:block space-after.optimum="13pt">
And now <fo:inline text-decoration="underline">more than a word...</fo:inline>
</fo:block>

<fo:block space-after.optimum="13pt" font-size="14pt" >
<fo:inline text-decoration="underline">
This is a whole block wrapped in fo:inline with the property text-decoration="underline".
Some more Text to get at least two lines.
</fo:inline>
</fo:block>

<fo:block font-size="22pt"
font-family="sans-serif"
line-height="22pt"
space-after.optimum="10pt"
text-align="start">
This is simple test with a <fo:inline text-decoration="overline">bigger font-size</fo:inline>.
</fo:block>
<fo:block font-size="15pt"
font-family="monospace"
line-height="15pt"
space-after.optimum="10pt"
text-align="start">
This is simple test with a <fo:inline text-decoration="line-through">monospaced font</fo:inline>.
</fo:block>

<fo:block font-size="15pt"
line-height="15pt"
space-after.optimum="10pt"
text-align="start">
What about underlining of whitespace only<fo:inline text-decoration="underline"> </fo:inline>?
</fo:block>


</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 249
docs/examples/footnotes/columns.fo View File

@@ -1,249 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines page layout -->
<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="first"
page-height="11in"
page-width="8.5in"
margin-top="1in"
margin-bottom="1in"
margin-left="0.75in"
margin-right="0.75in">
<fo:region-body
margin-top="1in" margin-bottom="1in"
column-count="2" column-gap="0.25in"/>
<fo:region-before extent="1in"/>
<fo:region-after extent="1in"/>
</fo:simple-page-master>

<fo:simple-page-master master-name="next"
page-height="11in"
page-width="8.5in"
margin-top="1in"
margin-bottom="1in"
margin-left="0.75in"
margin-right="0.75in">
<fo:region-body
margin-top="1in" margin-bottom="1in"
column-count="4" column-gap="0.25in"/>
<fo:region-before extent="1in"/>
<fo:region-after extent="1in"/>
</fo:simple-page-master>

</fo:layout-master-set>

<!-- actual layout -->
<fo:page-sequence master-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="normal"
text-align="start"
color="blue">Footnotes in Columns</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt"
font-family="sans-serif"
line-height="12pt"
space-before.optimum="6pt"
text-align="end"
color="blue">Page #</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block color="grey">
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
</fo:block>
<fo:block color="red">
The <fo:footnote>
<fo:inline font-weight="bold">footnote<fo:inline font-size="6pt" vertical-align="super">1</fo:inline></fo:inline>
<fo:footnote-body>
<fo:block color="maroon">
1. A footnote is text placed at the bottom of the current page.
</fo:block>
</fo:footnote-body>
</fo:footnote>
at the bottom of the page.
</fo:block>
<fo:block color="grey">
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
</fo:block>
<fo:block color="green">
The <fo:footnote>
<fo:inline font-weight="bold">second footnote<fo:inline font-size="6pt" vertical-align="super">2</fo:inline></fo:inline>
<fo:footnote-body>
<fo:block color="darkgreen">
2. Another footnote with a bit more text.
</fo:block>
</fo:footnote-body>
</fo:footnote>
at the bottom of the page after the other footnote.
</fo:block>

</fo:flow>
</fo:page-sequence>

<fo:page-sequence master-reference="next">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="normal"
text-align="start"
color="blue">Footnotes in Columns</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt"
font-family="sans-serif"
line-height="12pt"
space-before.optimum="6pt"
text-align="end"
color="blue">Page #</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block color="grey">
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
</fo:block>
<fo:block color="red">
The <fo:footnote>
<fo:inline font-weight="bold">footnote<fo:inline font-size="6pt" vertical-align="super">1</fo:inline></fo:inline>
<fo:footnote-body>
<fo:block color="maroon">
1. A footnote is text placed at the bottom of the current page.
</fo:block>
</fo:footnote-body>
</fo:footnote>
at the bottom of the page.
</fo:block>
<fo:block color="grey">
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
What shall we use to fill the empty spaces,
Where we used to talk?
How shall I fill the final places?
How shall I complete the wall?
</fo:block>
<fo:block color="green">
The <fo:footnote>
<fo:inline font-weight="bold">second footnote<fo:inline font-size="6pt" vertical-align="super">2</fo:inline></fo:inline>
<fo:footnote-body>
<fo:block color="darkgreen">
2. Another footnote with a bit more text.
</fo:block>
</fo:footnote-body>
</fo:footnote>
at the bottom of the page after the other footnote.
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 115
docs/examples/footnotes/simple.fo View File

@@ -1,115 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master margin-right="0.5cm" margin-left="1.5cm" margin-bottom="2cm" margin-top="0cm" page-width="21cm" page-height="20cm" master-name="one">
<fo:region-body margin-bottom="2cm" margin-top="2cm"/>
<fo:region-before extent="0.5cm"/>
<fo:region-after extent="0.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="one">
<fo:flow flow-name="xsl-region-body">

<fo:block space-after.optimum="10pt" font-weight="bold" font-size="16pt" text-align="center">
Footnotes
</fo:block>

<fo:block color="red">
The <fo:footnote>
<fo:inline font-weight="bold">footnote<fo:inline font-size="6pt" vertical-align="super">1</fo:inline></fo:inline>
<fo:footnote-body>
<fo:block color="maroon">
1. A footnote is text placed at the bottom of the current or the next page.
</fo:block>
</fo:footnote-body>
</fo:footnote>
at the bottom of the page.
</fo:block>
<fo:block color="green">
The <fo:footnote>
<fo:inline font-weight="bold">second footnote<fo:inline font-size="6pt" vertical-align="super">2</fo:inline></fo:inline>
<fo:footnote-body>
<fo:block color="darkgreen">
2. Another footnote with a bit more text.
</fo:block>
</fo:footnote-body>
</fo:footnote>
at the bottom of the page after the other footnote.
</fo:block>
<fo:block space-before.optimum="200pt" color="grey">
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
This text is used to show the body region area.
</fo:block>

<fo:block break-before="page">
This is for testing if a footnote cannot fit with the footnote
reference text.
</fo:block>
<fo:block color="grey" space-before.optimum="300pt">
Some filler text with no other purpose.
Some filler text with no other purpose.
Some filler text with no other purpose.
Some filler text with no other purpose.
Some filler text with no other purpose.
Some filler text with no other purpose.
Some filler text with no other purpose.
Some filler text with no other purpose.
</fo:block>
<fo:block color="blue">
This <fo:footnote>
<fo:inline font-weight="bold">footnote</fo:inline>
<fo:footnote-body>
<fo:block color="darkblue">
A footnote with too much text to fit on the same page as the reference. Also the
reference is in the same place as the conditional footnote reference text.
</fo:block>
</fo:footnote-body>
</fo:footnote>
is at the bottom of the page where the conditional footnote reference area is.

</fo:block>

<fo:block break-before="page">
This page also has a footnote and should have the footnote from the last page.
</fo:block>
<fo:block color="grey" space-before.optimum="150pt">
More boring filler text.
More boring filler text.
More boring filler text.
</fo:block>
<fo:block color="fuchsia">
This <fo:footnote>
<fo:inline font-weight="bold">footnote</fo:inline>
<fo:footnote-body>
<fo:block color="purple">
Another footnote.
</fo:block>
</fo:footnote-body>
</fo:footnote>
is at the bottom of the page after the footnote from the previous page.

</fo:block>


</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 289
docs/examples/keeps_and_breaks/columnlevel1.fo View File

@@ -1,289 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
This file addresses breaks in column context.
-->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<!-- layout for all pages -->
<fo:simple-page-master master-name="all"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body
margin-top="3cm" margin-bottom="2cm"
column-count="2" column-gap="0.25in"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="2cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt"
space-before.optimum="6pt">
Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are either break-before or break-before conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-before condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="column">
This is a block with a <fo:inline font-style="italic">break-before="column"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in a column context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-before
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-before trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="column">
This is a block with a <fo:inline font-style="italic">break-before="column"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in a column context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

<fo:block span="all">
<fo:leader leader-pattern="rule"
rule-thickness="2.0pt"
leader-length="14cm"
space-before.optimum="0pt"
space-after.optimum="12pt"
start-indent="1cm"
end-indent="1cm"
background-color="blue"
color="yellow"/>
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-after="column">
This is a block with a <fo:inline font-style="italic">break-after="column"
</fo:inline> break condition. This condition is satisfied if there is
no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
first normal area generated by the next FO is leading in a column
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are either break-before or break-before conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-before condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-before
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-before trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-after="column">
This is a block with a <fo:inline font-style="italic">break-after="column"
</fo:inline> break condition. This condition is satisfied if there is
no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
first normal area generated by the next FO is leading in a column context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>


+ 0
- 138
docs/examples/keeps_and_breaks/pagelevel1.fo View File

@@ -1,138 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
This file addresses breaks in page context.
-->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<!-- layout for all pages -->
<fo:simple-page-master master-name="all"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body
margin-top="3cm" margin-bottom="2cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="2cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt">
Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
break-after="page">
<fo:inline color="red">break-after="page"</fo:inline>
Break conditions are either break-before or break-after conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-after condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-after
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-after trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
break-before="page">
<fo:inline color="red">break-before="page"</fo:inline>
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>


+ 0
- 293
docs/examples/keeps_and_breaks/pagelevel2.fo View File

@@ -1,293 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
This file addresses break-after's in page context.
-->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<!-- layout for all pages -->
<fo:simple-page-master master-name="all"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body
margin-top="3cm" margin-bottom="2cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="2cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt"
space-before.optimum="6pt">
Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are either break-before or break-after conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-after condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-after="even-page">
This is a block with a <fo:inline font-style="italic">break-after="even-page"
</fo:inline> break condition. This condition is satisfied if there is
no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
first normal area generated by the next FO is leading in an even-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-after
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-after trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-after="even-page">
This is a block with a <fo:inline font-style="italic">break-after="even-page"
</fo:inline> break condition. This condition is satisfied if there is
no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
first normal area generated by the next FO is leading in an even-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

<fo:block>
<fo:leader leader-pattern="rule"
rule-thickness="2.0pt"
leader-length="14cm"
space-before.optimum="0pt"
space-after.optimum="12pt"
start-indent="1cm"
end-indent="1cm"
background-color="blue"
color="yellow"/>
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-after="odd-page">
This is a block with a <fo:inline font-style="italic">break-after="odd-page"
</fo:inline> break condition. This condition is satisfied if there is
no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
first normal area generated by the next FO is leading in an odd-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are either break-before or break-after conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-after condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-after
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-after trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-after="odd-page">
This is a block with a <fo:inline font-style="italic">break-after="odd-page"
</fo:inline> break condition. This condition is satisfied if there is
no next formatting object, <fo:inline font-weight="bold">or</fo:inline> the
first normal area generated by the next FO is leading in an odd-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>


+ 0
- 289
docs/examples/keeps_and_breaks/pagelevel3.fo View File

@@ -1,289 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
This file addresses break-before's in page context.
-->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<!-- layout for all pages -->
<fo:simple-page-master master-name="all"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body
margin-top="3cm" margin-bottom="2cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="2cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt"
space-before.optimum="6pt">
Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are either break-before or break-before conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-before condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="even-page">
This is a block with a <fo:inline font-style="italic">break-before="even-page"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in an even-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-before
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-before trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="even-page">
This is a block with a <fo:inline font-style="italic">break-before="even-page"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in an even-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

<fo:block>
<fo:leader leader-pattern="rule"
rule-thickness="2.0pt"
leader-length="14cm"
space-before.optimum="0pt"
space-after.optimum="12pt"
start-indent="1cm"
end-indent="1cm"
background-color="blue"
color="yellow"/>
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="odd-page">
This is a block with a <fo:inline font-style="italic">break-before="odd-page"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in an odd-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are either break-before or break-before conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-before condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-before
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-before trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="odd-page">
This is a block with a <fo:inline font-style="italic">break-before="odd-page"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in an odd-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>


+ 0
- 291
docs/examples/keeps_and_breaks/pagelevel4.fo View File

@@ -1,291 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<!--
This file addresses breaks in page context, with a
2-column layout.
-->

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<!-- layout for all pages -->
<fo:simple-page-master master-name="all"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body
margin-top="3cm" margin-bottom="2cm"
column-count="2" column-gap="0.25in"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="2cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="all">
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" text-align="start"
border-style="solid" border-color="blue" border-width="0.5pt"
space-before.optimum="6pt">
Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are either break-before or break-before conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-before condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="even-page">
This is a block with a <fo:inline font-style="italic">break-before="even-page"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in an even-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-before
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-before trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="even-page">
This is a block with a <fo:inline font-style="italic">break-before="even-page"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in an even-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

<fo:block span="all">
<fo:leader leader-pattern="rule"
rule-thickness="2.0pt"
leader-length="14cm"
space-before.optimum="0pt"
space-after.optimum="12pt"
start-indent="1cm"
end-indent="1cm"
background-color="blue"
color="yellow"/>
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep and break conditions apply to a class of areas, which are typically
page-reference-areas, column-areas, and line-areas. The appropriate class
for a given condition is referred to as a context and an area in this
class is a context-area. As defined in Section 6.4.1, page-reference-areas
are areas generated by an fo:page-sequence using the specifications in a
fo:page-master, and column-areas are normal-flow-reference-areas generated
from a region-body, or region-reference-areas generated from other types
of region-master.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
A keep or break condition is an open statement about a formatting object
and the tree relationships of the areas it generates with the relevant
context-areas. These tree relationships are defined mainly in terms of
leading or trailing areas. If A is a descendant of P, then A is defined
to be leading in P if A has no preceding sibling which is a normal area,
nor does any of its ancestor areas up to but not including P. Similarly,
A is defined to be trailing in P if A has no following sibling which is
a normal area, nor does any of its ancestor areas up to but not including P.
For any given formatting object, the next formatting object in the flow is
the first formatting object following (in the pre-order traversal order)
which generates and returns normal areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="odd-page">
This is a block with a <fo:inline font-style="italic">break-before="odd-page"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in an odd-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are either break-before or break-before conditions.
A break-before condition is satisfied if the first area generated and
returned by the formatting object is leading within a context-area. A
break-before condition depends on the next formatting object in the flow;
it is satisfied if either there is no such next formatting object, or
if the first normal area generated and returned by that formatting
object is leading in a context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Break conditions are imposed by the break-before and break-before
properties. A refined value of page for these traits imposes a break
condition with a context consisting of the page-reference-areas; a
value of even-page or odd-page imposes a break condition with a
context of even-numbered page-reference-areas or odd-numbered page
reference-areas, respectively; a value of column imposes a break
condition with a context of column-areas. A value of auto in a
break-before or break-before trait imposes no break condition.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are either keep-with-previous, keep-with-next, or
keep-together conditions. A keep-with-previous condition on an
object is satisfied if the first area generated and returned by
the formatting object is not leading within a context-area, or
if there are no preceding areas in a post-order traversal of the
area tree. A keep-with-next condition is satisfied if the last
area generated and returned by the formatting object is not
trailing within a context-area, or if there are no following
areas in a pre-order traversal of the area tree. A keep-together
condition is satisfied if all areas generated and returned by
the formatting object are descendants of a single context-area.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
Keep conditions are imposed by the "within-page", "within-column",
and "within-line" components of the "keep-with-previous",
"keep-with-next", and "keep-together" properties. The refined value
of each component specifies the strength of the keep condition
imposed, with higher numbers being stronger than lower numbers and
the value always being stronger than all numeric values. A component
with value auto does not impose a keep condition. A "within-page"
component imposes a keep-condition with context consisting of the
page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the
line-areas.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt"
color="blue"
break-before="odd-page">
This is a block with a <fo:inline font-style="italic">break-before="odd-page"
</fo:inline> break condition. This condition is satisfied if the
first normal area generated by this FO is leading in an odd-page
context.
</fo:block>

<fo:block
font-size="14pt" font-family="sans-serif"
line-height="18pt" space-after.optimum="15pt">
The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would
cause a break condition or a stronger keep condition to fail to be
satisfied. If not all of a set of keep conditions of equal strength
can be satisfied, then some maximal satisfiable subset of conditions
of that strength must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>


+ 0
- 314
docs/examples/markers/glossary.xml View File

@@ -1,314 +0,0 @@
<?xml version="1.0"?>
<glossary>
<term-entry>
<term>basic-link</term>
<definition>The fo:basic-link is used for representing the start resource
of a simple link.</definition>
</term-entry>
<term-entry>
<term>bidi-override</term>
<definition>The fo:bidi-override inline formatting object is used where
it is necessary to override the default Unicode-bidirectionality
algorithm direction for different (or nested) inline scripts in
mixed-language documents.</definition>
</term-entry>
<term-entry>
<term>block</term>
<definition>The fo:block formatting object is commonly used for formatting
paragraphs, titles, headlines, figure and table captions, etc.</definition>
</term-entry>
<term-entry>
<term>block-container</term>
<definition>The fo:block-container flow object is used to generate a
block-level reference-area.</definition>
</term-entry>
<term-entry>
<term>character</term>
<definition>The fo:character flow object represents a character that is
mapped to a glyph for presentation.</definition>
</term-entry>
<term-entry>
<term>color-profile</term>
<definition>Used to declare a color profile for a stylesheet.</definition>
</term-entry>
<term-entry>
<term>conditional-page-master-reference</term>
<definition>The fo:conditional-page-master-reference
is used to identify a page-master that is to be used when the conditions
on its use are satisfied.</definition>
</term-entry>
<term-entry>
<term>declarations</term>
<definition>Used to group global declarations for a stylesheet.</definition>
</term-entry>
<term-entry>
<term>external-graphic</term>
<definition>The fo:external-graphic flow object is used for a graphic
where the graphics data resides outside of the XML result tree in the
fo namespace.</definition>
</term-entry>
<term-entry>
<term>float</term>
<definition>The fo:float serves two purposes. It can be used so that during the
normal placement of content, some related content is formatted into a
separate area at beginning of the page (or of some following page) where
it is available to be read without immediately intruding on the reader.
Alternatively, it can be used when an area is intended to float to one
side, with normal content flowing alongside.</definition>
</term-entry>
<term-entry>
<term>flow</term>
<definition>The content of the fo:flow formatting object is a sequence
of flow objects that provides the flowing text content that is distributed
into pages.</definition>
</term-entry>
<term-entry>
<term>footnote</term>
<definition>The fo:footnote is used to produce a footnote citation and the
corresponding footnote.</definition>
</term-entry>
<term-entry>
<term>footnote-body</term>
<definition>The fo:footnote-body is used to generate the content of the
footnote.</definition>
</term-entry>
<term-entry>
<term>initial-property-set</term>
<definition>The fo:initial-property-set specifies formatting properties
for the first line of an fo:block.</definition>
</term-entry>
<term-entry>
<term>inline</term>
<definition>The fo:inline formatting object is commonly used for
formatting a portion of text with a background or enclosing it in a
border.</definition>
</term-entry>
<term-entry>
<term>inline-container</term>
<definition>The fo:inline-container flow object is used to generate an
inline reference-area.</definition>
</term-entry>
<term-entry>
<term>instream-foreign-object</term>
<definition>The fo:instream-foreign-object flow object is used for an
inline graphic or other "generic" object where the object data resides
as descendants of the fo:instream-foreign-object.</definition>
</term-entry>
<term-entry>
<term>layout-master-set</term>
<definition>The fo:layout-master-set is a wrapper around all masters used
in the document.</definition>
</term-entry>
<term-entry>
<term>leader</term>
<definition>The fo:leader formatting object is used to generate leaders
consisting either of a rule or of a row of a repeating character or
cyclically repeating pattern of characters that may be used for connecting
two text formatting objects.</definition>
</term-entry>
<term-entry>
<term>list-block</term>
<definition>The fo:list-block flow object is used to format a list.</definition>
</term-entry>
<term-entry>
<term>list-item</term>
<definition>The fo:list-item formatting object contains the label and the
body of an item in a list.</definition>
</term-entry>
<term-entry>
<term>list-item-body</term>
<definition>The fo:list-item-body formatting object contains the content
of the body of a list-item.</definition>
</term-entry>
<term-entry>
<term>list-item-label</term>
<definition>The fo:list-item-label formatting object contains the content
of the label of a list-item; typically used to either enumerate, identify,
or adorn the list-item's body.</definition>
</term-entry>
<term-entry>
<term>marker</term>
<definition>The fo:marker is used in conjunction with fo:retrieve-marker
to produce running headers or footers.</definition>
</term-entry>
<term-entry>
<term>multi-case</term>
<definition>The fo:multi-case is used to contain (within an fo:multi-switch)
each alternative sub-tree of formatting objects among which the parent
fo:multi-switch will choose one to show and will hide the rest.</definition>
</term-entry>
<term-entry>
<term>multi-properties</term>
<definition>The fo:multi-properties is used to switch between two or more
property sets that are associated with a given portion of content.</definition>
</term-entry>
<term-entry>
<term>multi-property-set</term>
<definition>The fo:multi-property-set is used to specify an alternative
set of formatting properties that, dependent on a User Agent state, are
applied to the content. </definition>
</term-entry>
<term-entry>
<term>multi-switch</term>
<definition>The fo:multi-switch wraps the specification of alternative
sub-trees of formatting objects (each sub-tree being within an
fo:multi-case), and controls the switching (activated via fo:multi-toggle)
from one alternative to another. </definition>
</term-entry>
<term-entry>
<term>multi-toggle</term>
<definition>The fo:multi-toggle is used within an fo:multi-case to switch
to another fo:multi-case.</definition>
</term-entry>
<term-entry>
<term>page-number</term>
<definition>The fo:page-number formatting object is used to represent the
current page-number.</definition>
</term-entry>
<term-entry>
<term>page-number-citation</term>
<definition>The fo:page-number-citation is used to reference the
page-number for the page containing the first normal area returned by the
cited formatting object.</definition>
</term-entry>
<term-entry>
<term>page-sequence</term>
<definition>The fo:page-sequence formatting object is used to specify how
to create a (sub-)sequence of pages within a document; for example, a
chapter of a report. The content of these pages comes from flow children
of the fo:page-sequence.</definition>
</term-entry>
<term-entry>
<term>page-sequence-master</term>
<definition>The fo:page-sequence-master specifies sequences of page-masters
that are used when generating a sequence of pages.</definition>
</term-entry>
<term-entry>
<term>region-after</term>
<definition>This region defines a viewport that is located on the "after"
side of fo:region-body region. </definition>
</term-entry>
<term-entry>
<term>region-before</term>
<definition>This region defines a viewport that is located on the "before"
side of fo:region-body region.</definition>
</term-entry>
<term-entry>
<term>region-body</term>
<definition>This region specifies a viewport/reference pair that is located
in the "center" of the fo:simple-page-master.</definition>
</term-entry>
<term-entry>
<term>region-end</term>
<definition>This region defines a viewport that is located on the "end"
side of fo:region-body region.</definition>
</term-entry>
<term-entry>
<term>region-start</term>
<definition>This region defines a viewport that is located on the "start"
side of fo:region-body region.</definition>
</term-entry>
<term-entry>
<term>repeatable-page-master-alternatives</term>
<definition>An fo:repeatable-page-master-alternatives specifies a
sub-sequence consisting of repeated instances of a set of alternative
page-masters. The number of repetitions may be bounded or potentially
unbounded.</definition>
</term-entry>
<term-entry>
<term>repeatable-page-master-reference</term>
<definition>An fo:repeatable-page-master-reference specifies a sub-sequence
consisting of repeated instances of a single page-master. The number of
repetitions may be bounded or potentially unbounded.</definition>
</term-entry>
<term-entry>
<term>retrieve-marker</term>
<definition>The fo:retrieve-marker is used in conjunction with fo:marker
to produce running headers or footers.</definition>
</term-entry>
<term-entry>
<term>root</term>
<definition>The fo:root node is the top node of an XSL result tree. This
tree is composed of formatting objects.</definition>
</term-entry>
<term-entry>
<term>simple-page-master</term>
<definition>The fo:simple-page-master is used in the generation of pages
and specifies the geometry of the page. The page may be subdivided into
up to five regions.</definition>
</term-entry>
<term-entry>
<term>single-page-master-reference</term>
<definition>An fo:single-page-master-reference specifies a sub-sequence
consisting of a single instance of a single page-master.</definition>
</term-entry>
<term-entry>
<term>static-content</term>
<definition>The fo:static-content formatting object holds a sequence or a
tree of formatting objects that is to be presented in a single region or
repeated in like-named regions on one or more pages in the page-sequence.
Its common use is for repeating or running headers and footers.</definition>
</term-entry>
<term-entry>
<term>table</term>
<definition>The fo:table flow object is used for formatting the tabular
material of a table.</definition>
</term-entry>
<term-entry>
<term>table-and-caption</term>
<definition>The fo:table-and-caption flow object is used for formatting a
table together with its caption.</definition>
</term-entry>
<term-entry>
<term>table-body</term>
<definition>The fo:table-body formatting object is used to contain the
content of the table body.</definition>
</term-entry>
<term-entry>
<term>table-caption</term>
<definition>The fo:table-caption formatting object is used to contain
block-level formatting objects containing the caption for the table only
when using the fo:table-and-caption.</definition>
</term-entry>
<term-entry>
<term>table-cell</term>
<definition>The fo:table-cell formatting object is used to group content to
be placed in a table cell.</definition>
</term-entry>
<term-entry>
<term>table-column</term>
<definition>The fo:table-column formatting object specifies characteristics
applicable to table cells that have the same column and span.</definition>
</term-entry>
<term-entry>
<term>table-footer</term>
<definition>The fo:table-footer formatting object is used to contain the
content of the table footer.</definition>
</term-entry>
<term-entry>
<term>table-header</term>
<definition>The fo:table-header formatting object is used to contain the
content of the table header.</definition>
</term-entry>
<term-entry>
<term>table-row</term>
<definition>The fo:table-row formatting object is used to group table-cells
into rows.</definition>
</term-entry>
<term-entry>
<term>title</term>
<definition>The fo:title formatting object is used to associate a title with
a given document. This title may be used by an interactive User Agent to
identify the document. For example, the content of the fo:title can be
formatted and displayed in a "title" window or in a "tool tip".</definition>
</term-entry>
<term-entry>
<term>wrapper </term>
<definition>The fo:wrapper formatting object is used to specify inherited
properties for a group of formatting objects. It has no additional
formatting semantics.</definition>
</term-entry>
</glossary>




+ 0
- 75
docs/examples/markers/glossary.xsl View File

@@ -1,75 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">

<xsl:template match="glossary">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>

<fo:simple-page-master master-name="all"
page-height="11.5in" page-width="8.5in"
margin-top="1in" margin-bottom="1in"
margin-left="0.75in" margin-right="0.75in">
<fo:region-body margin-top="1in" margin-bottom="0.75in"/>
<fo:region-before extent="0.75in"/>
<fo:region-after extent="0.5in"/>
</fo:simple-page-master>

</fo:layout-master-set>

<fo:page-sequence master-reference="all" format="i">

<!-- header with running glossary entries -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="start"
font-size="10pt" font-family="serif" line-height="1em + 2pt">
<fo:retrieve-marker retrieve-class-name="term"
retrieve-boundary="page"
retrieve-position="first-starting-within-page"/>
<fo:leader leader-alignment="reference-area" leader-pattern="dots"
leader-length="4in"/>
<fo:retrieve-marker retrieve-class-name="term"
retrieve-boundary="page"
retrieve-position="last-ending-within-page"/>
</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="start"
font-size="10pt" font-family="serif" line-height="1em + 2pt">
Page (<fo:page-number/>)
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<xsl:apply-templates select="term-entry"/>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>

<xsl:template match="term-entry">
<fo:block text-align="start" font-size="12pt" font-family="sans-serif">
<xsl:apply-templates select="term"/>
<xsl:apply-templates select="definition"/>
</fo:block>
</xsl:template>

<xsl:template match="term">
<fo:block color="blue" space-before.optimum="3pt"><fo:marker
marker-class-name="term"><xsl:value-of select="."/></fo:marker>
<xsl:value-of select="."/>
</fo:block>
</xsl:template>

<xsl:template match="definition">
<fo:block text-align="start" start-indent="2em">
<xsl:value-of select="."/>
</fo:block>
</xsl:template>

</xsl:stylesheet>


+ 0
- 140
docs/examples/markers/hide.fo View File

@@ -1,140 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="29.7cm"
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-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">
<fo:block>
<fo:retrieve-marker retrieve-class-name="message"
retrieve-boundary="page"
retrieve-position="first-starting-within-page"/>
</fo:block>
</fo:block-container>
<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute">
<fo:block>
<fo:retrieve-marker retrieve-class-name="term"
retrieve-boundary="page"
retrieve-position="last-ending-within-page"/>
</fo:block>
</fo:block-container>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="start"
font-size="10pt" font-family="serif" line-height="1em + 2pt">
Page (<fo:page-number/> / <fo:page-number-citation
ref-id="end-seq1"/>)
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block><fo:marker
marker-class-name="message">
<fo:block>
WARNING: Page sequence contains: <fo:page-number-citation
ref-id="end-seq1"/> pages.
</fo:block>
</fo:marker>
</fo:block>

<fo:block text-align="start" font-size="12pt" font-family="sans-serif">
This example shows how it is possible to have a message that appears
only on the first page (in a page sequence) only if there is more
than one page.
</fo:block>

<fo:block text-align="start" font-size="12pt" font-family="sans-serif">
This page sequence only has one page so you will not see the message.
</fo:block>

<fo:block id="end-seq1"><fo:marker
marker-class-name="term">
<fo:instream-foreign-object>
<svg xmlns="http://www.w3.org/2000/svg" width="15cm" height="1cm" xml:space="preserve">
<rect style="fill:white;stroke:white" x="0" y="0" width="15cm" height="1cm"/>
</svg>
</fo:instream-foreign-object>
</fo:marker>
</fo:block>

</fo:flow>
</fo:page-sequence>

<fo:page-sequence master-reference="first" initial-page-number="1">
<fo:static-content flow-name="xsl-region-before">
<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute"> <fo:block>
<fo:retrieve-marker retrieve-class-name="message"
retrieve-boundary="page"
retrieve-position="first-starting-within-page"/>
</fo:block>
</fo:block-container>
<fo:block-container height="1cm" width="15cm" top="0cm" left="0cm" position="absolute"> <fo:block>
<fo:retrieve-marker retrieve-class-name="term"
retrieve-boundary="page"
retrieve-position="last-ending-within-page"/>
</fo:block>
</fo:block-container>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="start"
font-size="10pt" font-family="serif" line-height="1em + 2pt">
Page (<fo:page-number/> / <fo:page-number-citation
ref-id="end-of-document"/>)
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block><fo:marker
marker-class-name="message">
<fo:block>
WARNING: Page sequence contains: <fo:page-number-citation
ref-id="end-of-document"/> pages.
</fo:block>
</fo:marker>
</fo:block>

<fo:block text-align="start" font-size="12pt" font-family="sans-serif">
This page sequence has more than one page so you will see the message
only at the top of the first page.
</fo:block>

<fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
Some text.
</fo:block>

<fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
Some text.
</fo:block>
<fo:block break-before="page" text-align="start" font-size="12pt" font-family="sans-serif">
Some more text on last page.
</fo:block>

<fo:block id="end-of-document"><fo:marker
marker-class-name="term">
<fo:instream-foreign-object>
<svg xmlns="http://www.w3.org/2000/svg" width="15cm" height="1cm" xml:space="preserve"> <rect style="fill:white;stroke:white" x="0" y="0" width="15cm" height="1cm"/>
</svg>
</fo:instream-foreign-object>
</fo:marker>
</fo:block>

</fo:flow>
</fo:page-sequence>

</fo:root>


+ 0
- 132
docs/examples/pagination/allregions.fo View File

@@ -1,132 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines page layout -->
<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="only"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body
margin-top="3cm" margin-bottom="1.5cm"
margin-left="2cm" margin-right="2cm"/>
<fo:region-before precedence="true" extent="3cm"/>
<fo:region-after precedence="true" extent="1.5cm"/>
<fo:region-start extent="1cm"/>
<fo:region-end extent="1cm"/>
</fo:simple-page-master>

</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="only" initial-page-number="1">

<!-- usage of page layout -->
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="14pt" >
XML Recommendation - p. <fo:page-number/>
</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-start">
<fo:block-container border-color="black" border-style="solid" border-width="1pt"
height="22.2cm" width="1cm" top="0cm" left="0cm" position="absolute">
<fo:block text-align="start" font-size="8pt"
font-family="serif" line-height="10pt">Start</fo:block>
</fo:block-container>
</fo:static-content>

<fo:static-content flow-name="xsl-region-end">
<fo:block-container border-color="black" border-style="solid" border-width="1pt"
height="22.2cm" width="1cm" top="0cm" left="0cm" position="absolute">
<fo:block text-align="start" font-size="8pt"
font-family="serif" line-height="10pt">End</fo:block>
</fo:block-container>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<!-- defines text title level 1-->
<fo:block font-size="18pt"
font-family="sans-serif"
line-height="24pt"
space-after.optimum="15pt"
background-color="blue"
color="white"
text-align="center"
padding-top="0pt">
Extensible Markup Language (XML) 1.0
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="0pt">
Abstract
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="0pt">
Status of this document
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
widespread deployment. This enhances the functionality and interoperability of the Web. For further information go to
<fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document specifies a syntax created by subsetting an existing, widely used international text processing standard
(Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
Recommendations and other technical documents can be found at http://www.w3.org/TR.
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 112
docs/examples/pagination/basic1.fo View File

@@ -1,112 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines page layout -->
<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="only"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="only" initial-page-number="1">

<!-- usage of page layout -->
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="14pt" >
XML Recommendation - p. <fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<!-- defines text title level 1-->
<fo:block font-size="18pt"
font-family="sans-serif"
line-height="24pt"
space-after.optimum="15pt"
background-color="blue"
color="white"
text-align="center"
padding-top="0pt">
Extensible Markup Language (XML) 1.0
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="0pt">
Abstract
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="0pt">
Status of this document
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
widespread deployment. This enhances the functionality and interoperability of the Web. For further information go to
<fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document specifies a syntax created by subsetting an existing, widely used international text processing standard
(Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
Recommendations and other technical documents can be found at http://www.w3.org/TR.
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 115
docs/examples/pagination/basic2.fo View File

@@ -1,115 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines page layout -->
<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="only"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm">
<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>

<fo:page-sequence-master master-name="single">
<fo:single-page-master-reference master-reference="only"/>
</fo:page-sequence-master>
</fo:layout-master-set>
<!-- end: defines page layout -->

<!-- actual layout -->
<fo:page-sequence master-reference="single" initial-page-number="1">

<!-- usage of page layout -->
<!-- header -->
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end"
font-size="10pt"
font-family="serif"
line-height="14pt" >
XML Recommendation - p. <fo:page-number/>
</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">

<!-- defines text title level 1-->
<fo:block font-size="18pt"
font-family="sans-serif"
line-height="24pt"
space-after.optimum="15pt"
background-color="blue"
color="white"
text-align="center"
padding-top="0pt">
Extensible Markup Language (XML) 1.0
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="0pt">
Abstract
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
go to <fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- defines text title level 2-->
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="20pt"
space-before.optimum="10pt"
space-after.optimum="10pt"
text-align="start"
padding-top="0pt">
Status of this document
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document has been reviewed by W3C Members and other interested parties and has been endorsed by the Director as a
W3C Recommendation. It is a stable document and may be used as reference material or cited as a normative reference from
another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its
widespread deployment. This enhances the functionality and interoperability of the Web. For further information go to
<fo:basic-link external-destination="normal.pdf">normal.pdf</fo:basic-link>
</fo:block>

<!-- Normal text -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start">
This document specifies a syntax created by subsetting an existing, widely used international text processing standard
(Standard Generalized Markup Language, ISO 8879:1986(E) as amended and corrected) for use on the World Wide Web. It
is a product of the W3C XML Activity, details of which can be found at http://www.w3.org/XML. A list of current W3C
Recommendations and other technical documents can be found at http://www.w3.org/TR.
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 1078
docs/examples/pagination/franklin_2pageseqs.fo
File diff suppressed because it is too large
View File


+ 0
- 1053
docs/examples/pagination/franklin_alt.fo
File diff suppressed because it is too large
View File


+ 0
- 1022
docs/examples/pagination/franklin_rep.fo
File diff suppressed because it is too large
View File


+ 0
- 1024
docs/examples/pagination/franklin_rep_max_repeats.fo
File diff suppressed because it is too large
View File


+ 0
- 1024
docs/examples/pagination/franklin_rep_max_repeats_expl.fo
File diff suppressed because it is too large
View File


+ 0
- 1024
docs/examples/pagination/franklin_rep_max_repeats_nl.fo
File diff suppressed because it is too large
View File


+ 0
- 151
docs/examples/region_body/simplecol.fo View File

@@ -1,151 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines page layout -->
<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="only"
page-height="11in"
page-width="8.5in"
margin-top="1in"
margin-bottom="1in"
margin-left="0.75in"
margin-right="0.75in">
<fo:region-body
margin-top="1in" margin-bottom="1in"
column-count="2" column-gap="0.25in"/>
<fo:region-before extent="1in"/>
<fo:region-after extent="1in"/>
</fo:simple-page-master>

</fo:layout-master-set>

<!-- actual layout -->
<fo:page-sequence master-reference="only">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="normal"
text-align="start"
color="blue">Columns in FOP</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt"
font-family="sans-serif"
line-height="12pt"
space-before.optimum="6pt"
text-align="end"
color="blue">Page #</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<!-- Block 0 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 0:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 1 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 1:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 2 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 2:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 3 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 3:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 4 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="all">
<fo:inline color="red">Block 4:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 5 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 5:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 6 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 6:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 183
docs/examples/region_body/simplecol2.fo View File

@@ -1,183 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" >

<!-- defines page layout -->
<fo:layout-master-set >

<!-- layout for the first page -->
<fo:simple-page-master master-name="only"
page-height="11in"
page-width="8.5in"
margin-top="1in"
margin-bottom="1in"
margin-left="0.75in"
margin-right="0.75in">
<fo:region-body
margin-top="1in" margin-bottom="1in"
column-count="2" column-gap="0.25in"/>
<fo:region-before extent="1in" />
<fo:region-after extent="1in" />
</fo:simple-page-master>

</fo:layout-master-set>

<!-- actual layout -->
<fo:page-sequence master-reference="only" >
<fo:static-content flow-name="xsl-region-before" >
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="normal"
text-align="start"
color="blue">Columns in FOP</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after" >
<fo:block font-size="10pt"
font-family="sans-serif"
line-height="12pt"
space-before.optimum="6pt"
text-align="end"
color="blue">Page #</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body" >
<!-- Block 0 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green" >Block 0:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf. XML has associated with it a great number of other standards, most of them under W3C (World-Wide
Web Consortium) auspices. Among these are XML Namespaces, XML Pointer, XPath, XSLT, XHTML, SVG, RELAX, SOAP, and any
number of others. This file has been prepared using formatting objects, an XML vocabulary described in the XSL
specification of October 18, 2000. Formatting objects are used to specify pagination and composition, and are
intended for high-quality, precision layout-driven formatting.
</fo:block>

<!-- Block 1 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green" >Block 1:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf. XML has associated with it a great number of other standards, most of them under W3C (World-Wide
Web Consortium) auspices. Among these are XML Namespaces, XML Pointer, XPath, XSLT, XHTML, SVG, RELAX, SOAP, and any
number of others. This file has been prepared using formatting objects, an XML vocabulary described in the XSL
specification of October 18, 2000. Formatting objects are used to specify pagination and composition, and are
intended for high-quality, precision layout-driven formatting.
</fo:block>

<!-- Block 2 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green" >Block 2:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 3 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green" >Block 3:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 4 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="all">
<fo:inline color="red" >Block 4:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 5 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green" >Block 5:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 6 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green" >Block 6:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf. XML has associated with it a great number of other standards, most of them under W3C (World-Wide
Web Consortium) auspices. Among these are XML Namespaces, XML Pointer, XPath, XSLT, XHTML, SVG, RELAX, SOAP, and any
number of others. This file has been prepared using formatting objects, an XML vocabulary described in the XSL
specification of October 18, 2000. Formatting objects are used to specify pagination and composition, and are
intended for high-quality, precision layout-driven formatting.
</fo:block>

<!-- Block 7 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="all">
<fo:inline color="red" >Block 7:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf. XML has associated with it a great number of other standards, most of them under W3C (World-Wide
Web Consortium) auspices. Among these are XML Namespaces, XML Pointer, XPath, XSLT, XHTML, SVG, RELAX, SOAP, and any
number of others. This file has been prepared using formatting objects, an XML vocabulary described in the XSL
specification of October 18, 2000. Formatting objects are used to specify pagination and composition, and are
intended for high-quality, precision layout-driven formatting.
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 197
docs/examples/region_body/simplecol3.fo View File

@@ -1,197 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines page layout -->
<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="only"
page-height="11in"
page-width="8.5in"
margin-top="1in"
margin-bottom="1in"
margin-left="0.75in"
margin-right="0.75in">
<fo:region-body
margin-top="1in" margin-bottom="1in"
column-count="2" column-gap="0.25in"/>
<fo:region-before extent="1in"/>
<fo:region-after extent="1in"/>
</fo:simple-page-master>

</fo:layout-master-set>

<!-- actual layout -->
<fo:page-sequence master-reference="only">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="normal"
text-align="start"
color="blue">Columns in FOP</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt"
font-family="sans-serif"
line-height="12pt"
space-before.optimum="6pt"
text-align="end"
color="blue">Page #</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<!-- Block 0 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 0:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 1 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 1:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 2 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 2:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 3 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 3:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 4 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="all">
<fo:inline color="red">Block 4:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 5 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 5:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 6 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 6:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 7 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 7:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 8 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 8:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 9 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="all">
<fo:inline color="red">Block 9:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 197
docs/examples/region_body/simplecol4.fo View File

@@ -1,197 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<!-- defines page layout -->
<fo:layout-master-set>

<!-- layout for the first page -->
<fo:simple-page-master master-name="only"
page-height="11in"
page-width="8.5in"
margin-top="1in"
margin-bottom="1in"
margin-left="0.75in"
margin-right="0.75in">
<fo:region-body
margin-top="1in" margin-bottom="1in"
column-count="3" column-gap="0.15in"/>
<fo:region-before extent="1in"/>
<fo:region-after extent="1in"/>
</fo:simple-page-master>

</fo:layout-master-set>

<!-- actual layout -->
<fo:page-sequence master-reference="only">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="16pt"
font-family="sans-serif"
line-height="normal"
text-align="start"
color="blue">Columns in FOP</fo:block>
</fo:static-content>

<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt"
font-family="sans-serif"
line-height="12pt"
space-before.optimum="6pt"
text-align="end"
color="blue">Page #</fo:block>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<!-- Block 0 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 0:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 1 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 1:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 2 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 2:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 3 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 3:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 4 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="all">
<fo:inline color="red">Block 4:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 5 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 5:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 6 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 6:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 7 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 7:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 8 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="none">
<fo:inline color="green">Block 8:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

<!-- Block 9 -->
<fo:block font-size="12pt"
font-family="sans-serif"
line-height="15pt"
space-after.optimum="3pt"
text-align="start"
background-color="yellow"
span="all">
<fo:inline color="red">Block 9:</fo:inline>
The Extensible Markup Language (XML) is a subset of SGML that is completely described in this document. Its goal is to
enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML
has been designed for ease of implementation and for interoperability with both SGML and HTML. For further information
read normal.pdf.
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 6
docs/examples/results.html View File

@@ -1,6 +0,0 @@
<html><head><title>Test Results</title></head><body>

<h2>Compare Results<br>
<font size='1'>created Jan 16, 2001 1:40:19 AM</font></h2>
<table cellpadding='10' border='2'><thead><th align='center'>reference file</th><th align='center'>test file</th><th align='center'>identical?</th></thead>
</table></html>

+ 0
- 38
docs/examples/runtests.bat View File

@@ -1,38 +0,0 @@
@echo off

echo Fop Test
echo ----------------

if "%JAVA_HOME%" == "" goto error


set LIBDIR=..\..\lib
set LOCALCLASSPATH=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\classes.zip
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\ant.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xml-apis.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xercesImpl-2.2.1.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\xalan-2.4.1.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\batik.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\avalon-framework-cvs-20020806.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jimi-1.0.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_core.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_codec.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\..\build\fop.jar
set ANT_HOME=%LIBDIR%

echo Starting Tests ...

%JAVA_HOME%\bin\java.exe -Dant.home=%ANT_HOME% -classpath %LOCALCLASSPATH%;%CLASSPATH% org.apache.tools.ant.Main %1 %2 %3 %4 %5

goto end

:error

echo ERROR: JAVA_HOME not found in your environment.
echo Please, set the JAVA_HOME variable in your environment to match the
echo location of the Java Virtual Machine you want to use.

:end

rem set LOCALCLASSPATH=


+ 0
- 36
docs/examples/runtests.sh View File

@@ -1,36 +0,0 @@
#!/bin/sh

echo
echo "Fop Test"
echo "----------------"
echo

if [ "$JAVA_HOME" = "" ] ; then
echo "ERROR: JAVA_HOME not found in your environment."
echo
echo "Please, set the JAVA_HOME variable in your environment to match the"
echo "location of the Java Virtual Machine you want to use."
exit 1
fi
LIBDIR=../../lib
LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/classes.zip
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/ant.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xml-apis.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xercesImpl-2.2.1.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/xalan-2.4.1.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/batik.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/avalon-framework-cvs-20020806.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/jimi-1.0.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/jai_core.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/jai_codec.jar
LOCALCLASSPATH=$LOCALCLASSPATH:$LIBDIR/../build/fop.jar

ANT_HOME=$LIBDIR

echo Building with classpath $CLASSPATH:$LOCALCLASSPATH
echo

echo Starting Tests...
echo

$JAVA_HOME/bin/java -Dant.home=$ANT_HOME -classpath "$LOCALCLASSPATH:$CLASSPATH" org.apache.tools.ant.Main $*

+ 0
- 11
docs/examples/svg/boxes.svg View File

@@ -1,11 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">

<svg width="20" height="20" xml:space="preserve">
<g style="fill:red; stroke:#000000">
<rect x="0" y="0" width="15" height="15"/>
<rect x="5" y="5" width="15" height="15"/>
</g>
</svg>


+ 0
- 1082
docs/examples/svg/embedding.fo
File diff suppressed because it is too large
View File


+ 0
- 132
docs/examples/svg/external.fo View File

@@ -1,132 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink">
<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="29.7cm"
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-reference="first">
<fo:static-content flow-name="xsl-region-before">
<fo:block line-height="14pt" font-size="10pt"
text-align="end">External SVG 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 text-align="center" font-weight="bold" font-size="14pt" space-before.optimum="3pt" space-after.optimum="15pt">
External SVG
</fo:block>

<fo:block space-before.optimum="3pt" space-after.optimum="20pt">


</fo:block>

<fo:block text-align="center">
Some examples of how to reference external SVG images in your FO documents
</fo:block>

<fo:block break-before="page" space-after.optimum="10pt" font-weight="bold" font-size="12pt">
Introduction
</fo:block>

<fo:block>
This document shows some examples of how an SVG document can be in an external svg file
which is referenced using the fo:external-graphic.
</fo:block>

<fo:block>
</fo:block>

<fo:block space-after.optimum="10pt" font-weight="bold" font-size="12pt">
Examples
</fo:block>

<fo:block>
The following svg document is obtained from an external file using the fo:external-graphic.
</fo:block>

<fo:block>
<fo:external-graphic src="file:boxes.svg"/>
</fo:block>

<fo:block>
This svg document (<fo:external-graphic src="file:multi.svg"/>) is also obtained from
an external file using the fo:external-graphic. It has another svg image inside and references
part of another svg image.
</fo:block>

<fo:block>
This inline svg document (
<fo:instream-foreign-object>
<svg xmlns="http://www.w3.org/2000/svg" width="60" height="40" xml:space="preserve">
<g style="fill:none;stroke:yellow">
<rect x="0" y="0" width="25" height="25"/>
<image xlink:href="file:boxes.svg" x="10" y="10" width="20" height="20"/>
</g>
<g>
<use xlink:href="file:ref.svg#FOP" transform="scale(1.5)" x="12" y="25"/>
</g>
</svg>
</fo:instream-foreign-object>
) has an external svg image inside and references part of another svg image.
</fo:block>

<fo:block>
Apart from this external svg images should behave in the same way that other types of
external graphics do.
</fo:block>

<fo:block space-before.optimum="10pt">
The following example shows how you could scale an external svg file.
</fo:block>

<fo:block>
<fo:instream-foreign-object>
<svg xmlns="http://www.w3.org/2000/svg" width="20mm" height="20mm" xml:space="preserve">
<svg viewBox="0 0 20 20" preserveAspectRatio="none">
<image xlink:href="file:boxes.svg" x="0" y="0" width="20mm" height="20mm"/>
</svg>
</svg>
</fo:instream-foreign-object>
and
<fo:instream-foreign-object>
<svg xmlns="http://www.w3.org/2000/svg" width="20mm" height="20mm" xml:space="preserve">
<g transform="scale(3.7)">
<image xlink:href="file:boxes.svg" x="0" y="0" width="20mm" height="20mm"/>
</g>
</svg>
</fo:instream-foreign-object>
and
<fo:instream-foreign-object>
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" width="20mm" height="20mm" xml:space="preserve">
<image preserveAspectRatio="xMidYMid" xlink:href="file:boxes.svg" x="0" y="0" width="10mm" height="10mm"/>
</svg>
</fo:instream-foreign-object>

</fo:block>

<fo:block space-before.optimum="10pt">
This example is an svg from an external image:
<fo:external-graphic src="file:view.svg"/>
it has a viewbox that resizes the contents.
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>


+ 0
- 14
docs/examples/svg/multi.svg View File

@@ -1,14 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">

<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="60" height="40" xml:space="preserve">
<g style="fill:none;stroke:yellow">
<rect x="0" y="0" width="25" height="25"/>
<image xlink:href="file:boxes.svg" x="10" y="10" width="20" height="20"/>
</g>
<g>
<use xlink:href="file:ref.svg#FOP" transform="scale(1.5)" x="12" y="25"/>
</g>
</svg>


+ 0
- 10
docs/examples/svg/ref.svg View File

@@ -1,10 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">

<svg width="20" height="20" xml:space="preserve">
<g id="FOP">
<text x="0" y="0" style="fill:black;font-weight:bold;font-size:14"><tspan style="fill:red">F</tspan><tspan style="fill:purple">O</tspan><tspan style="fill:blue">P</tspan></text>
</g>
</svg>


+ 0
- 11
docs/examples/svg/view.svg View File

@@ -1,11 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">

<svg viewBox="0 0 10 10" width="20" height="20" xml:space="preserve">
<g style="fill:red; stroke:#000000">
<rect x="0" y="0" width="15" height="15"/>
<rect x="5" y="5" width="15" height="15"/>
</g>
</svg>


+ 0
- 789
docs/examples/tables/background.fo View File

@@ -1,789 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="29.7cm"
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-reference="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">
Table 1: cell background
</fo:block>

<fo:table>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="2cm"/>

<fo:table-body>
<fo:table-row>
<fo:table-cell background-color="green">
<fo:block text-align="center">
green cell
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="red">
<fo:block text-align="center">
red cell
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="blue">
<fo:block text-align="center">
blue cell
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="yellow">
<fo:block text-align="center">
yellow cell
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="15pt" space-after.optimum="15pt">
Table 1: row background
</fo:block>

<fo:table>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>

<fo:table-body>
<fo:table-row background-color="green">
<fo:table-cell>
<fo:block text-align="center">
row with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
green
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row background-color="red">
<fo:table-cell>
<fo:block text-align="center">
row with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
red
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row background-color="blue">
<fo:table-cell>
<fo:block text-align="center">
row with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
blue
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="15pt" space-after.optimum="15pt">
Table 1: column background
</fo:block>

<fo:table>
<fo:table-column column-width="3cm" background-color="green"/>
<fo:table-column column-width="3cm" background-color="red"/>
<fo:table-column column-width="3cm" background-color="blue"/>
<fo:table-column column-width="3cm" background-color="yellow"/>
<fo:table-column column-width="3cm"/>

<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
table columns
</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">
different
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
backgrounds
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
extra
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
table row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="260pt" space-after.optimum="15pt">
Table 1: column backgrounds over page
</fo:block>

<fo:table>
<fo:table-column column-width="3cm" background-color="green"/>
<fo:table-column column-width="3cm" background-color="red"/>
<fo:table-column column-width="3cm" background-color="blue"/>
<fo:table-column column-width="3cm" background-color="orange"/>
<fo:table-column column-width="3cm"/>

<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
table columns
</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">
different
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
backgrounds
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
extra
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
table row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="15pt" space-after.optimum="15pt">
Table 1: body background
</fo:block>

<fo:table>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>

<fo:table-body background-color="green" border-left-width="0.5pt">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
body with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
green
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:table>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>

<fo:table-body background-color="red">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
body with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
red
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:table>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>

<fo:table-body background-color="blue">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
body with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
blue
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:table>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>

<fo:table-body background-color="yellow">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
body with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
yellow
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="15pt" space-after.optimum="15pt">
Table 1: table background
</fo:block>

<fo:table background-color="green">
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>

<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
table with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
green
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:table background-color="red">
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>

<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
table with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
red
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
background
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="15pt" space-after.optimum="15pt">
Table 1: combinations
</fo:block>

<fo:table background-color="green">
<fo:table-column column-width="2.5cm"/>
<fo:table-column column-width="2.5cm" background-color="green"/>
<fo:table-column column-width="2.5cm" background-color="red"/>
<fo:table-column column-width="2.5cm" background-color="blue"/>
<fo:table-column column-width="2.5cm" background-color="yellow"/>
<fo:table-column column-width="2.5cm"/>

<fo:table-body background-color="aqua">
<fo:table-row background-color="green">
<fo:table-cell background-color="green">
<fo:block text-align="center">
a
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="red">
<fo:block text-align="center">
b
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="blue">
<fo:block text-align="center">
c
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="yellow">
<fo:block text-align="center">
d
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
e
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row background-color="red">
<fo:table-cell>
<fo:block text-align="center">
a
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="red">
<fo:block text-align="center">
b
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="blue">
<fo:block text-align="center">
c
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="yellow">
<fo:block text-align="center">
d
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="orange">
<fo:block text-align="center">
e
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row background-color="blue">
<fo:table-cell background-color="green">
<fo:block text-align="center">
a
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
b
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="blue">
<fo:block text-align="center">
c
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="yellow">
<fo:block text-align="center">
d
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="orange">
<fo:block text-align="center">
e
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row background-color="yellow">
<fo:table-cell background-color="green">
<fo:block text-align="center">
a
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="red">
<fo:block text-align="center">
b
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
c
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="yellow">
<fo:block text-align="center">
d
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="orange">
<fo:block text-align="center">
e
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row background-color="orange">
<fo:table-cell background-color="green">
<fo:block text-align="center">
a
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="red">
<fo:block text-align="center">
b
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="blue">
<fo:block text-align="center">
c
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="yellow">
<fo:block text-align="center">
d
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="orange">
<fo:block text-align="center">
e
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell background-color="green">
<fo:block text-align="center">
a
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="red">
<fo:block text-align="center">
b
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="blue">
<fo:block text-align="center">
c
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="yellow">
<fo:block text-align="center">
d
</fo:block>
</fo:table-cell>
<fo:table-cell background-color="orange">
<fo:block text-align="center">
e
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>

<fo:table-body space-before.optimum="10pt" space-after.optimum="10pt">
<fo:table-row background-color="blue">
<fo:table-cell>
<fo:block text-align="center">
table with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
blue
</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">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
table with
</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-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
text for an extra line in the table row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 1023
docs/examples/tables/borders.fo
File diff suppressed because it is too large
View File


+ 0
- 322
docs/examples/tables/break.fo View File

@@ -1,322 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<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-reference="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>

+ 0
- 1432
docs/examples/tables/headfoot.fo
File diff suppressed because it is too large
View File


+ 0
- 590
docs/examples/tables/keep.fo View File

@@ -1,590 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<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-reference="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 keeps on table rows and the occurance of page breaks.
</fo:block>

<fo:block space-before.optimum="280pt" space-after.optimum="15pt">
Table 1: basic 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">
keep 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-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="280pt" space-after.optimum="15pt">
Table 1: basic 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">
first 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-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">
keep with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
previous
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="270pt" space-after.optimum="15pt">
Table 1: basic keep with next and 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" 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">
keep 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-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-row border-width="0.5pt" keep-with-previous="always">
<fo:table-cell>
<fo:block text-align="center">
third row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
previous
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="200pt" space-after.optimum="15pt">
Table 1: basic multiple keep with next after normal row
</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">
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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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="160pt" space-after.optimum="15pt">
Table 1: basic multiple keep (next and previous) after normal row
</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="6cm"/>

<fo:table-body>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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-row border-width="0.5pt" keep-with-next="always" keep-with-previous="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep with
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
next and previous
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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="160pt" space-after.optimum="15pt">
Table 1: basic multiple keep with next after normal row with normal row in middle
</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="6cm"/>

<fo:table-body>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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-row border-width="0.5pt" keep-with-next="always">
<fo:table-cell>
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
keep 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-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">
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:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 1265
docs/examples/tables/omit.fo
File diff suppressed because it is too large
View File


+ 0
- 532
docs/examples/tables/space.fo View File

@@ -1,532 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<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="29.7cm"
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-reference="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">
Table 1: spaces around cells
</fo:block>

<fo:table border-style="solid" 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>
<fo:table-cell border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
first
</fo:block>
</fo:table-cell>
<fo:table-cell border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
table
</fo:block>
</fo:table-cell>
<fo:table-cell border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
<fo:table-cell padding-left="5pt" border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
left 5pt
</fo:block>
</fo:table-cell>
<fo:table-cell border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell space-before.optimum="5pt" border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
before 5pt
</fo:block>
</fo:table-cell>
<fo:table-cell padding-right="5pt" border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
right 5pt
</fo:block>
</fo:table-cell>
<fo:table-cell space-after.optimum="5pt" border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
after 5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
last
</fo:block>
</fo:table-cell>
<fo:table-cell border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
table
</fo:block>
</fo:table-cell>
<fo:table-cell border-style="solid" border-width="0.5pt">
<fo:block text-align="center">
row
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="3pt" space-after.optimum="15pt">
Table 2: spaces around rows
</fo:block>

<fo:table border-style="solid" 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-style="solid" border-width="0.5pt" padding-left="5pt">
<fo:table-cell>
<fo:block text-align="center">
padding
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
left
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-style="solid" border-width="0.5pt" space-before.optimum="5pt">
<fo:table-cell>
<fo:block text-align="center">
space
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
before
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-style="solid" border-width="0.5pt" space-after.optimum="5pt">
<fo:table-cell>
<fo:block text-align="center">
space
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
after
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-style="solid" border-width="0.5pt" padding-right="5pt">
<fo:table-cell>
<fo:block text-align="center">
padding
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
right
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="3pt" space-after.optimum="15pt">
Table 3: spaces around body
</fo:block>

<fo:table border-style="solid" 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 border-style="solid" border-width="0.5pt" padding-left="5pt">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
padding
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
left
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>

<fo:table-body border-style="solid" border-width="0.5pt" space-before.optimum="5pt">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
space
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
before
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>

<fo:table-body border-style="solid" border-width="0.5pt" space-after.optimum="5pt">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
space
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
after
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>

<fo:table-body border-style="solid" border-width="0.5pt" padding-right="5pt">
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
padding
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
right
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>

<fo:block space-before.optimum="3pt" space-after.optimum="15pt">
Table 4: spaces around table
</fo:block>

<fo:block border-style="solid" border-width="0.5pt">
<fo:table space-before.optimum="5pt" border-style="solid" 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>
<fo:table-cell>
<fo:block text-align="center">
table
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
space before
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block border-style="solid" border-width="0.5pt">
<fo:table padding-left="5pt" border-style="solid" 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>
<fo:table-cell>
<fo:block text-align="center">
table
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
padding left
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block border-style="solid" border-width="0.5pt">
<fo:table padding-right="5pt" border-style="solid" 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>
<fo:table-cell>
<fo:block text-align="center">
table
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
padding right
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block border-style="solid" border-width="0.5pt">
<fo:table space-after.optimum="5pt" border-style="solid" 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>
<fo:table-cell>
<fo:block text-align="center">
table
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
space after
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block space-before.optimum="3pt" space-after.optimum="15pt">
Table 5: combinations
</fo:block>

<fo:block border-style="solid" border-width="0.5pt">
<fo:table space-after.optimum="20pt" border-style="solid" 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 space-after.optimum="15pt" border-style="solid" border-width="0.5pt" border-color="green">
<fo:table-row space-after.optimum="10pt" border-style="solid" border-width="0.5pt" border-color="blue">
<fo:table-cell space-after.optimum="5pt" border-style="solid" border-width="0.5pt" border-color="yellow">
<fo:block text-align="center">
after 5pt
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
and row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
after 10pt
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
and
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
body
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
after 15pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>

<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
and
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
table
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
after 20pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block border-style="solid" border-width="0.5pt">
<fo:table space-after.optimum="5pt" border-style="solid" 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 space-after.optimum="10pt" border-style="solid" border-width="0.5pt" border-color="green">
<fo:table-row space-after.optimum="15pt" border-style="solid" border-width="0.5pt" border-color="blue">
<fo:table-cell space-after.optimum="20pt" border-style="solid" border-width="0.5pt" border-color="yellow">
<fo:block text-align="center">
after 20pt
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
and row
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
after 15pt
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
and
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
body
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
after 10pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>

<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block text-align="center">
and
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
table
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">
after 5pt
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

+ 0
- 522
docs/examples/tables/widowsorphans.fo View File

@@ -1,522 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<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 column-count="3" margin-top="1cm"/>
<fo:region-after extent="1.5cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="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 widows and orphans on a table.
</fo:block>

<fo:block space-before.optimum="240pt" space-after.optimum="15pt">
Table 1: normal table with widows of 1
</fo:block>

<fo:block widows="1">
<fo:table border-width="0.5pt" border-color="red">
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>

<fo:table-body>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block space-before.optimum="225pt" space-after.optimum="15pt">
Table 2: normal table with widows of 3
</fo:block>

<fo:block widows="3">
<fo:table border-width="0.5pt" border-color="red">
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>

<fo:table-body>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block break-before="page" space-before.optimum="240pt" space-after.optimum="15pt">
Table 3: normal table with orphans of 1
</fo:block>

<fo:block orphans="1">
<fo:table border-width="0.5pt" border-color="red">
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>

<fo:table-body>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block space-before.optimum="225pt" space-after.optimum="15pt">
Table 4: normal table with orphans of 3
</fo:block>

<fo:block orphans="3">
<fo:table border-width="0.5pt" border-color="red">
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>

<fo:table-body>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block break-before="page" space-before.optimum="240pt" space-after.optimum="15pt">
Table 3: normal table with widows 4 orphans of 3
</fo:block>

<fo:block widows="4" orphans="3">
<fo:table border-width="0.5pt" border-color="red">
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>

<fo:table-body>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

<fo:block space-before.optimum="180pt" space-after.optimum="15pt">
Table 4: normal table with orphans of 4 (and default widows 2)
</fo:block>

<fo:block orphans="4">
<fo:table border-width="0.5pt" border-color="red">
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="2cm"/>

<fo:table-body>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row border-width="0.5pt">
<fo:table-cell>
<fo:block text-align="center">A</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">B</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="center">C</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>

</fo:flow>
</fo:page-sequence>
</fo:root>

Loading…
Cancel
Save