[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: FO output: xrefs to <para/> always include page number
|
Hi all,
Why is a cross reference to a <para> element always inserting a page number in a FO output? The stylesheets ignore the settings of $insert.link.page.number and $insert.xref.page.number parameters if the link target is a <para> element. This also applies to <olink> links if the link target is determined to be in the current document.
There seems no easy way to turn off this behavior short of customizing the whole match="link"/match="xref"/name="xref.page.citation" templates.
It seems somewhat counterintuitive that <para> element ignores the settings of $insert.*.page.number parameters. But, if it is required to preserve backward compatible behavior - is it at least possible to at least make it configurable, e.g. something along the lines of the attached patch?
PS. The patch does not update fo/param.xml: I cannot describe why the new parameters are needed until I know the reason for the current behavior.
Regards, Alexey. |
Index: common/olink.xsl
===================================================================
--- common/olink.xsl (revision 663)
+++ common/olink.xsl (working copy)
@@ -1229,7 +1229,8 @@
or contains($xrefstyle, 'Page')))
and ( $insert.xref.page.number = 'yes'
or $insert.xref.page.number = '1')
- or local-name($target) = 'para'">
+ or ( local-name($target) = 'para'
+ and $insert.xref.page.number.para = 'yes')">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$linkend"/>
</xsl:apply-templates>
Index: fo/param.xsl
===================================================================
--- fo/param.xsl (revision 663)
+++ fo/param.xsl (working copy)
@@ -396,7 +396,9 @@
<xsl:param name="index.range.separator"/>
<xsl:param name="index.term.separator"/>
<xsl:param name="insert.link.page.number">no</xsl:param>
+<xsl:param name="insert.link.page.number.para">yes</xsl:param>
<xsl:param name="insert.xref.page.number">no</xsl:param>
+<xsl:param name="insert.xref.page.number.para">yes</xsl:param>
<xsl:attribute-set name="itemizedlist.properties" use-attribute-sets="list.block.properties">
</xsl:attribute-set>
<xsl:attribute-set name="itemizedlist.label.properties">
Index: fo/xref.xsl
===================================================================
--- fo/xref.xsl (revision 663)
+++ fo/xref.xsl (working copy)
@@ -143,7 +143,7 @@
and ( $insert.xref.page.number = 'yes'
or $insert.xref.page.number = '1')
or (local-name($target) = 'para' and
- $xrefstyle = '')">
+ $xrefstyle = '' and $insert.xref.page.number.para = 'yes')">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$target/@id|$target/@xml:id"/>
</xsl:apply-templates>
@@ -926,7 +926,8 @@
or contains($xrefstyle, 'Page')))
or ( $insert.link.page.number = 'yes'
or $insert.link.page.number = '1')
- or local-name($target) = 'para'">
+ or ( local-name($target) = 'para'
+ and $insert.link.page.number.para = 'yes')">
<xsl:apply-templates select="$target" mode="page.citation">
<xsl:with-param name="id" select="$linkend"/>
</xsl:apply-templates>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]