例如,使用以下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>
答案 0 :(得分:2)
该值将是空节点集。
您可以查看规范here。
本段末尾有一条说明也提供了线索:
注意:将空节点集指定为参数的默认值的一种便捷方法是:
<xsl:param name="x" select="/.."/>
由于根节点没有父节点,因此总是会返回一个空节点。