[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] section titles inline
Wow. Much appreciated Bob. I had no idea it would be this complex. I was able to handle all of the other customizations necessary, but this one left me utterly stymied. Thanks again, Bill Bob Stayton wrote: >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]