A screen-based web browser user agent can accommodate a non-predetermined amount of information on a web page by flowing the content in an elastic window of practically infinite length. A paginated presentation is very different, in that bounded areas (the pages) repeat to accommodate a non-predetermined amount of information (the flow). This pagination concept differentiates XSL-FO semantics from traditional web browser display semantics, including the inherent HTML display semantics and those of CSS. The complete collection of pages, split into separate sequences of pages, is used as an entity for reading the information, just as a complete web browser window is used as an entity.
Static content. Static content is distinguished from flowed content in that while the flowed content triggers new pages, the static content is what is copied on each new page triggered by the flow. The flow never repeats automatically, but the static content is designed to be repeated on pages in a page sequence.
The pages in the collection need navigational aids repeated on each page that are necessarily different from the navigational aids on a browser screen. These aids are used by the reader to understand a page's role when not in the context of neighboring pages. Such aids include, among other constructs, the page number, page number citations, headers and footers, and directly cited information found in the content formatted on the page.
The page number gives a focus to the specific bounded area of a portion of the information being flowed. It is used on a given page for navigation purposes and used on other pages for citations to the given page. These citations might be cross references or index information.
Headers and footers provide contextual information about a collection of pages in which the given page is found. For example, the chapter title could be repeated in each header of the page. The footer could include a total page count reflecting information about the entire production and not just the page sequence.
Cited information found from the page being formatted can be contextual information useful for navigation. This information would not be known about a page by the stylesheet at the time of transformation. It is the act of pagination that dictates the page boundaries, not the act of processing the source information, thus the stylesheet writer doesn't know a priori what information belongs in a given page's header and footer. Two examples of information drawn from the flow itself into the static content are dictionary headers (where one needs to find one of many items on a page) and subsection citations (where one needs to find breaks in the information that are not triggering new page sequences).
Every page sequence has its own definitions for static content, and it is the stylesheet writer's responsibility to supply all candidate uses that might be required in each sequence. It is usually the case that the generation of information (e.g. using an XSLT stylesheet) cannot accurately predict the pages where pagination of that information will position different areas. If the same behavior is desired in some or all of the page sequences, it is the stylesheet writer's responsibility to repeat the content in each sequence where it might be needed. Citing the dynamic content in the static content allows one to modify headers and footers without forcing the new page that is triggered at the beginning.
Static content is associated with the name of a page region, not with a particular region's position. This is sometimes confusing to the stylesheet writer, as the writer must organize the region names in each page geometry and then bind, in each page sequence, the static content to the named regions. It is not an error to supply static content for a named region that isn't being used on a given page geometry or even that isn't being used on any page geometry referenced by a sequence of pages. Static content can also be defined for named sub- regions that are triggered by the formatter.
Page sequencing. Differences in page geometry are allowed from page to page when more than one page is being rendered in a sequence of pages. The tests for differences are performed within each page sequence construct's flow. These differences can be changes in the dimensions of the page, the choices of the regions and their names and margins, the presence or selection of headers and/or footers, the column count, etc.
One can describe a sequence with odd and even page number differences to implement features such as alternating headers and footers. Two different static contents are defined with the page number to be rendered on the outside edge of each side of a bound publication. Differences in headers and footers of the geometries alternate the names of the flows for the static content between odd and even numbered pages. The page geometry for each of the two kinds of page can have different region names, then the static content for each presentation of the page number can be assigned to each of the two region names.
One can describe a sequence of pages with first, last, and middle page differences, for example to have no heading on the first page of a chapter sequence.
One can describe a sequence to replace absent content for forced un-flowed pages. When forcing a particular number of pages, there may be insufficient flow to fit on the last page of the sequence. Such pages are commonly seen with a "this page is intentionally left blank" banner.
Consider the choreography in each of two possible page plans for a set of chapters, as shown in Figure 7-1. Here, the plan on the left does not accommodate the parity of pages, but the plan on the right has differences for even and odd pages, typically formatted in Western European publications as, respectively, the left-hand and right-hand sides of an open book.
Figure 7-1. Page sequence and static content planning
A single-sided presentation is shown on the left with all page sequences consecutive, so that no pages are found between the TOC and the chapters. The document title is centered at the top of document content pages (but not the TOC), and the page number and total page count centered at the bottom of all pages.
A double-sided presentation is shown on the right with contents of the TOC and the first chapter each starting on a right-hand page. This requires the page sequence for the table of contents to have an even number of pages, regardless of the amount of flow occupying the sequence, thus perhaps needing a forced page. The document title is at the bottom left of odd pages and the bottom right of even pages. The chapter title is at the top right of odd pages and the top left of even pages. The page number and total page count are centered at the bottom of all pages.
Successful choreography requires a lot of planning ahead by the stylesheet writer in order to ensure that all possible formatting situations have contingencies in the stylesheet to accommodate the desired result.
Included in this chapter. This chapter includes discussion of the following XSL-FO objects.
Formatting objects related to static content:
Formatting objects related to page geometry sequencing: