具有不匹配选择的参数的值是多少?

时间:2015-09-29 16:39:19

标签: xml xslt xslt-1.0

例如,使用以下XML调用以下XSL,'param'的值是什么?

问题是我需要测试不匹配的属性,而且它显然不是空字符串。

<el></el><!-- has no attribute 'attr' to match -->

<xsl:template match="*">
   <xsl:call-template name="template">
        <xsl:with-param name="param" select="@attr" />
    </xsl:call-template>
</xsl:template>

 <xsl:template name="template">
    <xsl:param name="param" />
    <xsl:value-of select="$param" />
</xsl:template>

1 个答案:

答案 0 :(得分:2)

该值将是空节点集

您可以查看规范here

本段末尾有一条说明也提供了线索:

  

注意:将空节点集指定为参数的默认值的一种便捷方法是:   <xsl:param name="x" select="/.."/>

由于根节点没有父节点,因此总是会返回一个空节点。