AEM谓词 - 如何检查属性是否以/包含字符串开头?

时间:2015-02-23 22:17:44

标签: cq5 aem query-builder

我正在使用查询构建器在DAM中搜索图像。我使用谓词来做到这一点。我正在尝试检查元数据dam:MIMEtype属性,以返回从image /.

开始的所有节点

我该怎么做?

1 个答案:

答案 0 :(得分:9)

您可以使用JcrPropertyPredicateEvaluator来实现相同目标。

假设您正在/content/dam的路径dam:Asset搜索dam:MIMEtypeimage/开头的查询

path=/content/dam
type=dam:Asset
property=jcr:content/metadata/dam:MIMEtype
property.value=image/%
property.operation=like
p.limit=-1

相应的XPATH查询将是

/jcr:root/content/dam//element(*, dam:Asset)
[
jcr:like(jcr:content/metadata/@dam:MIMEtype, 'image/%') 
]

您可以尝试在实例的查询调试器(/libs/cq/search/content/querydebug.html)中执行上述查询,并验证结果是否正常。

PredicateEvaluator DocsQueryBuilder API可能会提供更多有关撰写查询的见解。