XSL для каждой фильтрации; Как оценить две переменные в избранном? - PullRequest
1 голос
/ 23 февраля 2011
<xsl:variable name="filterValue"
 >@subject = 'Subject To Filter On'</xsl:variable>
<xsl:for-each select="$Rows[$filterValue]">

Мне кажется, что $ filterValue обрабатывается как литеральная строка, а не оценивается. Как я могу сделать так, чтобы вместо этого оценивалось значение переменной?

Желаемый результат :

<xsl:for-each select="$Rows[@subject = 'Subject To Filter On']">

Я прошу прощения, если на этот вопрос уже был дан ответ, я не знаю много терминов о XSL, поэтому у меня проблемы с поиском в Интернете. Спасибо.

1 Ответ

1 голос
/ 23 февраля 2011

Динамическая оценка выражений XPath не поддерживается ни в XSLT 1.0, ни в XSLT 2.0.

Обычно существуют обходные пути.

ВВ этом конкретном случае вы можете иметь (глобальные / внешние) параметры:

  <xsl:param name="attrName" select="'subject'"/>
  <xsl:param name="attrValue" select="'Subject To Filter On'"/>

, а затем в своем коде:

<xsl:for-each select="$Rows[@*[name()=$attrName] = $attrValue]"> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...