Xslt 如何评估XSL构造的XPath表达式

Xslt 如何评估XSL构造的XPath表达式,xslt,xslt-2.0,Xslt,Xslt 2.0,哼 似乎是解决办法。。。 当做 克里斯托夫 我有一个包含要查询的属性名称的变量。如何编写这样的XPath表达式? 下面是我想做的一个例子 <xsl:value-of select="$document/@*[name() eq $attrName]"/> 我使用XSLT2.0 提前多谢了, Christophe对于完整的XPath表达式,您需要XSLT 1.0和2.0中的求值函数,该函数仅作为扩展提供,请参阅。此外,在XSLT 3.0()中(自Saxon 9.8及更高版本的


似乎是解决办法。。。 当做 克里斯托夫

我有一个包含要查询的属性名称的变量。如何编写这样的XPath表达式? 下面是我想做的一个例子

<xsl:value-of select="$document/@*[name() eq $attrName]"/>

我使用XSLT2.0

提前多谢了,
Christophe

对于完整的XPath表达式,您需要XSLT 1.0和2.0中的求值函数,该函数仅作为扩展提供,请参阅。此外,在XSLT 3.0()中(自Saxon 9.8及更高版本的PE和EE、Altova XML 2017 R3及更高版本以来),有一个名为的指令元素


只要有一个带有本地名称的字符串,就可以使用
。这假设
$elements
是元素节点的节点集(XPath 1.0)或序列(XPath 2.0)。

非常感谢,这就是我尝试过的。不幸的是,我仅限于Saxon HE,因此xsl:evaluate对我来说不是一个解决方案。回答您自己的问题的正常方法是添加一个包含您的答案的“答案”,然后接受它(单击复选标记)。或者,由于您基本上使用了@Martin的答案,您可以接受这个答案。@LarsH,我认为这个用户永远不会回应。。我遇到过很多这样的用户,他们创建帐户时会问一个问题,得到答案后就忘了。。他们永远不会回来:)所以活动历史中只有1个Q。
<xsl:variable name="attrName" select="$config//conf:document[@id=$docId]/@archive-ventil-attr"/>
<xsl:value-of select="$document/@{$attrName}"/>