[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Xref Numbering Thanks and Follow Up
Thanks, Dr. Catterall, for the very quick response to my request for help with the problem getting Docbook to include page numbers for my Xref files. Unfortunately, it still is not working. I changed my docbook customization layer as indicated below. Note, I included only the template for "section" in the xref-number-and-title context. That is the only thing to which I am or will be linking. Unfortunately, it still does not display the page number. I also tried setting the parameter to true and that worked. I could have sworn I tried that before, but I don't remember it working. I did also find a work-around, I simply changed the style sheet, xref.xsl, to always put the page number by removing the if statement around the check for insert.xref.page.number. However, I don't see where to change it to write the word "page" in addition to the number. In my situation, I can live with simply hard coding the style sheet to always display Page nnn for an xref, but don't see where to do this. <?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="./titlepage.xsl"/> <xsl:import href="/opt/docbook/DOCBOOK/docbook-xsl-1.65.1/fo/docbook.xsl"/> <xsl:attribute-set name="formal.object.properties"> <xsl:attribute name="keep-together.within-column">auto</xsl:attribute> </xsl:attribute-set> <xsl:param name="local.l10n.xml" select="document('')"/> <l:i18n xmlns:l="http://docbook.sourceforge/xmlns/l10n/1.0"> <l:l10n language="en"> <l:context name="xref-number-and-title"> <l:template name="section" style="page_ref" text="Section .%p"/> </l:context> <l:context name="xref"> <l:template name="formalpara" style="fp_page_ref" text="Paragraph “%t”"/> <l:template name="olink.page.citation" text="(page %p)"/> <l:template name="page.citation" text="[%p]"/> <l:template name="page" text="(page %p)"/> <l:template name="docname" text="in %o"/> <l:template name="docnamelong" text="in the document title %o"/> <l:template name="pageabbrev" text="(p. %p)"/> <l:template name="Page" text="Page %p"/> </l:context> </l:l10n> </l:i18n> </xsl:stylesheet> I also did some testing by adding "xsl:message" to the xsl style sheets themselves and I got the following. @toolman#/home/leffstudent/225 >LT Te.xml Making portrait pages on USletter paper (8.5inx11in) In Gentext Template In Gentext Template In Gentext Template xref match In relevant part, here is the instrumentation to xref.xsl: <xsl:template match="xref" name="xref"> <xsl:variable name="targets" select="key('id',@linkend)"/> <xsl:variable name="target" select="$targets[1]"/> <xsl:variable name="refelem" select="local-name($target)"/> <xsl:message><xsl:text>xref match</xsl:text></xsl:message> <xsl:call-template name="check.id.unique"> <xsl:with-param name="linkend" select="@linkend"/> </xsl:call-template> <!-- Add standard page reference? --> <xsl:if test="not(starts-with(normalize-space(@xrefstyle), 'select:') != '' and (contains(@xrefstyle, 'page') or contains(@xrefstyle, 'Page'))) and ( $insert.xref.page.number = 'yes' or $insert.xref.page.number = '1') or local-name($target) = 'para'"> <xsl:message><xsl:text>IF PAGE</xsl:text></xsl:message> <fo:basic-link internal-destination="{@linkend}" xsl:use-attribute-sets="xref.properties"> <xsl:apply-templates select="$target" mode="page.citation"> <xsl:with-param name="id" select="@linkend"/> </xsl:apply-templates> </fo:basic-link> </xsl:if> </xsl:template> So it appears the if to generate the page number was not being executed. The "In Gentext Template" comes from xsl:template name="gentext" Thanks for any insight anyone can provide. Dr. Laurence Leff Western Illinois University, Macomb IL 61455 ||(309) 298-1315 Stipes 447 Assoc. Prof. of Computer Sci. Pager: 309-367-0787 FAX: 309-298-2302
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]