омогою різних шаблонів. Для цього необхідно кожному макету сторінки присвоїти ім'я, а в елементі fo: simple-page-master вказати атрибут master-name з ім'ям даного шаблону. Відповідний об'єкт fo: page-sequence, що містить опис представлення даних на старніцах, повинен мати нащадка - атрибут master-reference. Описуваний об'єкт повинен вказувати на ім'я однієї з майстер-сторінок в елементі fo: layout-master-set [1].
При використанні декількох майстер сторінок необхідна їх угруповання в елементі fo: page-sequence-master. Розглянутий об'єкт є дочірнім елементу fo: layout-master-set, в якому за допомогою одного або декількох дочірніх елементів задається порядок, в якому будуть инициализироваться конкретні майстер-сторінки. Таким чином визначається послідовність розташування описаних сторінок. Для завдання цієї послідовності застосовується елемент fo: single-page-master-reference з атрибутом master-reference, що вказує на ім'я однієї з майстер-сторінок. Приклад відповідного фрагмента файлу XSL, приведений нижче.
lt; fo: layout-master-set gt;
lt; fo: simple-page-master master-name=laquo;page1raquo;height=laquo;310mmraquo;width=laquo;397mmraquo;top=laquo;8mmraquo;bottom=laquo;5mmraquo;left=laquo;5mmraquo;right=laquo;5mmraquo;gt;
lt; fo: region-body margin-top=laquo;37mmraquo;bottom=laquo;90mmraquo;left=laquo;0mmraquo;right=laquo;0mmraquo;/gt;
lt; fo: region-before extent= 37mm / gt;
lt; fo: region-after extent= 90mm / gt;
lt;/fo: simple-page-master gt;
lt; fo: simple-page-master master-name=laquo;page3raquo;height=laquo;310mmraquo;width=laquo;397mmraquo;top=laquo;8mmraquo;bottom=laquo;5mmraquo;left=laquo;5mmraquo;right=laquo;5mmraquo;gt;
lt;fo:region-bodytop=laquo;37mmraquo;bottom=laquo;15mmraquo;left=laquo;0mmraquo;right=laquo;0mmraquo;/gt;
lt; fo: region-before extent= 37mm / gt;
lt; fo: region-after extent= 15mm / gt;
lt;/fo: simple-page-master gt;
lt; fo: page-sequence-master master-name= contents gt;
lt; fo: single-page-master-reference master-reference= page1 / gt;
lt; fo: single-page-master-reference master-reference= page3 / gt;
lt;/fo: page-sequence-master gt;
lt;/fo: layout-master-set gt;
Дані, що відносяться до штампу, як було сказано раніше, статичні. Для опису статичних областей застосовується елемент fo: static-content з атрибутом flow-name, що вказує на регіон, для якого инициализирована майстер сторінка [2]. Тобто, об'єкт fo: static-content є нащадком елемента fo: page-sequence. Значення атрибута flow-name вказані в таблиці 3.5.
Таблиця 3.5
Значення атрибуту flow-nameОпісаніе областиxsl-region-bodyЦентральнаяxsl-region-beforeЗаголовокxsl-region-afterФутерxsl-region-startНачальнаяxsl-region-endКонечная
Вміст же центральній області сторінки, навпаки, змінюється. Дані, витягнуті з допомогою XSLT з xml-документа, «перетікають» з одного аркуша на інший. Тобто fop-процесор, обробляючи fo-файл, повинен поміщати дані на основну область сторінки доти, поки на ній вистачає місця. Як тільки ресурс листа вичерпається, fop-процесор повинен створити новий аркуш і продовжити додавання даних. Цей процес повинен тривати до тих пір, поки всі дані з fo-файлу не будуть внесені у файл формату PDF. Відповідно обсяг даних, розташованих у файлі FO, а раніше у файлі XML, визначить кількість сторінок у файлі PDF. Для реалізації поточного методу вибірки і представлення даних в специфікації мови XSL-FO передбачений елемент fo: flow. Розглянутий об'єкт зберігає реальне вміст, який буде розміщуватися на сторінках відповідно до майстер-сторінками. Це вміст утворюється послідовністю елементів: fo: block, fo: block-container, fo: table [1].
Об'єкт fo: block застосовується для завдання властивостей виведеного тексту. Властивості задаються за допомогою відповідних атрибутів. За допомогою даного елемента задаються видимі або невидимі межі тексту. При описі текстових даних в xsl-шаблоні застосування fo: block обов'язково. У цьому елементі можна не використовувати атрибути форматування тексту, меж блоку і так далі. Fop-процесор просто застосує значення за замовчуванням (чорний колір шрифту, невидимі границі блоку і так далі). Можливо також вказівку атрибути форматування тексту в деяких батьківських елементах. Атрибути, використовувані при форматуванні тексту, і їх опис представлені в таблиці 3.6.
Таблиця 3.6
АтрібутОпісаніеfont-familyНазваніе шріфтаfont-sizeРазм...