在xslt中的sitecore xpath查询中返回的额外元素

时间:2011-09-19 22:54:09

标签: xslt xpath sitecore

在我编写的一些xslt中,我使用以下内容检索Sitecore中特定类型的所有文档的集合。

<xsl:variable name="documents" select="//item[@template='document type']" />

它几乎按预期工作,除了总是返回一个额外的空白元素,我不知道为什么。也许以上也是返回模板本身,但我不知道如何验证这一点。

2 个答案:

答案 0 :(得分:0)

抱歉,抱歉。似乎以下工作。

<xsl:variable name="home" select="sc:item('/sitecore/content/home',.)" />
<xsl:variable name="documents" select="$home//item[@template='document type']" />

我之前尝试过类似的东西,但它没有用

<xsl:variable name="documents" select="/sitecore/content/home//item[@template='document type']" />

我需要阅读更多xslt教程;)

答案 1 :(得分:0)

虽然您可以通过XSLT选择实现此目的,但搜索站点的所有后代,特别是从Home节点开始,可能是一项非常昂贵的操作,并且通常表明需要再次查看架构。您确定这是您在网站上需要做的事情,或者您需要重新考虑您想要实现的目标吗?

如果您将这些文档模板分布在整个网站上并且确实需要找到它们,那么如果您拥有大量内容,Lucene索引会更好。看看Advanced Database Crawler