XSL if else语句
问题描述:
我想检查一个键是否有值,如果是空来分配默认值。XSL if else语句
<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>
但我的应用程序抛出一个错误,
令牌 '{}键' 是出乎意料的。 expression ='{key} ='''剩余的标记是:('{key}''=''''')解析样式表时发生故障。
答
您需要更换这个...
<xsl:when test="{key} = ''">
有了这个...
<xsl:when test="key = ''">
属性值模板在这里不适用,因为test
已经预期的表现。
谢谢,这停止了解析错误。 –
@ J.D但是如果测试结果为true,那么当您尝试创建''时,您的样式表会失败。 –
@ michael.hor257k为什么是=/ –