Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用.NET2.0XSLT实现动态计算XPath变量字符串?_.net_Xslt_Xpath - Fatal编程技术网

是否可以使用.NET2.0XSLT实现动态计算XPath变量字符串?

是否可以使用.NET2.0XSLT实现动态计算XPath变量字符串?,.net,xslt,xpath,.net,Xslt,Xpath,我试图根据节点的位置动态地评估我正在构建的变量 我可以在变量中创建XPath字符串,但是当我选择这个值时,只获取字符串,而不是我需要的节点集 我使用以下内容创建XPath查询 <xsl:variable name="xpathstring" select="normalize-space(concat(&quot;//anAttribute[@key='pos&quot;,position(),&quot;']&quot;))"

我试图根据节点的位置动态地评估我正在构建的变量

我可以在变量中创建XPath字符串,但是当我选择这个值时,只获取字符串,而不是我需要的节点集

我使用以下内容创建XPath查询

<xsl:variable name="xpathstring" 
              select="normalize-space(concat(&quot;//anAttribute[@key='pos&quot;,position(),&quot;']&quot;))"/>

并尝试使用以下命令输出值

<xsl:value-of select="$xpathstring"/>

如果在调试器中执行XPath查询,则会得到节点集,但在XML输出中只会得到XPath字符串,如下所示
//anaAttribute[@key='pos1']

我看了一下
exslt-dyn:evaluate
,它似乎启用了这一功能,但这似乎只受某些处理器的支持,并且没有提供独立的实现,至少在我看来是这样的(目前使用的是标准的.NET 2.0,据我回忆,它只是XSLT 1.0)


有没有办法在不更改处理器的情况下处理此问题?

为什么不使用参数而不是串联:

<xsl:param name="pos">
    <xsl:text>pos</xsl:text>
    <xsl:value-of select="position()"/>
</xsl:param>
<xsl:value-of select="//anAttribute[@key=$pos]"/>

销售时点情报系统

谢谢,这样很好。我试图直接从xpath字符串让它工作,但这很好。