如何将XML表示为HTML中的表单页面,使用XSLT进行转换?

时间:2017-02-19 18:54:58

标签: html xml xslt xslt-1.0

我需要使用XSLT 1.0将XML文件转换为HTML。输出的结构应该像表格的页面一样呈现。根据XML文件中的内容量,可能需要多个页面。表单的页眉和页脚在每个页面上都是相同的。

中间部分包含一个表格,其中包含从XML中提取的数据。此部分最多可包含15行。如果需要更多,则添加新页面。此外,入口行的大小可能是常规行的两倍(如果内容足够大以至于需要它)。这意味着,如果写入14行而下一行是双倍大小的行,则需要启动新页面。通过简单地计算内容的字符来检查条目是否需要两行。如果传递了某个数字,则会创建一个双行。这也有效。

我的问题是,当我需要时,如何开始一个新页面(可以简单地以添加页脚和标题的形式完成)?创建页眉,页脚或内容表不是问题,也不是从XML访问数据。

我的第一个想法是在for-each中计算一个计数器变量(在XML中的所有内容条目上)并在每次添加行之前确定是否需要页面,但是假设变量不能真正增加在XSL中,我认为这是一个死胡同。

我的第二个想法是,我可以计算前面的内容条目数,从而在构建页面之前确定需要多少个。然而,在这里我遇到了类似的问题:虽然我可以简单地计算所有出现的情况,但我不知道如何考虑这样一个事实,即有时我需要为一个条目计算两行。

可悲的是,我现在几乎被困在这里。到目前为止,我有没有忽略过的东西?

如果需要,我当然可以发布代码区域,但目前我不知道哪些区段是相关的。如果需要,我当然会添加任何有用的代码区域。

0 个答案:

没有答案