, показана на рис. 12.8; как можно заметить, текст смещен вниз.
Рис. 12.8. Первая страница, отформатированная при помощи XSL-FO
Текст на второй странице начинается сверху, как видно на рис. 12.9.
Рис 12.9. Вторая страница, отформатированная при помощи XSL-FO
Как можно заметить из листинга 12.8, я включил в
pages.fo
большое число строк, не содержащих ничего, кроме слов «Sample Text.», для того чтобы гарантированно получить многостраничный документ. Но для перехода на новую страницу не обязательно располагать большим количеством текста: можно также установить свойство
break-after
элемента
<fo:block>
в «page», и процессор XSL-FO перейдет на новую страницу после текущего блока:
и все. Теперь процессор XSL-FO перейдет на следующую страницу после блока. Для создания разрывов можно использовать следующие свойства и настройки:
•
break-after
. Указывает, что последняя область, созданная при обработке данного форматирующего объекта, будет последней помещенной в определенный контекст. Устанавливается в
Рассмотрим еще один пример применения последовательностей страниц. Если вы посмотрите на книги, напечатанные на таких западных языках, как английский, немецкий или французский, вы заметите, что страницы с четными номерами, как правило, расположены слева, а страницы с нечетными номерами — справа. Четные и нечетные страницы можно отформатировать по-разному: например, можно задать дополнительное пространство поля у переплета, что даст дополнительное пространство левого поля для нечетных страниц и дополнительное пространство правого поля для четных.
Чтобы реализовать такое форматирование, можно применить атрибут
odd-or-even
элемента
<fo:conditional-page-master-reference>
, устанавливая его в значение «even» или «odd», выбирая соответственно четные или нечетные страницы: