我对plone的重氮有问题。
我有< esi:include>我的页面模板中的标签但是当我使用重氮时,所有这些标签都被< include>替换即使我使用mode =“raw”也是如此。
我找到了一个不合理的解决方法:
<xsl:template css:match="include">
<xsl:text disable-output-escaping="yes"><esi:include src="</xsl:text>
<xsl:value-of select="@src" />
<xsl:text disable-output-escaping="yes">"></esi:include></xsl:text>
</xsl:template>
但&lt; include&gt;当html与mode =“raw”一起放置时,标签不会被&lt; esi:include替换。
有什么想法吗?
非常感谢。
答案 0 :(得分:2)
如果您希望在原始模式下处理裸XSL,则需要将method =“raw”添加到xsl:template标记中。您可能需要有两个版本的模板标记,一个用于method =“raw”,另一个用于默认值(无方法属性)。
XSL中的模板仅在其方法匹配时才匹配。如果apply模板标记中指定的apply中没有方法,则该方法为“default”。
当您在Diazo中指示'mode =“raw”'时,它会在apply模板调用中放置method =“raw”,这会跳过大多数后期处理,包括您未指定method =“raw”的所有XSL模板”