XSLT 2.0允许强制空参数为某种数据类型。 XSLT 1.0没有。 (对吧?)但我需要强制一个空参数作为一个节点集,这样我以后就可以添加节点了。
传递节点集的第0个节点似乎有效:
<xsl:with-param name="topofstack" select="$nodesetB[0]" />
但它合法吗?保证工作?是否有一种“正确”的方法可以将空参数强制为XSLT 1.0中的节点集?
答案 0 :(得分:2)
我需要强制一个空参数作为一个节点集,这样我就可以 稍后再添加节点。
传递节点集的第0个节点似乎有效:
<xsl:with-param name="topofstack" select="$nodesetB[0]" />
我使用更短的:
/..
答案 1 :(得分:0)
以便我以后可以添加节点
嗯,XSLT中的值和变量是不可变的,所以这没有多大意义。
但是,将空节点集作为参数值传递肯定是可能的,正如Dimitre所说,这样做的公认惯例是“/ ..”;我也知道使用“@comment()”,但是如果你写这个,一些处理器会产生警告。