Docbook

时间:2018-02-16 16:37:17

标签: xml xslt docbook docbook-5

我目前正在研究一些复杂的DocBook文档,特别是它的xslt转换为FO(从那里到PDF)。

在这种情况下,我正在努力解决工作流程的某些特性,并希望这里的某些人可以给我一些提示。

我有一个名为description的自定义元素,在我的模式中定义如下:

db.description = element description { text*, db.para* }

使用此元素工作正常,在我的样式表中,我想将元素的内容放入表中,如下所示:

    <fo:table-cell  border-style="none" border-width="0pt" text-align="start"> 

<fo:block><xsl:value-of select="d:description" />

</fo:block>

</fo:table-cell>  

基本上,一切都运行正常,但这里的棘手要点是描述元素通常包含一些元素,这些元素不再被评估,只被视为文本。这意味着文本被复制到表中,但样式表不会产生段落: - (

我可以去为我的样式表添加元素的显式处理,但我想必须有一种更简单的方法,因为DocBook样式表本身已经实现了这种处理。

那么,有没有人知道如何说服样式表来评估我的客户元素下的元素呢?

提前致谢 诺贝特

1 个答案:

答案 0 :(得分:3)

我想而不是<xsl:value-of select="d:description" />你想使用<xsl:apply-templates select="d:description/node()"/>(然后假定DocBook样式表或你自己的代码有db.para和后代元素的匹配模板。