鉴于此 xml 示例文档:
<?xml version="1.0"?>
<Brown1>
<Transaction>
<Acct_Id>7801177</Acct_Id>
<Acct_Nm>Name1</Acct_Nm>
<Trans_Num>116902</Trans_Num>
<Trans_Desc>Buy</Trans_Desc>
<Trans_Result>Closed</Trans_Result>
</Transaction>
<Transaction>
<Acct_Id>7801177</Acct_Id>
<Acct_Nm>Name1</Acct_Nm>
<Trans_Num>116903</Trans_Num>
<Trans_Desc>Sell</Trans_Desc>
<Trans_Result>Closed</Trans_Result>
</Transaction>
<Transaction>
<Acct_Id>7801177</Acct_Id>
<Acct_Nm>Name1</Acct_Nm>
<Trans_Num>116904</Trans_Num>
<Trans_Desc>Buy</Trans_Desc>
<Trans_Result>Open</Trans_Result>
</Transaction>
<Transaction>
<Acct_Id>8692031</Acct_Id>
<Acct_Nm>Name2</Acct_Nm>
<Trans_Num>116932</Trans_Num>
<Trans_Desc>Buy</Trans_Desc>
<Trans_Result>Open</Trans_Result>
</Transaction>
<Transaction>
<Acct_Id>8692031</Acct_Id>
<Acct_Nm>Name2</Acct_Nm>
<Trans_Num>116999</Trans_Num>
<Trans_Desc>Sell</Trans_Desc>
<Trans_Result>Closed</Trans_Result>
</Transaction>
</Brown1>
我想出来的是这个
7801177 Name1
116902 Buy Closed
116903 Sell Closed
116904 Buy Open
8692031 Name2
116932 Buy Open
116999 Sell Closed
基本上只打印一次帐户和名称
设置模板有点像这样:
<xsl:template name="header">
<xsl:value-of select="Acct_Id"/>
<xsl:value-of select="Acct_Nm"/>
<xsl:call-template name="report_data">
</xsl:template>
<xsl:template name="report_data">
<xsl:for-each select=".">
<xsl:value-of select="Trans_Num"/>
<xsl:value-of select="Trans_Desc"/>
<xsl:value-of select="Trans_Result"/>
</xsl:for-each>
</xsl:template>
这产生Acct_Id
&Acct_Nm
每次。如果下一个节点处理时它们相同,我该如何排除它们?
我假设在标题模板中,但我一直无法得到解决方案。
这似乎是一件简单的事情?...
我可以将其保存Acct_Id
在标题模板中并将其与下一个进行比较并且Acct_Id
仅在不同时打印?