问题描述
我正在尝试使用XSLT将列表转换为不同的值列表。
输入:
<object name="obj1"/>
<object name="obj2"/>
<object name="obj1"/>
所需输出:
<object>obj1</object>
<object>obj2</object>
有人知道如何在XSLT 1.0或2.0中完成这项工作吗?
THX
推荐答案
使用XSLT2.0和
<xsl:for-each select="distinct-values(//object/@name)">
<object><xsl:value-of select="."/></object>
</xsl:for-each>
或
<xsl:for-each-group select="//object" group-by="@name">
<object><xsl:value-of select="current-grouping-key()"/></object>
</xsl:for-each-group>