xslt тест с 2 параметрами - PullRequest
2 голосов
/ 31 июля 2011

<xsl:if test="count($currentPage/..//$itemType) &gt; 0">

Я пытаюсь использовать оператор if с двумя значениями параметров и получаю ошибку: "неожиданный токен '$' в выражении ..."

можно ли делать то, что я пытаюсь?

Ответы [ 2 ]

1 голос
/ 31 июля 2011

В XSLT, как и в большинстве языков программирования (кроме языков макросов), переменные представляют значения, а не фрагменты текста выражения.Я подозреваю, что $ itemType содержит имя элемента, и вы предполагаете, что вы можете использовать его везде, где вы можете использовать имя элемента.Если это то, что вы пытаетесь сделать, используйте ..//*[name()=$itemType].

0 голосов
/ 31 июля 2011

Это неверно (и @Michael Kay объяснил это хорошо):

//$varName

Если я правильно угадаю, что вы делаете, то вы можете попробовать это :

//*[name() = $varName]
...