1

我正在尝试编写一些基本上应该通过以下算法的 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>

任何人都可以就为什么这不能正常工作提供任何建议吗?先谢谢了!

4

1 回答 1

2

您的 XPath 似乎与您在算法中定义的行为不太一样,并且正在导航到 type 的节点Home,这是有意的吗?

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

<xsl:for-each select="$currentPage/Accordion/AccordionItem[@isDoc]">
于 2012-07-18T14:51:33.953 回答