XSL-FO:如何为每个页面重复xsl表?

时间:2015-09-19 11:04:01

标签: xml xslt xsl-fo

我之前通过在xsl-fo的AKA标题部分之前的区域中包含该表来完成它。然而,这引入了一个问题,即需要动态设置region-body的margin-top,因为表的高度不固定。

因此,我需要将它包含在region-body中。我发现了这方面的问题,但它们只是关于如何重复表格的标题。在我的情况下,我需要在每个页面重复整个表格。可能吗?如果是这样,我该怎么做?

EDIT 顺便说一下,我和Falan一起使用FOP

1 个答案:

答案 0 :(得分:1)

如果您使用的是Antenna House或FOP与Saxon 9.5,Xalan或DotNet 4.0 XSLT处理器,那么您可以使用Print和Page Layout Community Group @ W3C的XSLT扩展来在中间运行FO处理器您的XSLT转换。请参阅http://www.w3.org/community/ppl/wiki/XSLTExtensions

上的示例

您可以创建一个最小的FO文档来仅渲染表,然后在其上运行扩展函数以获取包含格式化表的区域树。最后,您可以根据格式化表格的高度调整fo:region-body的边距。

如果您没有可以运行扩展功能的XSLT处理器但是有一个可以产生区域树输出的FO处理器,您可以运行FO处理器一次以获取表的区域树,然后运行它是真实的,让XSLT转换使用先前生成的区域树XML来计算fo:region-body的表高和边距。

相关问题