如何使用xsl stylesheet参数在XPATH表达式中设置节点名称?

时间:2010-05-20 13:41:35

标签: xslt xpath

我有以下XPATH表达式:

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

在给定的示例中,$ category_name和$ category_value是我从servlet收到的XSL参数,我想在XSL中使用它们来根据类别及其值过滤XML结果。但是,出于某种原因,当说, ,$ category_name参数等于'product'父节点的'price'属性,$ category_value等于40,给定的表达式根本不返回任何结果!逻辑上,表达式应该转换为类似select =“catalog / product / price = 40”....我想在指定节点名称时存在一些问题,在我的情况下是类别。任何人都可以建议解决这个问题的方法吗?

2 个答案:

答案 0 :(得分:2)

您可能需要

catalog/product/*[name()=$category_name] [. = $category_value]

答案 1 :(得分:0)

对于变量xpath表达式,请使用动态xpath。见Is it possible to use a Dynamic xPath expression in a xslt style sheet?