I'm currently working on some complex DocBook document and specifically on its xslt transformation to FO (and from there to PDF).
In this context I'm struggling with some characteristic of the workflow and hope that somebody here can give me some hints.
I have a self defined element named description that is defined in my schema as follows:
db.description = element description { text*, db.para* }
Working with this element works fine and in my stylesheet I then want to put the content of the element into a table like so:
<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>
Basically, everything works fine but the tricky point here is that the description element usually contains some elements under it and these elements are not longer evaluated but only treated as text. This means that the text gets copied into the table but the stylesheet does not produce paragraphs :-(
I could go and add an explicit handling for elements to my stylesheet but I guess that there has to be an easier way as this kind of handling is already implemented by the DocBook stylesheets themselves.
So, does anybody have an idea on how to convince the stylesheet to evaluate the elements under my custome element as well?
Thanks in advance Norbert
I suppose instead of <xsl:value-of select="d:description" />
you want to use <xsl:apply-templates select="d:description/node()"/>
(that then assumes the DocBook stylesheet or your own code has matching templates for the db.para
and descendant elements).