]> granicus.if.org Git - docbook-dsssl/commitdiff
1. Make page citations on <xref/> to paragraphs conditional on a new parameter,
authorAlexey Neyman <stilor@att.net>
Mon, 23 Sep 2013 16:57:50 +0000 (16:57 +0000)
committerAlexey Neyman <stilor@att.net>
Mon, 23 Sep 2013 16:57:50 +0000 (16:57 +0000)
$insert.xref.page.number.para, default to 'yes' (before, page citations were
added unconditionally). Remove similar special-casing for <link/>.

2. Disable page citations for @xrefstyle="template:..." (if needed, they
can be added with %p in the template - but they can't be disabled).

xsl/common/olink.xsl
xsl/fo/param.ent
xsl/fo/param.xweb
xsl/fo/xref.xsl
xsl/html/param.ent
xsl/html/param.xweb
xsl/xhtml-1_1/param.ent
xsl/xhtml-1_1/param.xweb

index 22fdf3644d863b867bbcb2931f876b7e7e662327..83698d0304a4f6c2d6e8298c26e3dacab382fdec 100644 (file)
                          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 5043e657fbfeffc1d90583ebf447a64e1820f5f9..43f3d615daaafb9b38a4bf98980fa14bbf7b0f83 100644 (file)
 <!ENTITY informal.object.properties SYSTEM "../params/informal.object.properties.xml">
 <!ENTITY index.preferred.page.properties SYSTEM "../params/index.preferred.page.properties.xml">
 <!ENTITY insert.xref.page.number SYSTEM "../params/insert.xref.page.number.xml">
+<!ENTITY insert.xref.page.number.para SYSTEM "../params/insert.xref.page.number.para.xml">
 <!ENTITY itemizedlist.properties SYSTEM "../params/itemizedlist.properties.xml">
 <!ENTITY itemizedlist.label.properties SYSTEM "../params/itemizedlist.label.properties.xml">
 <!ENTITY label.from.part SYSTEM "../params/label.from.part.xml">
index 1abee03c34f8bf16b5e6a35ba54dd163cb509467..89501faaa225ac6da8e4666fc8e67ad331921bfb 100644 (file)
@@ -183,6 +183,7 @@ generate.section.toc.level;
 </reference>
 <reference xml:id="xrefs"><title>Cross References</title>
 &insert.xref.page.number;
+&insert.xref.page.number.para;
 &xref.properties;
 &xref.label-title.separator;
 &xref.label-page.separator;
@@ -727,6 +728,7 @@ around all these parameters.</para>
 <src:fragref linkend="index.term.separator.frag"/>
 <src:fragref linkend="insert.link.page.number.frag"/>
 <src:fragref linkend="insert.xref.page.number.frag"/>
+<src:fragref linkend="insert.xref.page.number.para.frag"/>
 <src:fragref linkend="itemizedlist.properties.frag"/>
 <src:fragref linkend="itemizedlist.label.properties.frag"/>
 <src:fragref linkend="itemizedlist.label.width.frag"/>
index 8685264592051b356c6a6a873dbf8756f9000e9f..93fdfa68bc7908e5929595276cbba7e665d75636 100644 (file)
                   and contains($xrefstyle, 'nopage')">
       <!-- negative xrefstyle in instance turns it off -->
     </xsl:when>
+    <xsl:when test="starts-with(normalize-space($xrefstyle), 'template:')">
+      <!-- if page citation were wanted, it would've been in the template as %p -->
+    </xsl:when>
     <!-- positive xrefstyle already handles it -->
     <xsl:when test="not(starts-with(normalize-space($xrefstyle), 'select:') 
                   and (contains($xrefstyle, 'page')
                        or contains($xrefstyle, 'Page')))
                   and ( $insert.xref.page.number = 'yes' 
                      or $insert.xref.page.number = '1')
-                  or (local-name($target) = 'para' and
-                     $xrefstyle = '')">
+                  or (local-name($target) = 'para'
+                     and $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>
                   and (contains($xrefstyle, 'page')
                        or contains($xrefstyle, 'Page')))
                   or ( $insert.link.page.number = 'yes' 
-                     or $insert.link.page.number = '1')
-                  or local-name($target) = 'para'">
+                     or $insert.link.page.number = '1')">
       <xsl:apply-templates select="$target" mode="page.citation">
         <xsl:with-param name="id" select="$linkend"/>
       </xsl:apply-templates>
