, который показан на рис. 11.2. Вот как выглядит таблица XSL-FO, хотя существует
также весьма много других параметров — например, можно задать цвет заднего фона ячеек при помощи свойства
background-color
. По умолчанию в таких таблицах отсутствуют границы, но я добавил границу толщиной в 0,5 мм при помощи свойства
border-width
. Заметьте также, что для того, чтобы установить размер шрифта для текста в каждой ячейке, я использую блок внутри каждой ячейки таблицы:
<fo:table-cell border-width="0.5mm">
<fo:block font-size="18pt">Earth</fo:block>
</fo:table-cell>
Рис. 11.2. Таблица, отформатированная при помощи XSL-FO, в Adobe Acrobat Reader
Давайте рассмотрим различные элементы, нужные для создания таблицы, и начнем мы с большого элемента,
<fo:table>
.
Создание таблиц: <fo:table>
Как можно догадаться из названия, элемент
<fo:table>
применяется для создания новой таблицы. Сама таблица состоит из необязательного заголовка, необязательного подстрочного примечания и одного или более тел таблицы (table body). Таблица из ячеек, выровненная по строкам и столбцам, выводится в теле таблицы.
С элементом
<fo:table>
можно применять следующие свойства:
• общие свойства доступа:
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
начинается с
<fo:table>
:
<fo:table>
.
.
.
</fo:table>
Следующий шаг в создании таблицы — задать столбцы таблицы при помощи
<fo:table-column>
.
Создание столбцов таблицы: <fo:table-column>
Для каждого столбца в таблице нужно включить один элемент
<fo:table-column>
. Этот элемент позволяет задать характеристики ячеек в одном и том же столбце таблицы. Одно из самых важных свойств здесь — свойство
column-width
, определяющее ширину каждого столбца.
С элементом
<fo:table-column>
можно применять следующие свойства:
• общие свойства границ, заполнения и заднего фона:
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
;
•
column-number
;
•
column-width
;
•
number-columns-repeated
;
•
number-columns-spanned
;
•
visibility
.
В
tables.fo
я установил для каждого столбца одинаковую ширину, 30 мм: