2013-04-01 61 views
0

环路我使用XSL-FO和XML生成报表。我有一个查询从表格中获取值放在pdf上。很简单。我基于亲子关系进行查询。例如,pdf显示两个部分:职位名称及其职责。起初这是一对一的关系。现在它变成了一对多的关系。所以我需要一种显示PDF格式的方式,其中包含职位名称,然后是职责A,然后是职责2,依此类推。职责部分有一个Mod_Num(1,2,3 ...)。所以我想知道是否有任何方法可以通过xsl-fo来获取特定职位的所有责任人。我想在查询中使用WHERE子句将正确的信息XSL-FO与反

Where Mod_Num = 'xsl-counter' 

类似的东西

的希望我的例子不是过于简略。任何帮助将不胜感激,但。由于

+0

我会说,你的例子过于简略。 XML输入是什么样的?预期产出到底是什么? – mzjn

+0

xml输入是xml标记。输出是pdf报告。我想我的主要问题是如果有一种方法在xsl中使用计数器来循环记录fo – user1898629

+0

恐怕还是太粗略了。你说你正在使用XSL-FO。你如何生成XSL-FO标记?你指的是什么“xml标签”? – mzjn

回答

0

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

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

然后用< #list责任为r>

在< #list>,可以做一个< #assign X = X + 1 />。

就在< #list内部>,你可以使用一个<#如果>。 因此,像:

<#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> 

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