Переполнение блока XSL fo продолжается в другом блоке
Допустим, у меня есть страница, которая содержит два основных блока текста. Один в верхней половине, один в нижней половине страницы. Верхний блок содержит статические данные, нижний - динамические данные, отображаемые в виде "списка маркеров".
Задача теперь заключается в том, чтобы - если количество элементов в списке маркеров превышает максимально доступное пространство для нижнего блока - я хочу, чтобы страница была "продублирована", и листинг продолжался на второй странице, но также и в нижнем блоке. (Верхний блок должен содержать те же данные, что и на первой странице)
Еще более совершенным было бы, если бы в случае, если список превышает пространство, вторая страница создается и заполняется, как описано, но также последний пункт маркировки говорит: "продолжение на следующей странице", а первый на второй странице говорит "продолжение с последней". страница".
Это возможно с xsl-t / xsl-fo? Как этого добиться?
Большое спасибо заранее, Хейко
1 ответ
Если верхняя половина всегда одинакова и имеет известную высоту, вы можете поместить содержимое в fo:static-content
что вы бы направили на подходящий размер fo:region-before
, Затем вы можете поместить содержимое списка в fo:flow
так что это заканчивается в fo:region-body
область, край.
Вероятно, вы можете выполнить "продолжение на следующей странице" и "продолжение с последней страницы" с помощью маркеров ( https://www.w3.org/TR/xsl11/). Должен ли текст занимать некоторое место в списке или он должен отображаться ниже / выше области списка?
Если высота вашей верхней половины статических данных не фиксирована, то вам, возможно, придется поместить все в fo:table
со статическими данными в fo:table-header
,