我有一个主要的genshi模板,我试图在xsl:fo模板中应用几个覆盖:
<py:match path="fo:page-sequence[@master-reference='invoice-sequence']">
...
</py:match>
<xi:include href="main.xml" />
..这很好用,但是当我提供多个py:match标签时,就像这样:
<py:match path="fo:page-sequence[@master-reference='invoice-sequence']">
...
</py:match>
<py:match path="fo:block[@id='dateF']">
...
</py:match>
<xi:include href="main.xml" />
只有最后一个py:匹配才有效。我可以移动xi:include around,它似乎只受到py:match直接在它上面的影响,而不是在顶部。我期望工作的是顶部的include,它启动流,然后py:匹配后修改流,但这似乎不是这样,因为py:只匹配工作如果他们被放置在xi:include
之前有人可以向我解释如何实现我使用多个py的目标:匹配xi:include?如果有关于包含和py:匹配的理论,我也会喜欢它,这样我就能理解为什么这种行为看起来如此。
答案 0 :(得分:0)
根据https://groups.google.com/forum/#!topic/genshi/VIUhr-W3Un4:
“””
Hodgestar
13年8月6日
我认为这是预期的工作方式 - 匹配模板
一个接一个地应用,而XML的先前状态不是
记住(我甚至不确定如何定义这样的行为
场景)。
“”“
这促使我寻找一种重置上下文的方法。 也许使用多个xi:include,每个py:匹配一个? [这个想法可以帮助其他人解决这个问题]