[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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]