XSL块溢出继续在不同的块中

时间:2016-12-07 14:59:38

标签: xml xslt xsl-fo apache-fop

假设我有一个包含两个主要文本块的页面。一个在上半部分,一个在页面的下半部分。 上部块包含静态数据,下部包含显示为"子弹列表的动态数据"

现在的挑战是 - 如果项目符号列表的项目数超过了下一个区块的最大可用空间 - 我希望页面是"重复的"并且在第二页上继续列出,但也在下面的块中。 (上部块应包含与第一页相同的数据)

如果列表超出空间,则会更加完美,第二页将按照描述创建并填充,但最后一个要点仍然显示在下一页"并且第二页上的第一个说"从最后一页继续"。

xsl-t / xsl-fo可以吗?如何实现?

非常感谢,Heiko

1 个答案:

答案 0 :(得分:0)

如果上半部分始终相同并且具有已知高度,则可以将内容放在fo:static-content中,然后指向适当大小的fo:region-before。然后,您可以将列表内容放在fo:flow中,以便它最终位于fo:region-body区域。

您可以使用标记(https://www.w3.org/TR/xsl11/#fo_marker)执行“继续下一页”和“从上一页继续”。文本是否应该占据列表的一些空间,或者它是否出现在列表区域的下方/上方?

如果静态数据的上半部分的高度未得到修复,那么您可能需要将所有内容放入fo:table中,并使用fo:table-header中的静态数据。