0

我有这个 SQL2 查询来搜索某个路径的后代节点:

SELECT product.* FROM [nt:base] AS product 
INNER JOIN [nt:base] AS variant ON ISCHILDNODE(variant, product) 
  WHERE ISDESCENDANTNODE(product, '/etc/commerce/products/welzijnswinkel/welzijnswinkel/nl/hobby en vrije tijd') 
    AND ISDESCENDANTNODE(variant, '/etc/commerce/products/welzijnswinkel/welzijnswinkel/nl/hobby en vrije tijd') 

我可以编写此条件以使路径不区分大小写吗?例如,如果我有:

ISDESCENDANTNODE(variant, '/etc/commerce/products/welzijnswinkel/welzijnswinkel/nl/Hobby En Vrije Tijd')

这些节点仍然可以在'/etc/commerce/products/welzijnswinkel/welzijnswinkel/nl/hobby en vrije tijd'下找到。

4

1 回答 1

1

根据 JCR 规范,2 条路径在以下情况下是相等的:

  • 它们包含相同数量的段。
  • P1 中的每个段都等于 P2 中相同位置的段。

当且仅当它们的 JCR 名称相等时,两个名称段才相等。

由于通过调用 String.compareTo() 方法 2 个 JCR 名称相等,因此它们以区分大小写的方式进行比较,因此这个问题的答案是否定的,你不能写这个条件让路径是大小写不敏感。

请参阅此处 的 3.4.8 路径平等: http ://www.day.com/specs/jcr/2.0/3_Repository_Model.html

于 2013-12-12T14:09:36.493 回答