Подделка таблицы с использованием fo:block
для строк таблицы и fo:inline-container
(с фиксированной шириной) для каждой ячейки таблицы.
У вас могут возникнуть проблемы с получением «ячеек» одинаковой высоты, но то, что вы хотите сделать, находится вне области действия fo:table
.
В качестве альтернативы, если вы точно знаете, где должна разбиваться таблица, вы можете опустить fo:table-row
и использовать starts-row
и ends-row
свойства fo:table-cell
, чтобы вызвать ваши разрывы.
Поскольку вы используете XSLT 1.0 и знаете ширину ячеек таблицы, вы можете использовать мюнхенскую группировку (https://stackoverflow.com/search?q=muenchian) длясгруппируйте соответствующее количество ячеек в строке. (Это было бы на намного проще, если бы вы использовали XSLT 2.0 или XSLT 3.0 и могли использовать xsl:for-each-group
.)
Кроме того, есть несколько ответов SOвопросы об обтекании текста в ячейках таблицы, в том числе:
(Перенос текста также будет симpler, если вы использовали XSLT 2.0 или XSLT 3.0 (или AH Formatter, FWIW).См. Например, https://stackoverflow.com/a/33689540/4092205.)