Re: [docbook-apps] Discard leading/trailing whitespace in <title> elements?

From
Bob Stayton <>
Date
2005-03-29T18:09:16+00:00
ID
00e801c5348a$685613d0$6400a8c0@toshiro
Thread
Re: [docbook-apps] Discard leading/trailing whitespace in <title> elements?
There is no easy way to do what you want.  White space in mixed content
elements is signficant. A validating editor that pretty prints your XML
should not be inserting those line breaks.

If the title element only permitted #PCDATA, then you could use the XSLT
normalize-space() function, which would trim the leading and trailing spaces
and collapse a sequence of spaces to single space.  But title permits other
elements too, and normalize-space() would convert those elements to strings.

So you would have to write a customization that detects the first node of a
title, check to see if it is a text() node, and then use the string
functions to trim any leading linefeed character &#10; .  Same with the
trailing character of the last node of title. You can't just use
normalize-space() on those nodes, because the space on the other end of the
text() node is probably signficant.

By the way, those line feeds in <para> actually are passed through the XSLT
processor.  Take a look at your HTML or FO output. I think the line building
algorithms in the browser and the XSLFO processors don't display them.

Bob Stayton
Sagehill Enterprises
DocBook Consulting



----- Original Message ----- 
From: "Paul DuBois" <>
To: <>
Sent: Tuesday, March 29, 2005 8:05 AM
Subject: [docbook-apps] Discard leading/trailing whitespace in <title>
elements?


> I'm using DocBook XSL with FOP to generate PDF.
>
> With a <title> like this:
>
> <title>My Title</title>
>
> The output looks like this:
>
> Section X.Y "My Title"
>
> With a <title> like this:
>
> <title>
>  My Title
> </title>
>
> The output looks like this, with a space between the quote characters
> and the title content:
>
> Section X.Y " My Title "
>
>
> This retention of surrounding whitespace around element content does
> not occur for elements such as <para>. Is there something I can do
> to cause surrounding whitespace to be discarded for <title> elements
> as well.
>
>
>
>