按照我的要求,我不能把它们分组。请帮我找到解决方案
注意: xslt 1.0
XML
<item_title>item1</item_title>
<item_title>item2</item_title>
<item_title>item3</item_title>
<item_description>description1</item_description>
<item_description>description2</item_description>
<item_description>description3</item_description>
需要输出:
<div class="item">
<div class="item_title">item1</div>
<div class="item_content">description1</div>
</div>
<div class="item">
<div class="item_title">item2</div>
<div class="item_content">description2</div>
</div>
<div class="item">
<div class="item_title">item3</div>
<div class="item_content">description3</div>
</div>
我尝试了什么:
<xsl:for-each select="item_title">
<div class="item">
<div class="item_title">
<xsl:value-of select="item_title[position()]"/>
</div>
<div class="item_content">
<xsl:value-of select="item_description[position()]"/>
</div>
</div>
</xsl:for-each>
答案 0 :(得分:0)
我找到了自己的方式,根据我的要求,我找到了更好的方法:
调用迭代函数:
<xsl:call-template name="iterative">
<xsl:with-param name="num" select="1" />
<xsl:with-param name="count" select="count(item_title)" />
</xsl:call-template>
宣布模板:
<xsl:template name="iterative">
<xsl:param name="num" />
<xsl:param name="count" />
<xsl:if test="not($num = $count+1)">
<div class="item">
<div class="item_title">
<span class="icon_plus">+</span>
<span class="icon_minus">–</span>
<xsl:value-of select="item_title[$num]"/>
</div>
<div class="item_content">
<xsl:value-of select="item_description[$num]"/>
</div>
</div>
<xsl:call-template name="iterative">
<xsl:with-param name="num" select="$num + 1" />
<xsl:with-param name="count" select="$count" />
</xsl:call-template>
</xsl:if>