XSLT 2.0允许强制将空参数设置为特定数据类型。 XSLT 1.0没有。 (对吗?)但是我需要强制一个空参数作为一个节点集,以便我稍后可以向它添加节点。XSLT 1.0强制数据类型为nodeset
传递一个节点集的第0节点似乎工作:
<xsl:with-param name="topofstack" select="$nodesetB[0]" />
但它是合法的吗?保证工作?是否有一种“正确”的方式来强制一个空参数成为XSLT 1.0中的一个节点集?
XSLT 2.0允许强制将空参数设置为特定数据类型。 XSLT 1.0没有。 (对吗?)但是我需要强制一个空参数作为一个节点集,以便我稍后可以向它添加节点。XSLT 1.0强制数据类型为nodeset
传递一个节点集的第0节点似乎工作:
<xsl:with-param name="topofstack" select="$nodesetB[0]" />
但它是合法的吗?保证工作?是否有一种“正确”的方式来强制一个空参数成为XSLT 1.0中的一个节点集?
我需要强制一个空参数作为一个节点集,这样我才能 向它添加节点。
传递一个节点集的第0节点似乎工作:
<xsl:with-param name="topofstack" select="$nodesetB[0]" />
我用更短的:
/..
,这样我可以在以后将节点添加到它
那么,XSLT中的值和变量是不可变的,所以这没有多大意义。
但是,传递一个空的节点集作为参数的值肯定是可行的,正如Dimitre所说,这样做的公认惯例是“/ ..”;我也知道使用“@comment()”,尽管有些处理器会在你写这个时产生警告。
我错过了。 “...这样我可以在以后UNION与另一个节点集合。” – JPM 2012-01-05 15:28:25