我正在为OT的PDF2插件(使用FOP)进行自定义操作。我想要做的是为@outputclass使用具有特定值的所有主题标题使用自定义属性集。我已经成功定义了自定义属性集。但我不确定要写的正确模板,因为我写的那个打破了PDF文件的书签。这就是我在custom.xsl中所拥有的:
<xsl:template match="*[contains(@class,' topic/topic ')]/*[contains(@class,' topic/title ')][@outputclass='drilltitle']">
<fo:block xsl:use-attribute-sets="hkdrill.title">
<xsl:apply-templates/>
</fo:block>
</xsl:template>
非常感谢任何帮助。
谢谢, 史蒂芬
答案 0 :(得分:1)
这样的事情怎么样:
<xsl:template match="*[@outputclass='drilltitle']" mode="processTopicTitle">
<fo:wrapper xsl:use-attribute-sets="hkdrill.title">
<xsl:next-match/>
</fo:wrapper>
</xsl:template>
如果您添加的属性未由普通主题标题属性集设置,则此方法有效。如果您需要覆盖与内置属性集中相同的属性,则需要在processTopicTitle
模式下创建模板的副本并在那里进行更改。原因是PDF2样式表使用自己的“属性集反射”,不允许以正常方式组合属性集。