Xslt 如何使用xsl样式表参数在XPATH表达式中设置节点名称?
我有以下XPATH表达式:Xslt 如何使用xsl样式表参数在XPATH表达式中设置节点名称?,xslt,xpath,Xslt,Xpath,我有以下XPATH表达式: select="catalog/product/$category_name = $category_value" 在给定的示例中,$category_name和$category_value是我从servlet接收到的XSL参数,我希望在XSL中使用它们根据类别及其值过滤XML结果。但是,由于某种原因,例如,$category_name参数等于'product'父节点的'price'属性,$category_值等于40,给定的表达式根本不返回任何结果!从逻辑上讲,
select="catalog/product/$category_name = $category_value"
在给定的示例中,$category_name和$category_value是我从servlet接收到的XSL参数,我希望在XSL中使用它们根据类别及其值过滤XML结果。但是,由于某种原因,例如,$category_name参数等于'product'父节点的'price'属性,$category_值等于40,给定的表达式根本不返回任何结果!从逻辑上讲,应该将表达式转换为select=“catalog/product/price=40”……我想在我的例子中,指定节点名(即类别)可能有问题。有人能提出解决这个问题的方法吗?对于可变xpath表达式,请使用动态xpath。请参见您可能想要的:
catalog/product/*[name()=$category_name] [. = $category_value]