Стивен Холзнер - XSLT
- Название:XSLT
- Автор:
- Жанр:
- Издательство:Питер
- Год:2002
- Город:Санкт-Петербург
- ISBN:5-94723-271-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Холзнер - XSLT краткое содержание
Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.
Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.
Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике
XSLT - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Создание корня документа:
Первый форматирующий документ, который мы рассмотрим, — это , узел документа любого документа XSL-FO.
Детьми форматирующего объекта являются единственный форматирующий объект и последовательность из одного или нескольких элементов . Форматирующий объект содержит все используемые в документе шаблоны, при помощи которых вы управляете созданием каждой страницы. Каждый объект представляет собой последовательность страниц, отформатированных нужных вам способом. Например, каждая глава в книге может быть сформирована из своей собственной последовательности страниц, и каждой последовательности страниц вы можете задать одни и те же верхний и нижний колонтитулы: «Глава 5: Незнакомец появляется снова».
На первом шаге в таблице стилей XSLT, преобразующей planets.xml
, я выбираю узел документа и заменяю его на элемент , объявляющий префикс пространства имен « fo
»:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
.
.
.
Элемент может содержать и схемы шаблонов, и последовательности страниц. Сначала я опишу объект .
Создание схемы набора шаблонов:
Шаблоны (master) могут быть определены для страниц, последовательностей страниц и областей. Элемент содержит все используемые в документе шаблоны, включая шаблоны последовательностей (sequence master), страниц (page master) и областей (region master).
Шаблоны страниц формируют отдельные страницы, шаблоны последовательностей страниц — последовательности страниц; шаблоны областей позволяют форматировать определенные области страницы. В следующем примере я создам единственный шаблон при помощи .
Шаблоны, которые вы хотите применить в документе, должны быть перечислены в элементе , поэтому теперь я добавляю его в planets.xsl
:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
.
.
.
.
.
.
Этот элемент содержит шаблон страницы, как определено в элементе .
Создание шаблона страницы:
Как можно догадаться из названия, шаблон страницы (page master) применяется для создания страницы. Шаблон страницы задает фактическую схему и конфигурацию страницы. Каждому шаблону страницы должно быть задано уникальное имя, к которому и нужно обращаться при работе с шаблоном.
В настоящей спецификации XSL существует единственный вид шаблона страницы, , и здесь я буду применять этот элемент для форматирования страниц. С объектом < fo:simple-page-master>
можно использовать следующие свойства XSL-FO (их описание приведено в Приложении Б):
• общие свойства полей для блоков: margin-top
, margin-bottom
, margin-left
, margin-right
, space-before
, space-after
, start-indent
, end-indent
;
• master-name
;
• page-height
;
• page-width
;
• reference-orientation
;
• writing-mode
.
В таблице стилей XSLT, которую я применил к planets.xml
, я задал простому шаблону страницы имя «page» при помощи свойства master-name
. После этого шаблон стал именованным, и когда мне нужно создать страницы по этому шаблону, я обращаюсь к нему по этому имени. Я также задаю размеры и поля страницы при помощи свойств страницы и полей следующим образом:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
page-height="400mm" page-width="300mm"
margin-top="10mm" margin-bottom="10mm"
margin-left="20mm" margin-right="20mm">
.
.
.
В дополнение к заданию схемы расположения полей страницы, у есть дети, определяющие одну или несколько областей страницы, что позволяет точно настроить схему расположения.
Создание областей
В версии 1.0 спецификации XSL у шаблонов страниц имелось пять областей (region). Центральная область, соответствующая основной части, телу страницы, называется областью тела (body region). Верхняя часть страницы, верхний колонтитул (header), называется передней областью (before region); нижняя часть страницы, нижний колонтитул (footer), называется задней областью (after region). В языках, которые читаются слева направо, как английский язык, левая часть страницы называется начальной областью (start region), а правая часть называется конечной областью (end region). В языках, которые читаются справа налево, начальная и конечная области меняются местами. Начальная и конечная области аналогичны боковым полям, расположенным по бокам области тела.
Этим областям соответствуют следующие элементы XSL-FO:
• ;
• ;
• ;
• ;
• .
С ними можно применять следующие свойства:
• общие свойства границ, заполнения и заднего фона: background-attachment
, background-color
, background-image
, background-repeat
, background-position-horizontal
, background-position-vertical
, border-before-color
, border-before-style
, border-before-width
, border-after-color
, border-after-style
, border-after-width
, border-start-color
, border-start-style
, border-start-width
, border-end-color
, border-end-style
, border-end-width
, border-top-color
, border-top-style
, border-top-width
, border-bottom-color
, border-bottom-style
, border-bottom-width
, border-left-color
, border-left-style
, border-left-width
, border-right-color
, border-right-style
, border-right-width
, padding-before
, padding-after
, padding-start
, padding-end
, padding-top
, padding-bottom
, padding-left
, padding-right
;
• общие свойства полей для блоков: margin-top
, margin-bottom
, margin-left
, margin-right
, space-before
, space-after
, start-indent
, end-indent
;
• clip
;
• column-count
;
• column-gap
;
• display-align
;
• extent
;
• overflow
;
• region-name
;
• reference-orientation
;
• writing-mode
.
Области страницы можно настраивать по вашему желанию, как в таблице стилей XSLT, в которой я задал поля для области тела. Четыре внешних области (но не область тела) имеют свойство extent
, задающее их размер, которым я здесь воспользуюсь:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
page-height="400mm" page-width="300mm"
margin-top="10mm" margin-bottom="10mm"
margin-left="20mm" margin-right="20mm">
margin-left="0mm" margin-right="0mm"/>
.
.
.
Это завершает используемый в документе шаблон, простой шаблон страницы «page», почему здесь также завершается и элемент .
В дополнение к элементу , документ с форматирующими объектами, как правило, также содержит один или несколько элементов , задающих последовательности страниц, создаваемых по определенному в шаблону, и я добавил в документ последовательность страниц.
Читать дальшеИнтервал:
Закладка: