XSLT 1.0强制数据类型为nodeset

时间:2012-01-05 01:57:58

标签: xslt xslt-1.0

XSLT 2.0允许强制空参数为某种数据类型。 XSLT 1.0没有。 (对吧?)但我需要强制一个空参数作为一个节点集,这样我以后就可以添加节点了。

传递节点集的第0个节点似乎有效:

<xsl:with-param name="topofstack" select="$nodesetB[0]" />

但它合法吗?保证工作?是否有一种“正确”的方法可以将空参数强制为XSLT 1.0中的节点集?

2 个答案:

答案 0 :(得分:2)

  

我需要强制一个空参数作为一个节点集,这样我就可以   稍后再添加节点。

     

传递节点集的第0个节点似乎有效:

<xsl:with-param name="topofstack" select="$nodesetB[0]" />

我使用更短的

/..

答案 1 :(得分:0)

  

以便我以后可以添加节点

嗯,XSLT中的值和变量是不可变的,所以这没有多大意义。

但是,将空节点集作为参数值传递肯定是可能的,正如Dimitre所说,这样做的公认惯例是“/ ..”;我也知道使用“@comment()”,但是如果你写这个,一些处理器会产生警告。