我在模板中有这一行:
<xsl:for-each select="//img/@src[not(@ = preceding::@)]">
生成图片文件名列表:
<img src="mypic1.jpg"/>
现在我需要从图片列表中过滤重复的图片。
<xsl:for-each select="//img[not(node() = preceding::img)]">
不起作用,因为它适用于整个图像节点。 如何更改行以使用src属性? 所以问题在于问题的最后一部分。
答案 0 :(得分:3)
您可以使用distinct-values(//img/@src)
,例如
<xsl:for-each select="distinct-values(//img/@src)">
<li><xsl:value-of select="."/></li>
<xsl:for-each>
或者,您可以使用for-each-group
<xsl:for-each-group select="//img" group-by="@src">
<li><xsl:value-of select="@src"/></li>
<xsl:for-each-group>