OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: page headers for <article><section>


Hi

I'm having problems trying to get article title as header on even 
pages and section title as header on odd pages for a very simple 
simple document (an article built out of sections and appendices) 
(DB5, 1.73.2, Saxon 6.5.5, XEP4.9).  A simplified version of the xml 
and xsl files is below.  Files to generate sufficient pages to 
demonstrate the problem are attached: test.xml and test.xsl and the 
pdf output, test.pdf

(For a book everything works fine as in Bob's book pp.196-7.)

The header on the odd pages (centered of course) is:
      Title of first sectionTitleof article
(i.e. a concatenation of the correct section and article titles) and so on:
      Title of second sectionTitle of article.
etc
The header on the even pages is correct:
      Title of article
and as expected

Replacing the <retrieve-marker>/<apply-templates> section by:
<xsl:value-of  select="ancestor-or-self::d:article/d:section/d:info/d:title"/>
results in picking up the title of the first section and using that 
for ALL odd pages right through the appendices.

Can anyone help?

Ron

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE article>
<article xml:id="LL" xmlns="http://docbook.org/ns/docbook"; 
version="5.0" xml:lang="EN">
   <info><title>Title of article</title></info>

   <section xml:id="LL_first" xmlns="http://docbook.org/ns/docbook"; 
version="5.0" xml:lang="EN">
     <info><title>Title of first section</title></info>
     <literallayout>
       1
       2 etc.
     </literallayout>
     <literallayout>
       1
       2 etc.
     </literallayout>
     <literallayout>
       1
       2 etc.
     </literallayout>
   </section>

   <section xml:id="LL_second" xmlns="http://docbook.org/ns/docbook"; 
version="5.0" xml:lang="EN">
     <info><title>Title of second section</title></info>
     <literallayout>
       1
       2 etc.
     </literallayout>
     <literallayout>
       1
       2 etc.
     </literallayout>
     <literallayout>etc</literallayout>
   </section>

   <appendix xml:id="LL_App_A" xmlns="http://docbook.org/ns/docbook"; 
version="5.0" xml:lang="EN">
     <info><title>Title of Appendix A</title></info>
     <literallayout>
       1
       2 etc.
     </literallayout>
     <literallayout>
       1
       2 etc.
     </literallayout>
     <literallayout>etc</literallayout>
   </appendix>

   <appendix xml:id="LL_App_B" xmlns="http://docbook.org/ns/docbook"; 
version="5.0" xml:lang="EN">
     <info><title>Title of Appendix B</title></info>
     <literallayout>
       1
       2 etc.
     </literallayout>
     <literallayout>
       1
       2 etc.
     </literallayout>
     <literallayout>etc</literallayout>
   </appendix>
</article>


with the customization layer:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
   xmlns="http://www.w3.org/1999/xhtml";
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
   xmlns:exsl="http://exslt.org/common";
   xmlns:d="http://docbook.org/ns/docbook";
   xmlns:fo="http://www.w3.org/1999/XSL/Format";
   version="1.0"
   exclude-result-prefixes="exsl">
   <xsl:import 
href="/Applications/Utilities/oxygen/8.2/oxygen/frameworks/docbook/5.0/docbook-xsl-ns-1.73.2/fo/docbook.xsl"/>

   <xsl:param name="double.sided" select="1" />
   <xsl:param name="line-height" select="5" />
   <xsl:param name="header.column.widths" select="'1 10 1'" />
   <xsl:param name="header.rule" select="1" />
   <xsl:template name="head.sep.rule">
     <xsl:if test="$header.rule != 0">
       <xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
       <xsl:attribute name="border-bottom-style">solid</xsl:attribute>
       <xsl:attribute name="border-bottom-color">black</xsl:attribute>
     </xsl:if>
   </xsl:template>

   <xsl:template name="header.content">
     <xsl:param name="pageclass" select="''"/>
     <xsl:param name="sequence" select="''"/>
     <xsl:param name="position" select="''"/>
     <xsl:param name="gentext-key" select="''"/>
     <xsl:variable name="candidate">
       <xsl:choose>
         <xsl:when test="$double.sided != 0 and $sequence = 'odd' and 
$position = 'center'">
           <fo:retrieve-marker
             retrieve-class-name="section.head.marker"
             retrieve-position="first-including-carryover"
             retrieve-boundary="page-sequence"/>
           <xsl:apply-templates select="." mode="title.markup"/>
         </xsl:when>
<!--     <xsl:value-of 
select="ancestor-or-self::d:article/d:section/d:info/d:title"/> -->
         <xsl:when test="$double.sided != 0 and $sequence = 'even' and 
$position = 'center'">
           <xsl:value-of  select="ancestor-or-self::d:article/d:info/d:title"/>
         </xsl:when>
       </xsl:choose>
     </xsl:variable>
     <xsl:choose>
       <xsl:when test="$sequence='blank' and $headers.on.blank.pages=0">
       </xsl:when>
       <xsl:when test="$pageclass = 'titlepage'">
       </xsl:when>
       <xsl:otherwise>
         <xsl:copy-of select="$candidate"/>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>
</xsl:stylesheet>


-- 
Ron Catterall, Phd, DSc			        	email: 
ron@catterall.net
Prolongacion de Hidalgo 140				http://catterall.net/
San Felipe del Agua					tel: +52 951 520 1821
Oaxaca      68020	Mexico				fax: +1 530 348 8309

test.xml

test.xsl

test.pdf



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]