<?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>
