Я пытаюсь оценить varable XPath , который я строю динамически в зависимости от положения узла.
Я могу создать строку XPath в переменной, но когда я выбираю значение этого, просто получаю строку, а не набор узлов, который мне нужен.
Я использую следующее для создания запроса XPath.
<xsl:variable name="xpathstring"
select="normalize-space(concat("//anAttribute[@key='pos",position(),"']"))"/>
И попробуйте вывести значение следующим образом.
<xsl:value-of select="$xpathstring"/>
Если я выполняю запрос XPath в моем отладчике, я получаю набор узлов, но в выводе XML получаю только строку XPath, которая выглядит следующим образом //anAttribute[@key='pos1']
.
Я посмотрел на exslt dyn:evaluate
, который, кажется, позволяет это сделать, но, похоже, он поддерживается только некоторыми процессорами и не обеспечивает автономную реализацию или, по крайней мере, насколько я мог видеть (в настоящее время используется стандарт .NET 2.0 XSLT , насколько я помню, только XSLT 1.0.)
Есть ли способ справиться с этим без замены процессора?