带计数器的xsl-for循环

时间:2013-04-01 14:08:22

标签: loops xsl-fo

我正在使用xsl-fo和xml来生成报告。我有一个查询,从表中获取值以放在pdf上。很容易。我根据亲子关系查询。例如,pdf显示两个部分:职位名称及其职责。起初这是一对一的关系。现在它转向了一对多的关系。因此,我需要一种在带有职称的pdf上显示的方式,然后是责任A,然后是责任2,依此类推。职责部分有一个Mod_Num(1,2,3 ......)。所以我想知道是否有任何方法可以在xsl-fo中循环以获取特定职位的所有责任。我在考虑在查询中使用where子句来提取正确的信息

Where Mod_Num = 'xsl-counter'

那样的东西

希望我的例子不是太粗略。不过,任何帮助都会非常感激。感谢

1 个答案:

答案 0 :(得分:0)

我不知道你是否可以只使用XSL-FO来做到这一点。如果它也使用FTL(如moqui或ofbiz),你可以这样做:

您可以使用< #assign x = 0 />设置变量。

然后使用< #list职责作为r>

在< #list>中,您可以执行< #assign x = x + 1 /&gt ;.

在< #list>内,您可以使用< #if&gt ;. 如下所示:

<#assign x = 0/>
<#list responsibilities as r>
    <#if x == 0>
        <fo:block>Responsibility 1: ${r.text}</fo:block>
    <#elseif x == 1>
        <fo:block>Responsibility 1: ${r.text}</fo:block>
    </#if>
    <#assign x = x+1/>
</#list>

我知道这可能不是你正在做的事情,但如果没有得到更多细节,很难知道。希望它会帮助你。