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?