Xml 如何在XSLT中检查参数值是否为null

Xml 如何在XSLT中检查参数值是否为null,xml,xslt,Xml,Xslt,我想对XML进行检查并执行一些转换。下面是我使用的代码片段 <xsl:param name="code" /> <xsl:if test="$code != ''"> <xsl:template match="partner/configuration/flags"> <value><xsl:value-of select="$code"/></value> </xsl:template> <

我想对XML进行检查并执行一些转换。下面是我使用的代码片段

<xsl:param name="code" />

<xsl:if test="$code != ''">
<xsl:template match="partner/configuration/flags">
    <value><xsl:value-of select="$code"/></value>
</xsl:template>
  </xsl:if>

正在尝试使用“!=”进行条件检查没有给出预期的结果。有人能帮你解决这个错误吗?

首先,你的代码毫无意义,因为你不能把xsl:template放在xsl:if里面

其次,XSLT/XPath数据模型中没有空值。你需要更清楚地解释你想测试什么。返回空节点集的表达式?没有子元素的元素节点?字符串值为零长度字符串的节点?在这种情况下,精度至关重要


第三,如果你打算使用你需要确切地理解它的意思。如果A是一个节点集,或在2.0中是一个序列,则A!=如果在中存在值不是零长度字符串的节点,则返回true。如果是空集,则表达式返回false。大多数情况下,您可能需要notA=而不是!=-它们的意思不同。

在xsl:if中嵌套xsl:template是无效的。为了给出更详细的答案,您可能需要解释您试图解决的问题,即显示您的输入XML和您期望的输出。谢谢。我的要求是,我必须更新节点,前提是参数代码不为空。