我想检查一个键是否有值,如果为空则指定一个默认值。
<xsl:element name="xtc">
<xsl:choose name="type">
<xsl:when test="type!= ''"/>
<xsl:value-of select="value"/>
</xsl:when>
<xsl:otherwise>
NULL
</xsl:otherwise>
</xsl:choose>
</xsl:element>
对我来说不是真的有用,有人可以建议可能失败的东西。
更新 经过一番挖掘,我很确定我的代码应该正常工作,但事实并非如此。
<xsl:for-each select="webservice/parameters/parameter">
<xsl:element name="{key}">
<xsl:choose>
<xsl:when test="{key} = ''">
<xsl:text>NULL</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="value"/>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:for-each>
但是我的应用程序出错了,
令牌“{key}”出乎意料。 expression ='{key} ='''剩余的令牌是:('{key}''=''''')A 解析样式表时发生故障。
答案 0 :(得分:2)
您需要替换此...
<xsl:when test="{key} = ''">
有了......
<xsl:when test="key = ''">
属性值模板不适用于此处,因为test
已经需要表达式。