Мне нужно создать блок таблицы в XSL: FO, который должен быть разделен вертикально на три части, то есть 15% верхнюю часть, 70% среднюю часть и 15% нижнюю часть. Я новичок в XSL.Создание таблицы в XSL: FO с верхними и нижними полосками
0
A
ответ
1
Вы можете установить высоту строки таблицы с атрибутом height
.
Например, таблица с тремя строками и одним столбцом; первая строка имеет высоту 15 мм, вторая составляет 70 мм, а третий имеет высоту 15 мм (я добавил фоновый цвет, так что высота строки отчетливо видна на выходе):
<fo:table table-layout="fixed" width="100%">
<fo:table-column column-width="100%"/>
<fo:table-body>
<fo:table-row height="15mm" background-color="#AAFFFF">
<fo:table-cell>
<fo:block>cell 1</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row height="70mm" background-color="#FFAAFF">
<fo:table-cell>
<fo:block>cell 2</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row height="15mm" background-color="#FFFFAA">
<fo:table-cell>
<fo:block>cell 3</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
Примечание что если запрашиваемая высота строки недостаточна для размещения ее содержимого, то форматировщик может вместо этого использовать высоту содержимого (, по крайней мере, это то, как FOP ведет себя); другими словами, установка высоты строки позволяет иметь более высокие строки, чем они были бы в соответствии с их содержимым, но не короче строк.
Я создал блок, но он содержит только боковую полосу. – ankur777