[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] insert.link.page.number in xsl stylesheets
Hi Kevin,
Indeed, it looks like the "select:" mechanism in @xrefstyle was never implemented for link element page references, only for xrefs. This will require customizing the generated text instead. See http://www.sagehill.net/docbookxsl/CustomGentext.html#CustomGenText
You can
change the default (unspecified) style by adding this to your
customization layer:
<xsl:param
name="local.l10n.xml" select="document('')"/>
<l:i18n
xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
<l:l10n language="en">
<l:context name="xref">
<l:template name="page.citation" text=" (page
%p)"/>
</l:context>
</l:l10n>
</l:i18n>
If you
don't want to alter the default style, the named style
mechanism does work, so you could add a this instead (note
the @style attribute):
.
<xsl:param
name="local.l10n.xml" select="document('')"/>
<l:i18n
xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
<l:l10n language="en">
<l:context name="xref">
<l:template name="page.citation" style="mystyle"
text=" (page %p)"/>
</l:context>
</l:l10n>
</l:i18n>
Then you would get your style if you specify <link
xrefstyle="mystyle">, otherwise you get the default.
Bob Stayton bobs@sagehill.net
Putting "'yes'" (single in double quotes) in the param statement got the links to put out page numbers. I guess that's what I get for reading Chapter 15 before Chapter 1. But links put out the "unspecified" page style, no matter what xrefstyle is set to. I tried:
<link xrefstyle="select: page" linkend="source">A Chapter link</link>
<link xrefstyle="select: 'page'" linkend="source">A Chapter link</link>
<link xrefstyle="'select: page'" linkend="source">A Chapter link</link>
<link xrefstyle='select: page' linkend="source">A Chapter link</link>
<link xrefstyle='"select: page"' linkend="source">A Chapter link</link>
In all five cases, the rendering was:A Chapter link [15]
Interestingly, xref and link behave differently when it comes to quotes, and I can see that they are treated differently in xref.xsl.
From: Bob Stayton <bobs@sagehill.net>
Sent: Monday, June 14, 2021 5:00 PM
To: docbook-apps@lists.oasis-open.org <docbook-apps@lists.oasis-open.org>
Subject: Re: [docbook-apps] insert.link.page.number in xsl stylesheetsI think the problem is in the param statement, where the string yes is being interpreted as an element name.
<xsl:param name="insert.link.page.number" select="'yes'"/>
(I added single quotes around the word yes).
Bob Stayton bobs@sagehill.netOn 6/14/2021 12:05 PM, Kevin Dunn wrote:
I'm customizing xrefs to render page numbers in pdf files for print. Setting insert.xref.page.number to yes, and using an xrefstyle attribute, I can get the desired output, e.g. "See Appendix B (page 127)."
Page number for links do not work as I would expect from reading http://www.sagehill.net/docbookxsl/CustomXrefs.html.
In my custom xsl, I have both:<xsl:param name="insert.xref.page.number" select="yes"/>
<xsl:param name="insert.link.page.number" select="yes"/>
My xml file contains both:<xref xrefstyle="select: label title page" linkend="source"/>
<link xrefstyle="select: page" linkend="source">A Chapter link</link>
The fo from xsltproc renders page numbers for the xref, but not for the link. The behavior is the same using version 1.79.1 stylesheet and the snapshot/2020-06-03. Fop, xep, and axf produce PDFs with working links, but rendered page numbers only for the xrefs.
I may be misreading the documentation or misunderstanding the xsl (very possible). The xsl is different for xref and link in xref.xsl, but to my untrained eye, both look reasonable.
Any suggestions?
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]