[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] section titles inline
This is similar to a formalpara but with a big difference. A formalpara has
a strict structure that permits only a single para after the title. A sect3
permits anything after the title. So the complication is when you say
"usually a para". If it is not a para, then it should probably not be a
run-in.
Here is a customization that accomplishes this. The select statements are
complicated because it only applies when the first element after the sect3
title is a para.
<xsl:template name="sect3.titlepage">
<fo:block xsl:use-attribute-sets="normal.para.spacing">
<!-- select and process the title in a new mode here -->
<xsl:apply-templates select="title" mode="inline.title"/>
<xsl:text>: </xsl:text>
<!-- select and process the following para in a new mode here -->
<xsl:apply-templates select="para[preceding-sibling::*[1][self::title]]"
mode="inline.para"/>
</fo:block>
</xsl:template>
<!-- Define whatever inline formatting properties you want here -->
<xsl:attribute-set name="inline.sect3.title.properties">
<xsl:attribute name="font-weight">bold</xsl:attribute>
</xsl:attribute-set>
<!-- Process the following para by processing all of its children, which
prevents it
from forming its own fo:block as a normal para does -->
<xsl:template match="sect3/para[preceding-sibling::*[1][self::title]]"
mode="inline.para">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="sect3/para[preceding-sibling::*[1][self::title]]">
<!-- Turn off normal processing of this para so it doesn't repeat when the
sect3 template does apply-templates -->
</xsl:template>
<!-- Format the inline title in this mode -->
<xsl:template match="sect3/title" mode="inline.title">
<fo:inline xsl:use-attribute-sets="inline.sect3.title.properties">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
The select="para[preceding-sibling::*[1][self::title]]" attribute translates
to "take a para element, look at its preceding-sibling elements, take the
first one, and use the para only if that first preceding-sibling is a title
element".
Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobs@sagehill.net
----- Original Message -----
From: "Bill Lawrence" <lawrence@mayaviz.com>
To: <docbook-apps@lists.oasis-open.org>
Sent: Wednesday, June 01, 2005 7:03 AM
Subject: [docbook-apps] section titles inline
> I'm trying to implement FO customizations to output in MIL-STD-38784
> style, and I'm struggling with making third level section titles, and
> lower, have the titles inline with the following element (usually a
> para) . Any help would be greatly appreciated.
>
> Thanks,
>
> Bill Lawrence
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>
>
>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]