我正在尝试在我的重氮规则中使用xslt“call-template”指令,因为我不想“重复我的自我”。
但是,当我设置xsl:template并在规则中使用xsl:call-template调用它时,我从重氮调试器中获取异常
元素模板仅允许作为样式表的子项
什么事?我可以使用呼叫tempalte吗?如果没有,我怎么能不在xslt模板中重复自我?
示例:
<?xml version="1.0" encoding="UTF-8"?>
<rules
xmlns="http://namespaces.plone.org/diazo"
xmlns:css="http://namespaces.plone.org/diazo/css"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- indent and strip space for pretty output -->
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<theme href="index.html" />
<after css:theme-children="body">
<xsl:call-template name="hello"></xsl:call-template>
</after>
<xsl:template name="hello">
<xsl:element name="div">
Hello!
</xsl:element>
</xsl:template>
</rules>
我发现diazo可以在定义为xsl:stylesheet(https://github.com/plone/diazo/blob/master/lib/diazo/normalize-rules.xsl)的文件中管理,而不是直接在规则中管理,但是如何在我的附加软件包中管理它?
感谢的
答案 0 :(得分:0)
如果您仍有此问题,请尝试最新版本的Diazo和plone.app.theming。
我无法使用最新版本重现此问题(在Plone 4.3.3上)。对我来说,你的规则示例运行得很好(只要它们在主[不是规则文件中]。