index d33ac4840f57859c09e1a52116ce5edaf7612543..a71c8acc10ae905ce7ce59ede3234978880899bd 100644 (file)
 <!ENTITY eclipse.plugin.name SYSTEM "../params/eclipse.plugin.name.xml">
 <!ENTITY eclipse.plugin.id SYSTEM "../params/eclipse.plugin.id.xml">
 <!ENTITY eclipse.plugin.provider SYSTEM "../params/eclipse.plugin.provider.xml">
+<!ENTITY insert.xref.page.number.para SYSTEM "../params/insert.xref.page.number.para.xml">
 <!ENTITY insert.xref.page.number SYSTEM "../params/insert.xref.page.number.xml">
 <!ENTITY component.label.includes.part.label SYSTEM "../params/component.label.includes.part.label.xml">
 <!ENTITY simplesect.in.toc SYSTEM "../params/simplesect.in.toc.xml">
index 1e754a4aa664a823b240b60db0dc54d1884ef1ec..9f2f32eb71f9ae12def99263bef23fe7ad546885 100644 (file)
@@ -221,6 +221,7 @@ $Id$
 <reference xml:id="xrefs"><title>Cross References</title>
 &collect.xref.targets;
 &insert.xref.page.number;
+&insert.xref.page.number.para;
 &use.role.as.xrefstyle;
 &xref.with.number.and.title;
 &xref.label-page.separator;
@@ -633,6 +634,7 @@ around all these parameters.</para>
 <src:fragref linkend="insert.olink.page.number.frag"/>
 <src:fragref linkend="insert.olink.pdf.frag.frag"/>
 <src:fragref linkend="insert.xref.page.number.frag"/>
+<src:fragref linkend="insert.xref.page.number.para.frag"/>
 <src:fragref linkend="javahelp.encoding.frag"/>
 <src:fragref linkend="keep.relative.image.uris.frag"/>
 <src:fragref linkend="l10n.gentext.default.language.frag"/>
index 9d3f055f936cea9f0cd9390771536a5b27219ec7..005e4f693321c020ba71cc791b44a8b76e788667 100644 (file)
 <!ENTITY eclipse.plugin.name SYSTEM "../params/eclipse.plugin.name.xml">
 <!ENTITY eclipse.plugin.id SYSTEM "../params/eclipse.plugin.id.xml">
 <!ENTITY eclipse.plugin.provider SYSTEM "../params/eclipse.plugin.provider.xml">
+<!ENTITY insert.xref.page.number.para SYSTEM "../params/insert.xref.page.number.para.xml">
 <!ENTITY insert.xref.page.number SYSTEM "../params/insert.xref.page.number.xml">
 <!ENTITY component.label.includes.part.label SYSTEM "../params/component.label.includes.part.label.xml">
 <!ENTITY simplesect.in.toc SYSTEM "../params/simplesect.in.toc.xml">
index bf5c089b75be641721557569e24e476296d44b91..33d710d4c3b4c0025631f6e43e1e232d4c2c0e4f 100644 (file)
@@ -206,6 +206,7 @@ $Id: param.xweb 7583 2007-12-03 17:02:33Z mzjn $
 <reference xml:id="xrefs"><title>Cross References</title>
 &collect.xref.targets;
 &insert.xref.page.number;
+&insert.xref.page.number.para;
 &use.role.as.xrefstyle;
 &xref.with.number.and.title;
 &xref.label-page.separator;
@@ -590,6 +591,7 @@ around all these parameters.</para>
 <src:fragref linkend="ignore.image.scaling.frag"/>
 <src:fragref linkend="inherit.keywords.frag"/>
 <src:fragref linkend="insert.xref.page.number.frag"/>
+<src:fragref linkend="insert.xref.page.number.para.frag"/>
 <src:fragref linkend="javahelp.encoding.frag"/>
 <src:fragref linkend="keep.relative.image.uris.frag"/>
 <src:fragref linkend="l10n.gentext.default.language.frag"/>