Re: insert.link.page.number in xsl stylesheets
Bob Stayton <[email protected]> Mon, 14 Jun 2021 23:25:28 -0700
| Newsgroups | gmane.text.docbook.apps |
|---|---|
| Message-ID | <[email protected]> |
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
[email protected]
On 6/14/2021 8:27 PM, Kevin Dunn wrote:
> 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 <[email protected]>
> *Sent:* Monday, June 14, 2021 5:00 PM
> *To:* [email protected]
> <[email protected]>
> *Subject:* Re: [docbook-apps] insert.link.page.number in xsl stylesheets
>
> I 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
> [email protected] <mailto:[email protected]>
> On 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
>> readinghttp://www.sagehill.net/docbookxsl/CustomXrefs.html
>> <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?