重氮 - 有条件地为主题元素添加一个类

时间:2012-04-12 20:14:43

标签: xslt diazo

只有在满足某些条件时,我才需要为来自主题的元素添加一个类。我尝试this solution,通过将prepend替换为before来调整Diazo:

<before css:theme=".main" if-content="not(//*[@id='portal-column-two'])"><xsl:attribute name="class"><xsl:value-of select="//*[@class='main']/@class"/> full</xsl:attribute></before>

但是我收到以下错误:

XSLTApplyError: xsl:attribute: Cannot add attributes to an element if children have been already added to the element.

即使我删除了所有其他规则,只有<theme>规则和<before>规则,我也会收到该错误。

只有在内容中没有#portal-column-two元素时,如何才能向主题元素添加类?

1 个答案:

答案 0 :(得分:2)

prepend css:theme的重氮替换为before css:theme-children,而不是before css:theme。您的示例适用于更改的内容。