[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]