【问题标题】:How can I use xsl stylesheet parameters to set a node name in XPATH expression?如何使用 xsl 样式表参数在 XPATH 表达式中设置节点名称?
【发布时间】:2010-05-20 13:41:34
【问题描述】:

我有以下 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"....我想在我的例子中指定节点名称时存在一些问题。任何人都可以提出解决这个问题的方法吗?

【问题讨论】:

    标签: xslt xpath


    【解决方案1】:

    你可能想要

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多