我正在尝试在重氮规则中使用 xslt“调用模板”指令,因为我不想“重复我自己”。
但是,当我设置 xsl:template 并在规则中使用 xsl:call-template 调用它时,我从重氮调试器中获得了一个异常
元素模板只允许作为样式表的子元素
怎么了?我可以使用 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:stylesheet (https://github.com/plone/diazo/blob/master/lib/diazo/normalize-rules.xsl)的文件中直接在规则中进行管理,但是如何在我的附加包中管理它?
谢谢