...姆
<xsl:value-of select="$document/@*[name() eq $attrName]"/>
似乎是解决方案...... 问候, 克里斯托夫
我有一个包含要查询的属性名称的变量。我怎么能写这样的XPath表达式? 这是我想做的一个例子
<xsl:variable name="attrName" select="$config//conf:document[@id=$docId]/@archive-ventil-attr"/>
<xsl:value-of select="$document/@{$attrName}"/>
我使用XSLT 2.0
提前多多感谢, 克里斯托夫
答案 0 :(得分:2)
使用完整的XPath表达式,您需要一个在XSLT 1.0和2.0中仅作为扩展提供的evaluate函数,请参阅http://www.saxonica.com/documentation/extensions/functions/evaluate.xml(这也表明XSLT 3.0获得了xsl:evaluate
指令)。 / p>
只要您拥有一个包含本地名称的字符串,就可以使用<xsl:value-of select="$elements/@*[local-name() = $attrName]"/>
。这假定$elements
是元素节点的节点集(XPath 1.0)或序列(XPath 2.0)。