【问题标题】:How to get a property of a all child node having same name pattern using xpath query?如何使用 xpath 查询获取具有相同名称模式的所有子节点的属性?
【发布时间】:2016-05-09 12:24:44
【问题描述】:

下面是节点的结构:-

etc
  |___commerce
             |___aib
                    |__products
                            |____ product1
                            |           |____prices
                            |                   |____price
                            |_____product2      |____price1 
                            |                   |____price2
                            |_____ ....         |____price3
                            |                   |____....
                            |                   |____....
                            |_____ ....

在每个价格节点上都有一个 Date 类型的“来自”属性,我想找出从 2014 年 4 月 21 日到 2015 年 4 月 21 日的所有产品。为此,我使用以下查询

path=/etc/commerce/aib/products
type=nt:unstructured
nodename=price*
1_property=from
1_property.lowerBound=2014-04-21T00:00:00.000Z
1_property.lowerOperation=>=
1_property.upperBound=2015-04-21T00:00:00.000Z
1_property.upperOperation=<=
p.limit=-1  

但我得到了所有的产品。你能检查一下这个查询有什么问题吗?

提前致谢

【问题讨论】:

    标签: xpath aem


    【解决方案1】:

    daterange predicate 的用法是错误的。您应该尝试如下所示。

    path=/etc/commerce/aib/products
    type=nt:unstructured
    nodename=price*
    1_daterange.property=from
    1_daterange.lowerBound=2014-04-21T00:00:00.000+01:00
    1_daterange.upperBound=2015-04-21T00:00:00.000+01:00
    

    【讨论】:

    • CQ/AEM 对 xpath 有一些奇怪的扩展,很好地掌握了日期范围运算符。
    最近更新 更多