fo: page-sequence. У об'єкті fo: page-sequence розміщується основне вміст документа. Елемент fo: layout-master-set містить шаблони створюваних сторінок, які також іменуються майстер-сторінками [4]. Майстер-сторінка, що позначається fo: simple-page-master, задає загальний макет сторінки, включаючи відступи, розміри заголовків, основну область сторінки і так далі. Елемент fo: simple-page-master має атрибути, що містять значення розмірів: сторінки і відступів. Відповідні атрибути і їх опис, представлені в таблиці 3.3.
Таблиця 3.3 - Відповідні атрибути та їх опис елемента fo: simple-page-master
ЕлементОпісаніеPage-heightВисота страніциPage-widthШіріна страніциmargin-topОтступ сверхуMargin-bottomОтступ снізуmargin-leftОтступ слеваmargin-rightОтступ справа
Специфікація XML-FO передбачає розбиття сторінки на п'ять областей: центральної, заголовка, футера (нижньої області), кінцевою області (права частина листа) і початковій області. Розглянуті області задаються за допомогою дочірніх елементів об'єкта fo: simple-page-master, які представлені в таблиці 3.4.
Таблиця 3.4 - Дочірнє елементи об'єкта fo: simple-page-master
ЕлементОпісаніе областиregion-bodyЦентральнаяRegion-beforeЗаголовокregion-afterФутерregion-startНачальнаяregion-endКонечная
Кожен, з розглянутих елементів, крім region-body, має атрибут extent. Для region-before і region-after він визначає висоту області. Для region-start і region-end - ширину. Центральної (основний) області відводиться вся сторінка, крім відступів [4]. Тобто, вона займає простір інших областей. Для неї існують атрибути, що задають відступи. Можна задати величини відступів таким чином, щоб основна область не перекривали інші. Імена розглянутих атрибутів, які задають відступи, відповідають атрибутам сторінки. Вони представлені в таблиці 3.3.
Демонстраційний приклад xsl-файла представлений нижче.
lt ;? xml version= 1.0 encoding= utf - 8 raquo ;? gt;
lt; xsl: stylesheet version= 1.0 xmlns: xsl= # justify gt; lt; xsl: template match= specification" gt;
lt; fo: root gt;
lt; fo: layout-master-set gt;
lt; fo: simple-page-master page-height=laquo;210mmraquo;width=laquo;297mmraquo;top=laquo;8mmraquo;bottom=laquo;5mmraquo;left=laquo;5mmraquo;right=laquo;5mmraquo;gt;
lt; fo: region-body margin-top=laquo;27mmraquo;bottom=laquo;90mmraquo;left=laquo;0mmraquo;right=laquo;0mmraquo;/gt;
lt; fo: region-before extent= 27mm / gt;
lt; fo: region-after extent= 90mm / gt;
lt;/fo: simple-page-master gt;
lt;/fo: layout-master-set gt;
lt; fo: page-sequence gt;
. lt ;!- Вміст документа - - gt;
lt;/fo: page-sequence gt;
lt;/fo: root gt;
lt;/xsl: template gt;
lt;/xsl: stylesheet gt;
Як вже згадувалося раніше, перша сторінка специфікації, а точніше, її штамп, відрізняється від штампа, представленого на другій та наступних сторінках. Звідси можна зробити висновок, що подання цих сторінок має бути описано за допомогою різних шаблонів. Для цього необхідно кожному макету сторінки присвоїти ім'я, а в елементі 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=la...