Если бы вы могли использовать 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>