Стивен Холзнер - XSLT
- Название:XSLT
- Автор:
- Жанр:
- Издательство:Питер
- Год:2002
- Город:Санкт-Петербург
- ISBN:5-94723-271-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Холзнер - XSLT краткое содержание
Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.
Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.
Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике
XSLT - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
.
.
.
.
.
.
line-height="48pt" font-family="Times" font-style="italiс">
Planet:
Mass
:
[Earth = 1]
.
.
.
Вот и все. Вы создали свое первое преобразование из XML в XSL-FO, преобразовав planets.xml
в planets.fo
. Процессор fop создаст из planets.fo
файл planets.pdf
, и вы можете вернуться к рис. 11.1 и посмотреть на результат.
Это преобразование форматировало данные в planets.xml
и отображало их в блоках, одно за другим. С другой стороны, в предыдущих главах мы видели данные планет в виде таблицы. Можно ли это сделать в XSL-FO? Никаких проблем.
Создание таблиц
Таблица — одна из самых полезных структур, которые можно форматировать при помощи XSL-FO. Таблица в XSL-FO во многом похожа на таблицу в HTML: это прямоугольная сетка, состоящая из строк и столбцов ячеек. Для создания таблиц можно применять девять форматирующих элементов.
• ;
• ;
• ;
• ;
• ;
• ;
• ;
• ;
• .
Создание таблиц в XSL-FO аналогично их созданию в HTML. Вы создаете элемент , содержащий всю таблицу целиком, затем форматируете каждый столбец при помощи элемента . После чего вы создаете элемент , чтобы задать тело таблицы. Элемент содержит все элементы , каждый из которых создает строку таблицы. Каждый элемент содержит элементы , в которых содержатся данные ячеек таблицы.
Следующий пример (листинг 11.4) демонстрирует работу с этими элементами. Приведенная таблица стилей XSLT преобразует planets.xml
в документ XSL-FO, форматирующий данные планет в таблицу XSL-FO.
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"/>
Name
Mass
Day
Radius
Density
Distance
Вот результат после преобразования в документ XSL-FO (листинг 11.5).
margin-bottom="10mm" margin-top="10mm" page-width="300mm"
page-height="400mm" master-name="page">
margin-bottom="10mm" margin-top="0mm"/>
Name
Mass
Day
Radius
Density
Distance
Mercury
.0553
58.65
1516
.983:block>
43.4:block>
Venus
.815:block>
116.75
3716
.943
66.8:block>
Earth:block>
1
1:block>
2107:block>
1
128.4:block>
После обработки этого документа, tables.fo
, процессором fop будет создан файл tables.pdf
, который показан на рис. 11.2. Вот как выглядит таблица XSL-FO, хотя существует также весьма много других параметров — например, можно задать цвет заднего фона ячеек при помощи свойства background-color
. По умолчанию в таких таблицах отсутствуют границы, но я добавил границу толщиной в 0,5 мм при помощи свойства border-width
. Заметьте также, что для того, чтобы установить размер шрифта для текста в каждой ячейке, я использую блок внутри каждой ячейки таблицы:
Earth

Рис. 11.2.Таблица, отформатированная при помощи XSL-FO, в Adobe Acrobat Reader
Давайте рассмотрим различные элементы, нужные для создания таблицы, и начнем мы с большого элемента, .
Создание таблиц:
Как можно догадаться из названия, элемент применяется для создания новой таблицы. Сама таблица состоит из необязательного заголовка, необязательного подстрочного примечания и одного или более тел таблицы (table body). Таблица из ячеек, выровненная по строкам и столбцам, выводится в теле таблицы.
С элементом можно применять следующие свойства:
• общие свойства доступа: source-document
, role
;
• общие звуковые свойства: azimuth
, cue-after
, cue-before
, elevation
, pause-after
, pause-before
, pitch
, pitch-range
, play-during
, richness
, speak
, speak-header
, speak-numeral
, speak-punctuation
, speech-rate
, stress
, voice-family
, volume
;
• общие свойства границ (border), заполнения (padding) и заднего фона (background): 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
;
• block-progression-dimension
;
• border-collapse
;
• border-separation
;
• break-after
;
• break-before
;
• id
;
• inline-progression-dimension
;
• height
;
• keep-together
;
• keep-with-next
;
• keep-with-previous
;
• relative-position
;
• table-layout
;
• table-omit-footer-at-break
;
• table-omit-header-at-break
;
• width
;
• writing-mode
;
Как видно из листинга 11.5, таблица tables.fo
начинается с :
.
.
.
Следующий шаг в создании таблицы — задать столбцы таблицы при помощи .
Создание столбцов таблицы:
Для каждого столбца в таблице нужно включить один элемент . Этот элемент позволяет задать характеристики ячеек в одном и том же столбце таблицы. Одно из самых важных свойств здесь — свойство column-width
, определяющее ширину каждого столбца.
С элементом можно применять следующие свойства:
• общие свойства границ, заполнения и заднего фона: 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
;
Интервал:
Закладка: