[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Novice questions (repost)
Dear Ron and Bob, Thanks for reading and giving elobarate answers my questions. Best, mads On Mon, 15 Jan 2007, Bob Stayton wrote: > > Bob Stayton > Sagehill Enterprises > DocBook Consulting > bobs@sagehill.net > > > ----- Original Message ----- > From: "Mads Ipsen" <mpi@osc.kiku.dk> > To: <docbook-apps@lists.oasis-open.org> > Sent: Monday, January 15, 2007 6:21 AM > Subject: [docbook-apps] Novice questions (repost) > > > > Dear DocBook users, > > > > This is my second attempt at posting these questions; I believe that > > my first attempt ended up as a reply to a previous posting. > > > > If you believe that this forum is out-of-scope for the questions I > > raise, please let me know, and I'll try to find help elsewhere. > > > > First of all, these are real novice questions, but I hope some of you > > will have the time to provide some feedback to my questions: > > > > 1. Using the style sheet > > > > /usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl > > > > DocBook generates html files where the whole string ass. with a > > figure title gets formatted in bold. I prefer: Figure + number in > > bold and the caption text in roman, eg. > > > > <b>Figure 1</b>: Blah. blah. > > > > Here's my approach for dealing with this from a user supplied style > > sheet: > > > > <xsl:template name="formal.object.heading"> > > ... > > <p class="title"> > > <xsl:choose> > > <xsl:when test="contains($title,'Figure')"> > > <b> > > <xsl:value-of select="substring-before($title,'.')"/> > > </b>: > > <xsl:value-of select="substring-after($title,'.')"/> > > </xsl:when> > > <xsl:otherwise> > > <xsl:value-of select="$title"/> > > </xsl:otherwise> > > </xsl:choose> > > </p> > > </xsl:template> > > > > It works, but I am starting to choose a wrong track here? > > > > This is a bit hazardous for two reasons: it selects the text based on the > ".", but a figure number might be 3.2., in which case it doesn't get it > right. Also, using xsl:value-of removes any markup in the processed $title, > so you could lose any subscript/superscript markup, internal italic, etc. > > The object.title.markup mode used in formal.object.heading gets a gentext > template from the locale collection and fills in the number and title. I > would suggest customizing the gentext string for figure title to remove the > title, and then using mode="title.markup" in this template to restore the > title outside the <b>. Something like this: > > This part customizes the gentext template: > > <xsl:param name="local.l10n.xml" select="document('')"/> > <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> > <l:l10n language="en"> > <l:context name="title"> > <l:template name="figure" text="Figure %n. "/> > </l:context> > </l:l10n> > </l:i18n> > > This is the customized formal.object.heading: > > <xsl:template name="formal.object.heading"> > <xsl:param name="object" select="."/> > <xsl:param name="title"> > <xsl:apply-templates select="$object" mode="object.title.markup"> > <xsl:with-param name="allow-anchors" select="1"/> > </xsl:apply-templates> > </xsl:param> > > <p class="title"> > <xsl:choose> > <xsl:when test="self::figure"> > <b> > <xsl:copy-of select="$title"/> > </b> > <xsl:apply-templates select="." mode="title.markup"/> > </xsl:when> > <xsl:otherwise> > <b> > <xsl:copy-of select="$title"/> > </b> > </xsl:otherwise> > </xsl:choose> > </p> > > </xsl:template> > > > 2. For the html representation of my documentation, I need to insert > > a graphical header and the beginning and end of each sect1 <div> > > to achive a rounded appearance of the block. Something along the > > lines: > > > > <div class="sect1" lang="en" xml:lang="en"> > > <div id="contentUpper"> > > <img src="images/main_center_header_660px.png" alt="" /> > > </div> > > ... > > <div id="contentLower"> > > <img src="images/main_center_footer_660px.png" alt="" /> > > </div> > > </div> > > > > It took me 5 min. to write a Python script that uses regular > > expression for matching and inserting these items - but are there > > a cleaner style sheet based solution? I tried fiddling with > > > > <xsl:template match="sect1"> > > > > but that completely messes up the chunking. > > Customizing the template for sect1 is the right way to go, but you need to > pay careful attention to the sequence of xsl:imports used. There are > actually two templates matching on sect1. The original template in > sections.xsl formats the section content. The extra template in > chunk-code.xsl handles putting the formatted content into a chunked file. > Your customization messes up the latter process without affecting the > former. This reference describes how to set up a two-stage import process > so you can change the formatting template without affecting the chunking > template: > > http://www.sagehill.net/docbookxsl/ChunkingCustomization.html > > > > > 3. At some time soon, I will have to start caring about print as > > well, i.e. PDF reps. Do you have any suggestions of the > > postprocessors that I should use (commercial or free). Its > > imperative that they can handle MathML. > > > > Thanks for taking your time to read this. If you have any feedback, > > please let me know. > > > > Best, Mads > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org > > For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org > For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org > > +---------------------------------+-------------------------+ | Mads Ipsen | | | Dept. of Chemistry | phone: +45-35320220 | | H.C.Ørsted Institute | fax: +45-35320322 | | Universitetsparken 5 | | | DK-2100 Copenhagen Ø, Denmark | mpi@osc.kiku.dk | +---------------------------------+-------------------------+
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]