【发布时间】:2026-01-30 23:00:01
【问题描述】:
我有一个静态的 xsl 国家/地区列表,我希望能够使用预选值调用这些国家/地区。为此,需要遍历每个节点并进行简单检查(最好同时将国家/地区自包含在同一文件中)。但是,执行
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:isoCountry="isoCountry:country">
<isoCountry:country>
<option value=""></option>
<option value="AU">Australia</option>
<option value="AD">Andorra</option>
<option value="AE">United Arab Emirates</option>
<option value="AF">Afghanistan</option>
<option value="AG">Antigua and Barbuda</option>
</isoCountry:country>
<xsl:template name="CountrySelect">
<select>
<option> <!-- correct number of nodes, good -->
<xsl:value-of select="count(document('')/*/isoCountry:menu/menu/*)"/>
</option>
<xsl:copy-of select="document('')/*/isoCountry:country/option"/> <!-- this works -->
<xsl:for-each select="document('')/*/isoCountry:country/option"> <!-- this does not -->
<option><xsl:value-of select="."/></option>
</xsl:for-each>
</select>
</xsl:template>
</xsl:stylesheet>
【问题讨论】:
-
我不确定您希望
for-each做什么。它输出包裹在option元素中的每个country/option的文本值。如果您想要option的副本,请使用<xsl:copy-of select="."/>。 -
嘿,谢谢你的回复,目的是做类似