xslt for-each apply-templates麻烦

时间:2010-11-11 00:27:13

标签: xml xslt

<xsl:for-each select="c:richBody">
        <xsl:if test="position()=1">
          <div style="height:50px;" />
        </xsl:if>
        <xsl:apply-templates />
</xsl:for-each>

我上面有代码模糊,需要在第一个c:richBody元素和第二个c:richBody之间做一些事情。它看起来像是在应用模板时,它只是遍历所有这些,然后下载文档。凭借我上面的高度,50 div被放置在所有apply-templates之上。

有没有办法在应用apply-templates的项目之间做些什么?

2 个答案:

答案 0 :(得分:0)

我相信你的问题是你正在思考“C”,其中第一项有position()= 0;第二个是position()= 1 ...

然而,对于XSLT,你必须像一个理智的人一样思考。第一项有position()= 1.要在第二项之前插入div,测试应该是test =“position()= 2”

答案 1 :(得分:0)

作为猜测,我想说你想要

<xsl:if test="position()>1">

会在所有c:richBody标记之间为您提供div。