返回特定类型的子节点及其属性(Umbraco)

时间:2012-07-18 14:35:36

标签: xslt umbraco nodes

我正在尝试编写一些基本上应该通过以下算法的XSLT:

if child of current node is of type Accordion
    if child of Accordion node is of type AccordionItem
        take the AccordionItem's title and content and display in <div> tags
    end if
end if

看起来很简单,但我目前的代码似乎没有按预期工作。我必须遗漏一些东西,但我无法弄明白究竟是什么。到目前为止,这是我的XSLT代码:

<xsl:for-each select="$currentPage/ancestor-or-self::Home//AccordionItem[@isDoc]">
    <div id="accordion">
        <h3><a href='#'><xsl:value-of select="accordionItemTitle"/></a></h3>
        <div><xsl:value-of select="accordionItemContent" disable-output-escaping="yes" />
        </div>
    </div>
</xsl:for-each>

任何人都可以提供任何有关为何无法正常工作的建议吗?先谢谢!

1 个答案:

答案 0 :(得分:2)

您的XPath似乎并不像您在算法中定义的那样行为,并且导航到Home类型的节点,是否有意?

如果没有,请尝试将XPath修改为以下内容:

<xsl:for-each select="$currentPage/Accordion/AccordionItem[@isDoc]">