--- /dev/null
+<?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-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="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>
+
--- /dev/null
+<?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-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">
+ 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>
+
--- /dev/null
+<?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-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-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>
+
--- /dev/null
+<?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-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>
+ <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>
+
--- /dev/null
+<?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>
+