С элементом можно применять следующие свойства:
• общие свойства доступа: 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
;
• общие свойства границ, заполнения и заднего фона: 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
;
• block-progression-dimension
;
• column-number
;
• display-align
;
• relative-align
;
• empty-cells
;
• ends-row
;
• height
;
• id
;
• number-columns-spanned
;
• number-rows-spanned
;
• relative-position
;
• starts-row
;
• width
.
В tables.fo
я поместил в ячейки таблицы и подписи к каждому столбцу, и данные таблицы следующим образом:
Name
Mass
Day
Radius
Density
Distance
Mercury
.0553
:block>
58.65
:block>
1516
.983
:block>
43.4
.
.
.
Теперь все готово — результат показан на рис. 11.2, где вы можете увидеть полностью отформатированную таблицу, созданную процессором fop. Теперь вы знаете, как создавать таблицы при помощи форматирующих объектов XSL.
Безусловно, можно еще много сказать о XSL-FO. В следующей главе мы рассмотрим работу со списками, размещение, колонки, последовательности страниц и другие элементы.
Глава 12
Документы XSL-FO
В этой главе мы продолжим работу с XSL-FO. Здесь мы рассмотрим работу со списками, рисунками и колонками, размещение текста, создание многостраничных последовательностей и другое. По прочтении этой главы вы усвоите основы работы с XSL-FO — по крайней мере, с той частью, которая реализована в современном программном обеспечении. Я начну главу со списков XSL-FO.
Как мы видели в главе 11, таблицы XSL-FO работают во многом так же, как в HTML, и это в той же мере относится к спискам. Как и в HTML, список XSL выводит вертикальный список элементов. Для создания списков служат четыре элемента XSL-FO:
• ;
• ;
• ;
• .
Весь список заключается в элемент , и каждый элемент списка — в элемент . Для создания подписи к элементу списка служит элемент , а для вставки данных в каждый элемент списка — элемент .
Пример lists.xsl
(листинг 12.1) преобразует planets.xml
в список формата XSL-FO, в котором каждый элемент списка отображает название планеты.
Листинг 12.1. lists.xsl
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
page-width="300mm" margin-top="10mm" margin-bottom="10mm"
margin-left="20mm" margin-right="20mm">
margin-left="0mm" margin-right="0mm"/>
The Planets Table
provisional-label-separation="5mm">
.
Вот результирующий документ XSL-FO, lists.fo
(листинг 12.2).
Листинг 12.2. lists.fo
margin-bottom="10mm" margin-top="10mm" page-width="300mm"
page-height="400mm" master-name="page">
margin-bottom="10mm" margin-top="0mm"/>
The Planets Table
provisional-distance-between-starts="15mm">
1.
Mercury
2.
Venus
3.
Earth
Результирующий файл PDF со списком в Adobe Acrobat Reader показан на рис. 12.1.
Рис. 12.1.Список, отформатированный при помощи XSL-FO, в Adobe Acrobat Reader
Давайте теперь подробнее рассмотрим, как работает lists.fo
, и изучим форматирующие объекты для списка.
Для начала воспользуйтесь элементом , чтобы создать список XSL-FO; этот объект содержит элементы , содержащие данные списка.
Читать дальше