You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pagelevel4.fo 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!--
  3. This file addresses breaks in page context, with a
  4. 2-column layout.
  5. -->
  6. <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  7. <fo:layout-master-set>
  8. <!-- layout for all pages -->
  9. <fo:simple-page-master master-name="all"
  10. page-height="29.7cm"
  11. page-width="21cm"
  12. margin-top="1cm"
  13. margin-bottom="2cm"
  14. margin-left="2.5cm"
  15. margin-right="2.5cm">
  16. <fo:region-body
  17. margin-top="3cm" margin-bottom="2cm"
  18. column-count="2" column-gap="0.25in"/>
  19. <fo:region-before extent="3cm"/>
  20. <fo:region-after extent="2cm"/>
  21. </fo:simple-page-master>
  22. </fo:layout-master-set>
  23. <fo:page-sequence master-reference="all">
  24. <fo:static-content flow-name="xsl-region-after">
  25. <fo:block font-size="10pt" text-align="start"
  26. border-style="solid" border-color="blue" border-width="0.5pt"
  27. space-before.optimum="6pt">
  28. Text excerpt from XSL Candidate Recommendation, 21 Nov 2000.
  29. </fo:block>
  30. </fo:static-content>
  31. <fo:flow flow-name="xsl-region-body">
  32. <fo:block
  33. font-size="14pt" font-family="sans-serif"
  34. line-height="18pt" space-after.optimum="15pt">
  35. Keep and break conditions apply to a class of areas, which are typically
  36. page-reference-areas, column-areas, and line-areas. The appropriate class
  37. for a given condition is referred to as a context and an area in this
  38. class is a context-area. As defined in Section 6.4.1, page-reference-areas
  39. are areas generated by an fo:page-sequence using the specifications in a
  40. fo:page-master, and column-areas are normal-flow-reference-areas generated
  41. from a region-body, or region-reference-areas generated from other types
  42. of region-master.
  43. </fo:block>
  44. <fo:block
  45. font-size="14pt" font-family="sans-serif"
  46. line-height="18pt" space-after.optimum="15pt">
  47. A keep or break condition is an open statement about a formatting object
  48. and the tree relationships of the areas it generates with the relevant
  49. context-areas. These tree relationships are defined mainly in terms of
  50. leading or trailing areas. If A is a descendant of P, then A is defined
  51. to be leading in P if A has no preceding sibling which is a normal area,
  52. nor does any of its ancestor areas up to but not including P. Similarly,
  53. A is defined to be trailing in P if A has no following sibling which is
  54. a normal area, nor does any of its ancestor areas up to but not including P.
  55. For any given formatting object, the next formatting object in the flow is
  56. the first formatting object following (in the pre-order traversal order)
  57. which generates and returns normal areas.
  58. </fo:block>
  59. <fo:block
  60. font-size="14pt" font-family="sans-serif"
  61. line-height="18pt" space-after.optimum="15pt">
  62. Break conditions are either break-before or break-before conditions.
  63. A break-before condition is satisfied if the first area generated and
  64. returned by the formatting object is leading within a context-area. A
  65. break-before condition depends on the next formatting object in the flow;
  66. it is satisfied if either there is no such next formatting object, or
  67. if the first normal area generated and returned by that formatting
  68. object is leading in a context-area.
  69. </fo:block>
  70. <fo:block
  71. font-size="14pt" font-family="sans-serif"
  72. line-height="18pt" space-after.optimum="15pt"
  73. color="blue"
  74. break-before="even-page">
  75. This is a block with a <fo:inline font-style="italic">break-before="even-page"
  76. </fo:inline> break condition. This condition is satisfied if the
  77. first normal area generated by this FO is leading in an even-page
  78. context.
  79. </fo:block>
  80. <fo:block
  81. font-size="14pt" font-family="sans-serif"
  82. line-height="18pt" space-after.optimum="15pt">
  83. Break conditions are imposed by the break-before and break-before
  84. properties. A refined value of page for these traits imposes a break
  85. condition with a context consisting of the page-reference-areas; a
  86. value of even-page or odd-page imposes a break condition with a
  87. context of even-numbered page-reference-areas or odd-numbered page
  88. reference-areas, respectively; a value of column imposes a break
  89. condition with a context of column-areas. A value of auto in a
  90. break-before or break-before trait imposes no break condition.
  91. </fo:block>
  92. <fo:block
  93. font-size="14pt" font-family="sans-serif"
  94. line-height="18pt" space-after.optimum="15pt">
  95. Keep conditions are either keep-with-previous, keep-with-next, or
  96. keep-together conditions. A keep-with-previous condition on an
  97. object is satisfied if the first area generated and returned by
  98. the formatting object is not leading within a context-area, or
  99. if there are no preceding areas in a post-order traversal of the
  100. area tree. A keep-with-next condition is satisfied if the last
  101. area generated and returned by the formatting object is not
  102. trailing within a context-area, or if there are no following
  103. areas in a pre-order traversal of the area tree. A keep-together
  104. condition is satisfied if all areas generated and returned by
  105. the formatting object are descendants of a single context-area.
  106. </fo:block>
  107. <fo:block
  108. font-size="14pt" font-family="sans-serif"
  109. line-height="18pt" space-after.optimum="15pt"
  110. color="blue"
  111. break-before="even-page">
  112. This is a block with a <fo:inline font-style="italic">break-before="even-page"
  113. </fo:inline> break condition. This condition is satisfied if the
  114. first normal area generated by this FO is leading in an even-page
  115. context.
  116. </fo:block>
  117. <fo:block
  118. font-size="14pt" font-family="sans-serif"
  119. line-height="18pt" space-after.optimum="15pt">
  120. Keep conditions are imposed by the "within-page", "within-column",
  121. and "within-line" components of the "keep-with-previous",
  122. "keep-with-next", and "keep-together" properties. The refined value
  123. of each component specifies the strength of the keep condition
  124. imposed, with higher numbers being stronger than lower numbers and
  125. the value always being stronger than all numeric values. A component
  126. with value auto does not impose a keep condition. A "within-page"
  127. component imposes a keep-condition with context consisting of the
  128. page-reference-areas; "within-column", with context consisting of
  129. the column-areas; and "within-line" with context consisting of the
  130. line-areas.
  131. </fo:block>
  132. <fo:block
  133. font-size="14pt" font-family="sans-serif"
  134. line-height="18pt" space-after.optimum="15pt">
  135. The area tree is constrained to satisfy all break conditions imposed.
  136. Each keep condition must also be satisfied, except when this would
  137. cause a break condition or a stronger keep condition to fail to be
  138. satisfied. If not all of a set of keep conditions of equal strength
  139. can be satisfied, then some maximal satisfiable subset of conditions
  140. of that strength must be satisfied (together with all break conditions
  141. and maximal subsets of stronger keep conditions, if any).
  142. </fo:block>
  143. <fo:block span="all">
  144. <fo:leader leader-pattern="rule"
  145. rule-thickness="2.0pt"
  146. leader-length="14cm"
  147. space-before.optimum="0pt"
  148. space-after.optimum="12pt"
  149. start-indent="1cm"
  150. end-indent="1cm"
  151. background-color="blue"
  152. color="yellow"/>
  153. </fo:block>
  154. <fo:block
  155. font-size="14pt" font-family="sans-serif"
  156. line-height="18pt" space-after.optimum="15pt">
  157. Keep and break conditions apply to a class of areas, which are typically
  158. page-reference-areas, column-areas, and line-areas. The appropriate class
  159. for a given condition is referred to as a context and an area in this
  160. class is a context-area. As defined in Section 6.4.1, page-reference-areas
  161. are areas generated by an fo:page-sequence using the specifications in a
  162. fo:page-master, and column-areas are normal-flow-reference-areas generated
  163. from a region-body, or region-reference-areas generated from other types
  164. of region-master.
  165. </fo:block>
  166. <fo:block
  167. font-size="14pt" font-family="sans-serif"
  168. line-height="18pt" space-after.optimum="15pt">
  169. A keep or break condition is an open statement about a formatting object
  170. and the tree relationships of the areas it generates with the relevant
  171. context-areas. These tree relationships are defined mainly in terms of
  172. leading or trailing areas. If A is a descendant of P, then A is defined
  173. to be leading in P if A has no preceding sibling which is a normal area,
  174. nor does any of its ancestor areas up to but not including P. Similarly,
  175. A is defined to be trailing in P if A has no following sibling which is
  176. a normal area, nor does any of its ancestor areas up to but not including P.
  177. For any given formatting object, the next formatting object in the flow is
  178. the first formatting object following (in the pre-order traversal order)
  179. which generates and returns normal areas.
  180. </fo:block>
  181. <fo:block
  182. font-size="14pt" font-family="sans-serif"
  183. line-height="18pt" space-after.optimum="15pt"
  184. color="blue"
  185. break-before="odd-page">
  186. This is a block with a <fo:inline font-style="italic">break-before="odd-page"
  187. </fo:inline> break condition. This condition is satisfied if the
  188. first normal area generated by this FO is leading in an odd-page
  189. context.
  190. </fo:block>
  191. <fo:block
  192. font-size="14pt" font-family="sans-serif"
  193. line-height="18pt" space-after.optimum="15pt">
  194. Break conditions are either break-before or break-before conditions.
  195. A break-before condition is satisfied if the first area generated and
  196. returned by the formatting object is leading within a context-area. A
  197. break-before condition depends on the next formatting object in the flow;
  198. it is satisfied if either there is no such next formatting object, or
  199. if the first normal area generated and returned by that formatting
  200. object is leading in a context-area.
  201. </fo:block>
  202. <fo:block
  203. font-size="14pt" font-family="sans-serif"
  204. line-height="18pt" space-after.optimum="15pt">
  205. Break conditions are imposed by the break-before and break-before
  206. properties. A refined value of page for these traits imposes a break
  207. condition with a context consisting of the page-reference-areas; a
  208. value of even-page or odd-page imposes a break condition with a
  209. context of even-numbered page-reference-areas or odd-numbered page
  210. reference-areas, respectively; a value of column imposes a break
  211. condition with a context of column-areas. A value of auto in a
  212. break-before or break-before trait imposes no break condition.
  213. </fo:block>
  214. <fo:block
  215. font-size="14pt" font-family="sans-serif"
  216. line-height="18pt" space-after.optimum="15pt">
  217. Keep conditions are either keep-with-previous, keep-with-next, or
  218. keep-together conditions. A keep-with-previous condition on an
  219. object is satisfied if the first area generated and returned by
  220. the formatting object is not leading within a context-area, or
  221. if there are no preceding areas in a post-order traversal of the
  222. area tree. A keep-with-next condition is satisfied if the last
  223. area generated and returned by the formatting object is not
  224. trailing within a context-area, or if there are no following
  225. areas in a pre-order traversal of the area tree. A keep-together
  226. condition is satisfied if all areas generated and returned by
  227. the formatting object are descendants of a single context-area.
  228. </fo:block>
  229. <fo:block
  230. font-size="14pt" font-family="sans-serif"
  231. line-height="18pt" space-after.optimum="15pt">
  232. Keep conditions are imposed by the "within-page", "within-column",
  233. and "within-line" components of the "keep-with-previous",
  234. "keep-with-next", and "keep-together" properties. The refined value
  235. of each component specifies the strength of the keep condition
  236. imposed, with higher numbers being stronger than lower numbers and
  237. the value always being stronger than all numeric values. A component
  238. with value auto does not impose a keep condition. A "within-page"
  239. component imposes a keep-condition with context consisting of the
  240. page-reference-areas; "within-column", with context consisting of
  241. the column-areas; and "within-line" with context consisting of the
  242. line-areas.
  243. </fo:block>
  244. <fo:block
  245. font-size="14pt" font-family="sans-serif"
  246. line-height="18pt" space-after.optimum="15pt"
  247. color="blue"
  248. break-before="odd-page">
  249. This is a block with a <fo:inline font-style="italic">break-before="odd-page"
  250. </fo:inline> break condition. This condition is satisfied if the
  251. first normal area generated by this FO is leading in an odd-page
  252. context.
  253. </fo:block>
  254. <fo:block
  255. font-size="14pt" font-family="sans-serif"
  256. line-height="18pt" space-after.optimum="15pt">
  257. The area tree is constrained to satisfy all break conditions imposed.
  258. Each keep condition must also be satisfied, except when this would
  259. cause a break condition or a stronger keep condition to fail to be
  260. satisfied. If not all of a set of keep conditions of equal strength
  261. can be satisfied, then some maximal satisfiable subset of conditions
  262. of that strength must be satisfied (together with all break conditions
  263. and maximal subsets of stronger keep conditions, if any).
  264. </fo:block>
  265. </fo:flow>
  266. </fo:page-sequence>
  267. </fo:root>