У меня есть следующее выражение XPath:
select="catalog/product/$category_name = $category_value"
В данном $category_name в качестве примера и $category_value параметры XSL, которые я получаю от своего сервлета, и я хочу использовать их в XSL для фильтрации результата XML на основе категории и ее значения. Однако по некоторым причинам, когда, скажем, параметр $category_name равняется 'ценовому' атрибуту родительского узла 'продукта', и $category_value равняется 40, данное выражение не возвращает результата вообще! Логически, выражение должно быть преобразовано к чему-то как выбор = "каталог/продукт/цена = 40".... Я предполагаю, что существует некоторая проблема с определением имени узла, которое является категорией в моем случае. Кто-либо может предложить способ обойти эту проблему?
Вероятно, вы хотите:
catalog/product/*[name()=$category_name] [. = $category_value]
Для переменных выражений xpath используйте динамический xpath. Смотрите Возможно ли использовать динамическое выражение xPath в таблице стилей xslt?