Как я могу использовать xsl параметры таблицы стилей для установки имени узла в выражении XPath?

У меня есть следующее выражение XPath:

select="catalog/product/$category_name = $category_value"

В данном $category_name в качестве примера и $category_value параметры XSL, которые я получаю от своего сервлета, и я хочу использовать их в XSL для фильтрации результата XML на основе категории и ее значения. Однако по некоторым причинам, когда, скажем, параметр $category_name равняется 'ценовому' атрибуту родительского узла 'продукта', и $category_value равняется 40, данное выражение не возвращает результата вообще! Логически, выражение должно быть преобразовано к чему-то как выбор = "каталог/продукт/цена = 40".... Я предполагаю, что существует некоторая проблема с определением имени узла, которое является категорией в моем случае. Кто-либо может предложить способ обойти эту проблему?

1
задан John Saunders 20 May 2010 в 21:32
поделиться

2 ответа

Вероятно, вы хотите:

catalog/product/*[name()=$category_name] [. = $category_value]
2
ответ дан 3 September 2019 в 00:25
поделиться

Для переменных выражений xpath используйте динамический xpath. Смотрите Возможно ли использовать динамическое выражение xPath в таблице стилей xslt?

0
ответ дан 3 September 2019 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: