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