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.

columnlevel1.fo 13KB

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