我有一个简单的CMIS查询,我从一个集合文件夹内执行。目的是检索放置在两个不同文件夹中的两个特定文档。
SELECT d.* FROM cmis:document d JOIN ws:webasset w ON w.cmis:objectId = d.cmis:objectId
WHERE
(d.cmis:name = 'name1.html' AND in_folder(d,'${section:/root/folder1}'))
OR
(d.cmis:name = 'name2.html' AND in_folder(d,'${section:/root/folder2}'))
我也试着:
SELECT d.* FROM cmis:document d JOIN ws:webasset w ON w.cmis:objectId = d.cmis:objectId
WHERE
(d.cmis:name = 'name1' OR d.cmis:name = 'name2.html')
AND
(in_folder(d,'${section:/root/folder1}') OR in_folder(d,'${section:/root/folder2}'))
但是他们没有检索任何文档。如果我单独执行(name1 in folder1),它会正确检索文档'name1'。我是否错过了CMIS语言的一些基本知识?
相关问题:我曾经直接从集合文件夹执行这种类型的查询,由于in_folder()
或in_tree()
的存在,加上$section
指令,在节点浏览器中不起作用。有没有办法在节点浏览器中执行这个?
输入错误:上面的查询缺少限定符d
,当查询中有连接时,限定符是必需的。只是一个错误,我正在执行的原始查询确实有限定符。
您必须使用带有in_folder的CMIS对象ID。它不接受路径。参见http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html