2013-10-05 48 views
3

我想在我的重氮规则中使用xslt“呼叫模板”指令,因为我不想“重复我的自我”。重氮和xslt“呼叫模板”

但是,当我建立了xsl:模板,使用XSL称之为:调用模板的规则,我获得重氮调试异常

元素模板只允许作为样式

的孩子

这是怎么回事?我可以使用call-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> 

我发现,在重氮定义为XSL文件可以管理这个:而在规则直接样式表(https://github.com/plone/diazo/blob/master/lib/diazo/normalize-rules.xsl),但在我的附加软件包如何管理呢?

感谢的

+1

向我们展示代码! – SteveM

+0

Right @SteveM,正确编辑我的问题 – Vito

+0

可能的重复[如何转换块的内容从plone插入重氮主题](http://stackoverflow.com/questions/5749561/how-to-transform-b​​lock-of -content从 - Plone的感插入-成重氮基主题) –

回答

0

如果你仍然有这个问题,尝试最新的重氮和plone.app.theming的版本。

我无法用最新版本(在Plone 4.3.3上)重现此问题。对我来说,你的规则示例工作得很好(只要它们在主[非规则文件]中)。