OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[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
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 <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 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
bobs@sagehill.net
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 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]