1 回答
TA贡献1875条经验 获得超5个赞
如果可以使用XSLT 2.0,则可以使用distinct-values和编写xsl:for-each类似的代码
<select id="modelRangeDropdown" onchange="filterReports()">
<option selected="selected">All</option>
<xsl:for-each select="distinct-values(logstore/plane/Name)">
<option value="{.}">
<xsl:value-of select="." />
</option>
</xsl:for-each>
</select>
另一方面,如果限于XSLT 1.0,则需要使用一种称为Muenchian Grouping的技术。您将这样定义一个键:
<xsl:key name="planes" match="plane/Name" use="." />
然后,要获得不同的值,您可以这样做.....
<select id="modelRangeDropdown" onchange="filterReports()">
<option selected="selected">All</option>
<xsl:for-each select="logstore/plane/Name[generate-id() = generate-id(key('planes', .)[1])]">
<option value="{.}">
<xsl:value-of select="." />
</option>
</xsl:for-each>
</select>
添加回答
举报