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