0

我的 XSL for-each 有点问题,我找不到解决方案(是的,我知道 GIYF,我也没有帮助)。那就是问题所在。我有这个代码

 <select class="gr">
    <xsl:attribute name="style">position:relative; width:350px;</xsl:attribute>
    <xsl:attribute name="name">organoDestinatario</xsl:attribute>
    <xsl:attribute name="id">organoDestinatario</xsl:attribute>
    <option value=""></option>
    <xsl:for-each select="$lang.options/option">
        <xsl:variable name="lang.temp" select="value"/>
        <option value="$lang.temp"><xsl:value-of select="text"/></option>
    </xsl:for-each>
 </select>

这似乎是正确的,但是当我查看选项变量值时,我看到的是 $lang.temp,所以它不是捕获 $lang.temp 的值,而是变量的名称。奇怪的是“文本”正在工作,如果我将其更改为“价值”,它会工作并显示价值。所以我确信一切都是“充满”的。

关于它有什么建议吗?我真的不知道这里发生了什么。任何帮助将不胜感激。

4

1 回答 1

1

您需要使用属性值模板

<option value="{$lang.temp}">

或者干脆完全放弃变量并说

<option value="{value}">

您想要解释为 XPath 表达式的文字属性值的任何部分都需要用大括号括起来。任何不在大括号中的内容都会按字面意思呈现。

于 2013-07-31T12:46:32.760 回答