The problem is in this line:
<xsl:value-of select="//bookinfo/title"/>
When you take the value of an element, you are taking its string value, which
ignores any element markup.
One way of processing just the text without involving the "title" template is
to use:
<xsl:apply-template select="//bookinfo/title/node()"/>
Or you could just use:
<xsl:apply-templates select="//book" mode="object.title.markup"/>
Bob Stayton
Sagehill Enterprises
DocBook Consulting
[EMAIL PROTECTED]
----- Original Message -----
From: Robert Sleator
To: [email protected]
Sent: Friday, October 12, 2007 11:49 AM
Subject: [docbook-apps] superscripts in page headers
I am trying to use the contents of bookinfo/title in the page header.
This title contains the subelement: "<superscript>®</superscript>".
I'm specifying this with the following in my " header.content" template:
<xsl:when test="$sequence = 'even' and $position = 'left'">
<xsl:value-of select="//bookinfo/title"/>
</xsl:when>
The problem is that the "superscript" is ignored and the "registered"
symbol is on the baseline and too large.
For the right header I use the following:
<xsl:when test="$sequence = 'odd' and $position = 'right'">
<xsl:apply-templates select="." mode="object.title.markup"/>
</xsl:when>
On the TOC pages this pulls in the bookinfo/title, but here the "®"
IS superscripted.
These are obviously taking different pathways through the templates,
but is there any way to get the superscripting to work in the first ?
My environment:
docbook-xsl-1.73.2 (but get the same results with 1.72.0)
FOP 0.94
Docbook 4.12
xalan-j_2_7_0
Windows XP
Any help is appreciated.
Thanks.