Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath AEM/Oak:检查jcr:内容节点是否存在_Xpath_Aem_Jackrabbit Oak - Fatal编程技术网

Xpath AEM/Oak:检查jcr:内容节点是否存在

Xpath AEM/Oak:检查jcr:内容节点是否存在,xpath,aem,jackrabbit-oak,Xpath,Aem,Jackrabbit Oak,由于CQ/AEM会在作者使用语言复制工具仅将子语言复制到另一种语言(而不是父语言)时创建损坏的页面,因此我实现了一个工具来检查这些损坏的页面,并有办法修复它们。在CQ 5.6.1中,我使用了以下XPath: /jcr:root/content//*[@jrc:primaryType='cq:Page' and not(jcr:content/fn:name()='jcr:content')] 现在,我正在AEM 6实例上运行相同的代码,虽然错误对我来说没有意义,但此查询不再有效: /jcr:r

由于CQ/AEM会在作者使用语言复制工具仅将子语言复制到另一种语言(而不是父语言)时创建损坏的页面,因此我实现了一个工具来检查这些损坏的页面,并有办法修复它们。在CQ 5.6.1中,我使用了以下XPath:

/jcr:root/content//*[@jrc:primaryType='cq:Page' and not(jcr:content/fn:name()='jcr:content')]
现在,我正在AEM 6实例上运行相同的代码,虽然错误对我来说没有意义,但此查询不再有效:

/jcr:root/content//*[@jrc:primaryType='cq:Page' and not(jcr:content/fn:name((*))='jcr:content')]; expected: )
尽管您可以看到,由于某种原因,它在fn:name函数中添加了(*)


那么,如何修复此Oak查询,或者如何检查AEM 6中的损坏页面?

这对我在AEM 6.1上很有效

/jcr:root/content//element(*,cq:Page)[not(jcr:content)]

这在AEM 6.1上对我有效

/jcr:root/content//element(*,cq:Page)[not(jcr:content)]

你真的应该设法治好那个人。我告诉你一件事。如果没有
jcr:content/
部分,它可以工作,因此您应该能够进一步理解它。我不确定您的意思,但如果我尝试在CRXDE Lite中进行查询,它对我来说就不起作用。它不会抛出错误,但也不会找到损坏的页面。你真的应该尝试修复那个人。我告诉你一件事。如果没有
jcr:content/
部分,它可以工作,因此您应该能够进一步理解它。我不确定您的意思,但如果我尝试在CRXDE Lite中进行查询,它对我来说就不起作用。它没有抛出错误,但也没有找到损坏的页面。很抱歉响应太晚(将近一年),但迁移被推迟,问题再次出现。关于您的方法:它没有抛出错误,但仍然找不到我想要的节点。很抱歉响应太晚(将近一年),但是迁移被推迟了,问题再次出现。关于您的方法:它不会抛出错误,但仍然找不到我想要的节点。