diazo用<include> </include> </esi:include>替换<esi:include>标签

时间:2013-08-08 12:20:58

标签: plone diazo

我对plone的重氮有问题。

我有&lt; esi:include&gt;我的页面模板中的标签但是当我使用重氮时,所有这些标签都被&lt; include&gt;替换即使我使用mode =“raw”也是如此。

我找到了一个不合理的解决方法:

<xsl:template css:match="include">
    <xsl:text disable-output-escaping="yes">&lt;esi:include src="</xsl:text>
    <xsl:value-of select="@src" />
    <xsl:text disable-output-escaping="yes">">&lt;/esi:include></xsl:text>
</xsl:template>

但&lt; include&gt;当html与mode =“raw”一起放置时,标签不会被&lt; esi:include替换。

有什么想法吗?

非常感谢。

1 个答案:

答案 0 :(得分:2)

如果您希望在原始模式下处理裸XSL,则需要将method =“raw”添加到xsl:template标记中。您可能需要有两个版本的模板标记,一个用于method =“raw”,另一个用于默认值(无方法属性)。

XSL中的模板仅在其方法匹配时才匹配。如果apply模板标记中指定的apply中没有方法,则该方法为“default”。

当您在Diazo中指示'mode =“raw”'时,它会在apply模板调用中放置method =“raw”,这会跳过大多数后期处理,包括您未指定method =“raw”的所有XSL模板”