You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ar...@locus.apache.org on 2000/12/27 04:57:20 UTC

cvs commit: xml-fop/docs/examples/keeps_and_breaks pagelevel4.fo

arved       00/12/26 19:57:20

  Added:       docs/examples/keeps_and_breaks pagelevel4.fo
  Log:
  New examples for breaks
  
  Revision  Changes    Path
  1.1                  xml-fop/docs/examples/keeps_and_breaks/pagelevel4.fo
  
  Index: pagelevel4.fo
  ===================================================================
  <?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-name="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>