width='300mm'
page-height='400mm' master-name='leftpage'>
<fo:region-body margin-right='0mm' margin-left='0mm'
margin-bottom='10mm' margin-top='50mm'/>
<fo:region-after extent='10mm'/>
<fo:region-before extent='10mm'/>
</fo:simple-page-master>
<fo:simple-page-master margin-right='20mm' margin- left='50mm'
margin-bottom='10mm' margin-top='10mm' page- width='300mm'
page-height='400mm' master-name='rightpage'>
<fo:region-body margin-right='0mm' margin-left='0mm'
margin-bottom='10mm' margin-top='20mm'/>
<fo:region-after extent='10mm'/>
<fo:region-before extent='10mm'/>
</fo:simple-page-master>
<fo:page-sequence-master master- name='alternatingpages'>
<fо:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference
master-name='rightpage' odd-or-even='odd'/>
<fo:conditional-page-master-reference
master-name='leftpage' odd-or-even='even'/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence master-name='alternatingpages'>
.
.
.
Теперь у страниц, расположенных справа, левое поле у переплета книги будет расширено, а у страниц, расположенных слева, также будет расширено правое поле.
Как видите, форматирующие объекты — довольно объемная тема, и, как я уже говорил, для большой части материала в этой книге не хватает места. Дополнительные подробности можно узнать на web-узле W3C, www.w3.org/TR/xsl/. Существует не так уж много пакетов программ для работы с форматирующими объектами, хотя в будущем ситуация должна измениться.
На этом мы заканчиваем рассмотрение XSL-FO — а вместе с ним и книгу. Вы познакомились со всеми видами XSLT-преобразований: из XML в XML, в HTML, в XHTML, в RTF, в простой текст, в JavaScript, в реляционные базы данных, и теперь — в XSL-FO. Вы увидели все возможные элементы, атрибуты и функции XSLT и рассмотрели много работающих примеров. Теперь осталось только использовать всю эту мощь в работе. Удачи вам в применении XSLT!
Приложение A
DTD XSLT
В данном приложении приводится фрагмент определений DTD для таблиц стилей XSLT 1.0, раздел С рекомендации W3C XSLT 1.0 по адресу www.w3.org/TR/xslt. Здесь для справки перечислены элементы XSLT 1.0 и их атрибуты.
Фрагмент DTD для таблиц стилей XSLT
ПРИМЕЧАНИЕ
Этот фрагмент DTD ненормативен, поскольку объявления DTD XML 1.0 не поддерживают пространства имен XML и, таким образом, не могут правильно описывать допустимую структуру таблицы стилей XSLT.
При помощи следующей сущности можно конструировать объявления для таблиц стилей XSLT, создающих экземпляры конкретного результирующего DTD. Перед тем как ссылаться на сущность, DTD таблицы стилей должно определить сущность параметра result-elements
, перечисляющую допустимые типы результирующих элементов. Например:
<!ENTITY % result-elements '
| fo:inline-sequence | fo:block
'>
Такие результирующие элементы должны быть объявлены с атрибутами xsl:use-attribute- sets
и xsl:extension-element-prefixes
. Следующая сущность объявляет для этих целей параметр result-element-atts
. XSLT допускает для результирующих элементов то же содержимое, что и для элементов XSLT, объявленных в следующей сущности с моделью содержимого %template;
. DTD может использовать более строгую модель содержимого, чем %template;
, для того чтобы отразить ограничения результирующего DTD.
DTD может определить сущность параметра non-xsl-top-level
, чтобы сделать допустимыми дополнительные элементы высокого уровня из пространств имен, отличных от пространства имен XSLT.
ПРИМЕЧАНИЕ И ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ ДЛЯ ДОКУМЕНТОВ W3C
Copyright © 1994-2000 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). Все права защищены. http://www.w3.org/Consortium/Legal/
Открытые документы на web-узле W3C защищены правами в соответствии с данной лицензией. На программное обеспечение или объявления типов документа (DTD, Document Type Definitions), использующие спецификации W3C, распространяется Примечание о программном обеспечении (Software Notice). Используя и/или копируя этот документ, или документ W3C, ссылающийся на данное утверждение, вы (сторона, обладающая лицензией) соглашаетесь, что вы прочитали, поняли и будете выполнять следующие положения и условия:
разрешается использовать, копировать и распространять содержимое этого документа, или документа W3C, ссылающегося на данное утверждение, любыми средствами для любых целей бесплатно и без каких-либо отчислений, при условии, что во ВСЕ используемые копии документа или его частей вы включите следующее:
URL или ссылку на исходный документ W3C;
существующее примечание об авторских правах первоначального автора, или, если оно отсутствует, примечание вида 'Copyright © [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights