1

像这个例子https://plone-theming-with-diazo.readthedocs.org/en/latest/snippets_diazo/recipes/index.html#add-attributes-on-the-fly 我需要修改所有特定的类标签,添加一个值(在内容方面)。

此规则不起作用:

<xsl:template css:match="ul.navTreeLevel0 li">
        <xsl:attribute name="class"><xsl:value-of select="./@class"/> no-bullet</xsl:attribute>
    </xsl:template>

我想在具有“navTreeLevel0”类的 ul 内的任何 li 标签上添加值“no-bullet”。

重氮不会引发异常。

在同一个规则文件中,我有类似的情况,但在这种情况下有效:

<replace content="//div[contains(@class,'cell')]/@class">
    <xsl:attribute name="class">
    <xsl:if test='contains(current(),"width-3:4")'>nine large-9 columns</xsl:if>
    <xsl:if test='contains(current(),"width-2:3")'>height large-8 columns</xsl:if>
    <xsl:if test='contains(current(),"width-1:2")'>six large-6 columns</xsl:if>
    <xsl:if test='contains(current(),"width-1:3")'>four large-4 columns</xsl:if>
    <xsl:if test='contains(current(),"width-1:4")'>three large-3 columns</xsl:if>
    <xsl:if test='contains(current(),"width-full")'>twelve large-12 columns</xsl:if>
    </xsl:attribute>
</replace>

怎么了?维托

4

1 回答 1

2

这可能与我今天读到的类似问题的原因相同:diazo xsl:template not apply when inside secondary rules file

从那里引用 Diazo 文档:“内联 XSL 指令必须直接放在根标记内,并且无条件应用。”

好吧,显然一些 xsl 在根规则标记之外也可以工作,因为您的代码的另一部分可以工作。

如果您将css:match="..."代码中的替换为match="obviously wrong[xsl"是否 Diazo 会引发异常?如果不是,那么可能的原因是您的 xsl 被忽略并且需要移动到根角色标签。

于 2013-10-10T20:48:54.717 回答