我正在尝试对某些xml数据执行xslt转换为html。这个转换需要完成3个任务,它们是:
例如,我的数据片段如下所示:
<program id="brand_id_1">
<date>2011-10-25</date>
<some_info>This is some info</some_info>
</program>
<program id="brand_id_2">
<date>2011-10-22</date>
<some_info>This is some info</some_info>
</program>
<program id="brand_id_1">
<date>2011-10-27</date>
<some_info>This is some info</some_info>
</program>
我可以按日期订购,我可以确保只输出ID为brand_id_1的那些,但是一旦我完成了3次,我该如何停止输出?
任何帮助,非常感谢! 海伦
答案 0 :(得分:2)
排序然后检查位置,例如在以下示例中:
<xsl:for-each select="//program[@id = 'brand_id_1']">
<xsl:sort select="date" data-type="text"/>
<xsl:if test="position() < 4">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each>
答案 1 :(得分:0)
你可以使用模板和递归来有效地创建for循环,但是因为xslt实际上只是转换工具,所以如果你可以修改你的源xml那么
请在此处查看答案xsl recursive loop node by index