<fo:block start-indent="5mm">
<xsl:for-each select="//policyResult[not(AgentNumber=preceding-sibling::policyResult/AgentNumber)]" >
<xsl:variable name="agentNum"><xsl:value-of select="AgentNumber"></xsl:value-of>
</xsl:variable>
<xsl:for-each select="//policyResult[AgentNumber=$agentNum]">
<xsl:sort select="agentnumber"/>
<xsl:sort select="policynumber"/>
<fo:table border-style="" width="100%" border-spacing="4">
<fo:table-body>
<fo:table-row border-before-style="solid">
<fo:table-cell>
<fo:block>
<fo:inline>Pol Number</fo:inline><xsl:value-of select="PolicyNumber"/>
</fo:block>
</fo:table-cell>
</fo:table-body>
</fo:table>
我写了一些这样的代码来过滤重复的节点。这里我的问题是我必须按升序排序。xml 看起来像这样
<policyResult xmlns="" xmlns:ns2="http://ws.faithlife.com/resonant">
<producttype>risk</producttype> <PolicyNumber>003050669</PolicyNumber>
<AgentNumber>005262</AgentNumber>
<AnnualPremium>12000.0</AnnualPremium>
</policyResult>
<policyResult xmlns="" xmlns:ns2="http://ws.faithlife.com/resonant">
<producttype>wealth</producttype>
<PolicyNumber>003050669</PolicyNumber>
<AgentNumber>005282</AgentNumber>
<AnnualPremium>12000.0</AnnualPremium>
</policyResult>
<policyResult xmlns="" xmlns:ns2="http://ws.faithlife.com/resonant">
<producttype>risk</producttype>
<PolicyNumber>003050670</PolicyNumber>
<AgentNumber>005262</AgentNumber>
<AnnualPremium>12000.0</AnnualPremium>
</policyResult>
<policyResult xmlns="" xmlns:ns2="http://ws.faithlife.com/resonant">
<producttype>wealth</producttype>
<PolicyNumber>003050671</PolicyNumber>
<AgentNumber>005263</AgentNumber>
<AnnualPremium>12000.0</AnnualPremium>
</policyResult>
<policyResult xmlns="" xmlns:ns2="http://ws.faithlife.com/resonant">
<producttype>wealth</producttype>
<PolicyNumber>003050668</PolicyNumber>
<AgentNumber>005265</AgentNumber>
<AnnualPremium>12000.0</AnnualPremium>
</policyResult>
<policyResult xmlns="" xmlns:ns2="http://ws.faithlife.com/resonant">
<producttype>wealth</producttype>
<PolicyNumber>003050668</PolicyNumber>
<AgentNumber>005265</AgentNumber>
<AnnualPremium>12000.0</AnnualPremium>
</policyResult>
我要做的是按升序过滤 AgentNumber ,AnnualPremium。并且需要将每个代理的年费和所有年费的总和相加。
输出应该是这样的。如果代理编号重复,我们只需按升序显示一次
产品类型风险
代理编号 005266
保单号 003050669 年保费 12000
保单号 003050671 年保费 12000
年度总保费--该代理人的保费总和即24000
代理编号 005267
保单号 0001234 年保费 11000
保单编号 0001235 年度保费 11000 年度总保费 -- 该代理人的保费总和即 22000
产品类型财富
代理编号 005266
保单号 003050669 年保费 12000
保单号 003050671 年保费 12000
年度总保费--该代理人的保费总和即24000
代理编号 005267
保单号 0001234 年保费 11000
保单编号 0001235 年度保费 11000 年度总保费 -- 该代理人的保费总和即 22000
最后,我们需要显示所有代理商的整体年度保费
总保费---24000+22000=46000
请帮帮我..提前谢谢
需要这种输出..