From: arved Date: Wed, 27 Dec 2000 03:57:47 +0000 (+0000) Subject: New examples for breaks X-Git-Tag: fop-0_17_0~133 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=dbbfe199583f3ffe077cfdea50539ecb5a02b3ae;p=xmlgraphics-fop.git New examples for breaks git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@193928 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/examples/keeps_and_breaks/columnlevel1.fo b/docs/examples/keeps_and_breaks/columnlevel1.fo new file mode 100644 index 000000000..a76163002 --- /dev/null +++ b/docs/examples/keeps_and_breaks/columnlevel1.fo @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + Text excerpt from XSL Candidate Recommendation, 21 Nov 2000. + + + + + +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. + + + +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. + + + +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. + + + +This is a block with a break-before="column" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in a column context. + + + +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. + + + +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. + + + +This is a block with a break-before="column" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in a column context. + + + +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. + + + +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). + + + + + + + +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. + + + +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. + + + +This is a block with a break-after="column" + break condition. This condition is satisfied if there is +no next formatting object, or the +first normal area generated by the next FO is leading in a column +context. + + + +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. + + + +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. + + + +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. + + + +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. + + + +This is a block with a break-after="column" + break condition. This condition is satisfied if there is +no next formatting object, or the +first normal area generated by the next FO is leading in a column context. + + + +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). + + + + + + diff --git a/docs/examples/keeps_and_breaks/pagelevel1.fo b/docs/examples/keeps_and_breaks/pagelevel1.fo new file mode 100644 index 000000000..78ea1c2a2 --- /dev/null +++ b/docs/examples/keeps_and_breaks/pagelevel1.fo @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + Text excerpt from XSL Candidate Recommendation, 21 Nov 2000. + + + + + +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. + + + +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. + + + +break-after="page" +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. + + + +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. + + + +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. + + + +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. + + + +break-before="page" +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). + + + + + + diff --git a/docs/examples/keeps_and_breaks/pagelevel2.fo b/docs/examples/keeps_and_breaks/pagelevel2.fo new file mode 100644 index 000000000..fc3369a18 --- /dev/null +++ b/docs/examples/keeps_and_breaks/pagelevel2.fo @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + Text excerpt from XSL Candidate Recommendation, 21 Nov 2000. + + + + + +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. + + + +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. + + + +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. + + + +This is a block with a break-after="even-page" + break condition. This condition is satisfied if there is +no next formatting object, or the +first normal area generated by the next FO is leading in an even-page +context. + + + +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. + + + +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. + + + +This is a block with a break-after="even-page" + break condition. This condition is satisfied if there is +no next formatting object, or the +first normal area generated by the next FO is leading in an even-page +context. + + + +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. + + + +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). + + + + + + + +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. + + + +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. + + + +This is a block with a break-after="odd-page" + break condition. This condition is satisfied if there is +no next formatting object, or the +first normal area generated by the next FO is leading in an odd-page +context. + + + +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. + + + +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. + + + +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. + + + +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. + + + +This is a block with a break-after="odd-page" + break condition. This condition is satisfied if there is +no next formatting object, or the +first normal area generated by the next FO is leading in an odd-page +context. + + + +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). + + + + + + diff --git a/docs/examples/keeps_and_breaks/pagelevel3.fo b/docs/examples/keeps_and_breaks/pagelevel3.fo new file mode 100644 index 000000000..29ca25306 --- /dev/null +++ b/docs/examples/keeps_and_breaks/pagelevel3.fo @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + Text excerpt from XSL Candidate Recommendation, 21 Nov 2000. + + + + + +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. + + + +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. + + + +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. + + + +This is a block with a break-before="even-page" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in an even-page +context. + + + +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. + + + +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. + + + +This is a block with a break-before="even-page" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in an even-page +context. + + + +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. + + + +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). + + + + + + + +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. + + + +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. + + + +This is a block with a break-before="odd-page" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in an odd-page +context. + + + +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. + + + +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. + + + +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. + + + +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. + + + +This is a block with a break-before="odd-page" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in an odd-page +context. + + + +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). + + + + + + diff --git a/docs/examples/keeps_and_breaks/pagelevel4.fo b/docs/examples/keeps_and_breaks/pagelevel4.fo new file mode 100644 index 000000000..d7be73267 --- /dev/null +++ b/docs/examples/keeps_and_breaks/pagelevel4.fo @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + Text excerpt from XSL Candidate Recommendation, 21 Nov 2000. + + + + + +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. + + + +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. + + + +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. + + + +This is a block with a break-before="even-page" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in an even-page +context. + + + +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. + + + +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. + + + +This is a block with a break-before="even-page" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in an even-page +context. + + + +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. + + + +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). + + + + + + + +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. + + + +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. + + + +This is a block with a break-before="odd-page" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in an odd-page +context. + + + +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. + + + +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. + + + +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. + + + +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. + + + +This is a block with a break-before="odd-page" + break condition. This condition is satisfied if the +first normal area generated by this FO is leading in an odd-page +context. + + + +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). + + + + + +