我有一个简单的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}'))
但他们没有检索任何文件。如果我仅执行(folder1中的name1),它会正确检索文档&name;' name1'。 我错过了CMIS语言的一些基本原理吗?
相关问题:我曾经直接从集合文件夹执行此类查询,因为in_folder()
或in_tree()
的存在加上$section
指令,而不是在节点浏览器中工作。有没有办法在节点浏览器中执行它?
更新
错误错误:上面的查询缺少限定符d
,这在查询中存在连接时是必需的。只是一个错误,我正在执行的原始查询确实有限定符。
答案 0 :(得分:1)
您必须在in_folder中使用CMIS对象ID。它不接受路径。请参阅http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html
上的规范