]> granicus.if.org Git - docbook-dsssl/commitdiff
Move calculation of linenumber.* parameters into the number.rtf.lines template
authorNorman Walsh <ndw@nwalsh.com>
Mon, 21 May 2001 17:16:03 +0000 (17:16 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Mon, 21 May 2001 17:16:03 +0000 (17:16 +0000)
xsl/fo/callout.xsl
xsl/fo/verbatim.xsl
xsl/html/callout.xsl
xsl/html/verbatim.xsl

index e00f98d74f9fad0b0fc0e3ebefef1936bfa72231..05678bb8dd372d2aff00a05262b44f7cf3cf3f7b 100644 (file)
                         and $linenumbering.extension != '0'">
           <xsl:call-template name="number.rtf.lines">
             <xsl:with-param name="rtf" select="$rtf-with-callouts"/>
-            <xsl:with-param name="linenumbering.everyNth"
-                            select="$linenumbering.everyNth"/>
-            <xsl:with-param name="linenumbering.width"
-                            select="$linenumbering.width"/>
-            <xsl:with-param name="linenumbering.separator"
-                            select="$linenumbering.separator"/>
+            <xsl:with-param name="pi.context"
+                            select="programlisting|screen"/>
           </xsl:call-template>
           <xsl:apply-templates select="calloutlist"/>
         </xsl:when>
index d8e97b174832e1e117e9c3416475cf4717935009..ce8d4f6a0c2ee64374d476a20505f6ed2fbf0fc8 100644 (file)
   <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
 
-  <!-- Obey the <?dbfo linenumbering.everyNth="x"?> PI -->
-  <xsl:variable name="pi.linenumbering.everyNth">
-    <xsl:call-template name="dbfo-attribute">
-      <xsl:with-param name="attribute" select="'everyNth'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="everyNth">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.everyNth != ''">
-        <xsl:value-of select="$pi.linenumbering.everyNth"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$linenumbering.everyNth"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Obey the <?dbfo linenumbering.separator="x"?> PI -->
-  <xsl:variable name="pi.linenumbering.separator">
-    <xsl:call-template name="dbfo-attribute">
-      <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="separator">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.separator != ''">
-        <xsl:value-of select="$pi.linenumbering.separator"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$linenumbering.separator"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
   <xsl:choose>
     <xsl:when test="$suppress-numbers = '0'
                     and @linenumbering = 'numbered'
                 xsl:use-attribute-sets="monospace.verbatim.properties">
         <xsl:call-template name="number.rtf.lines">
           <xsl:with-param name="rtf" select="$rtf"/>
-          <xsl:with-param name="linenumbering.everyNth"
-                          select="$everyNth"/>
-          <xsl:with-param name="linenumbering.width"
-                          select="$linenumbering.width"/>
-          <xsl:with-param name="linenumbering.separator"
-                          select="$separator"/>
         </xsl:call-template>
       </fo:block>
     </xsl:when>
                     xsl:use-attribute-sets="monospace.verbatim.properties">
             <xsl:call-template name="number.rtf.lines">
               <xsl:with-param name="rtf" select="$rtf"/>
-              <xsl:with-param name="linenumbering.everyNth"
-                              select="$linenumbering.everyNth"/>
-              <xsl:with-param name="linenumbering.width"
-                              select="$linenumbering.width"/>
-              <xsl:with-param name="linenumbering.separator"
-                              select="$linenumbering.separator"/>
             </xsl:call-template>
           </fo:block>
         </xsl:when>
                     xsl:use-attribute-sets="verbatim.properties">
             <xsl:call-template name="number.rtf.lines">
               <xsl:with-param name="rtf" select="$rtf"/>
-              <xsl:with-param name="linenumbering.everyNth"
-                              select="$linenumbering.everyNth"/>
-              <xsl:with-param name="linenumbering.width"
-                              select="$linenumbering.width"/>
-              <xsl:with-param name="linenumbering.separator"
-                              select="$linenumbering.separator"/>
             </xsl:call-template>
           </fo:block>
         </xsl:otherwise>
                 xsl:use-attribute-sets="verbatim.properties">
         <xsl:call-template name="number.rtf.lines">
           <xsl:with-param name="rtf" select="$rtf"/>
-          <xsl:with-param name="linenumbering.everyNth"
-                          select="$linenumbering.everyNth"/>
-          <xsl:with-param name="linenumbering.width"
-                          select="$linenumbering.width"/>
-          <xsl:with-param name="linenumbering.separator"
-                          select="$linenumbering.separator"/>
         </xsl:call-template>
       </fo:block>
     </xsl:when>
 
 <xsl:template name="number.rtf.lines">
   <xsl:param name="rtf" select="''"/>
-  <!-- the following parameters must have these names ... -->
-  <xsl:param name="linenumbering.everyNth" select="1"/>
-  <xsl:param name="linenumbering.width" select="3"/>
-  <xsl:param name="linenumbering.separator" select="' |'"/>
+  <xsl:param name="pi.context" select="."/>
+
+  <!-- Save the global values -->
+  <xsl:variable name="global.linenumbering.everyNth"
+                select="$linenumbering.everyNth"/>
+
+  <xsl:variable name="global.linenumbering.separator"
+                select="$linenumbering.separator"/>
+
+  <xsl:variable name="global.linenumbering.width"
+                select="$linenumbering.width"/>
+
+  <!-- Extract the <?dbfo linenumbering.*?> PI values -->
+  <xsl:variable name="pi.linenumbering.everyNth">
+    <xsl:call-template name="dbfo-attribute">
+      <xsl:with-param name="pis"
+                      select="$pi.context/processing-instruction('dbfo')"/>
+      <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="pi.linenumbering.separator">
+    <xsl:call-template name="dbfo-attribute">
+      <xsl:with-param name="pis"
+                      select="$pi.context/processing-instruction('dbfo')"/>
+      <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="pi.linenumbering.width">
+    <xsl:call-template name="dbfo-attribute">
+      <xsl:with-param name="pis"
+                      select="$pi.context/processing-instruction('dbfo')"/>
+      <xsl:with-param name="attribute" select="'linenumbering.width'"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <!-- Construct the 'in-context' values -->
+  <xsl:variable name="linenumbering.everyNth">
+    <xsl:choose>
+      <xsl:when test="$pi.linenumbering.everyNth != ''">
+        <xsl:value-of select="$pi.linenumbering.everyNth"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$global.linenumbering.everyNth"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <xsl:variable name="linenumbering.separator">
+    <xsl:choose>
+      <xsl:when test="$pi.linenumbering.separator != ''">
+        <xsl:value-of select="$pi.linenumbering.separator"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$global.linenumbering.separator"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <xsl:variable name="linenumbering.width">
+    <xsl:choose>
+      <xsl:when test="$pi.linenumbering.width != ''">
+        <xsl:value-of select="$pi.linenumbering.width"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$global.linenumbering.width"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
 
   <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
 
index cb289adbfe2cf324901acdec14533d889eeb01d5..9af572252dc23529ee12ae0a3bc90332e38aa3db 100644 (file)
           <div class="{name(.)}">
             <xsl:call-template name="number.rtf.lines">
               <xsl:with-param name="rtf" select="$rtf-with-callouts"/>
-              <xsl:with-param name="linenumbering.everyNth"
-                              select="$linenumbering.everyNth"/>
-              <xsl:with-param name="linenumbering.width"
-                              select="$linenumbering.width"/>
-              <xsl:with-param name="linenumbering.separator"
-                              select="$linenumbering.separator"/>
+              <xsl:with-param name="pi.context"
+                              select="programlisting|screen"/>
             </xsl:call-template>
             <xsl:apply-templates select="calloutlist"/>
           </div>
index d958d91c39d292a6391544120c72cf6a924fc1e3..bfaa1578e80773aeb0f83495f534a90916f4b44b 100644 (file)
   <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>
   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
 
-  <!-- Obey the <?dbhtml linenumbering.everyNth="x"?> PI -->
-  <xsl:variable name="pi.linenumbering.everyNth">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="attribute" select="'everyNth'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="everyNth">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.everyNth != ''">
-        <xsl:value-of select="$pi.linenumbering.everyNth"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$linenumbering.everyNth"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
-  <!-- Obey the <?dbhtml linenumbering.separator="x"?> PI -->
-  <xsl:variable name="pi.linenumbering.separator">
-    <xsl:call-template name="dbhtml-attribute">
-      <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
-    </xsl:call-template>
-  </xsl:variable>
-
-  <xsl:variable name="separator">
-    <xsl:choose>
-      <xsl:when test="$pi.linenumbering.separator != ''">
-        <xsl:value-of select="$pi.linenumbering.separator"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="$linenumbering.separator"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-
   <xsl:if test="@id">
     <a href="{$id}"/>
   </xsl:if>
       <pre class="{name(.)}">
         <xsl:call-template name="number.rtf.lines">
           <xsl:with-param name="rtf" select="$rtf"/>
-          <xsl:with-param name="linenumbering.everyNth"
-                          select="$everyNth"/>
-          <xsl:with-param name="linenumbering.width"
-                          select="$linenumbering.width"/>
-          <xsl:with-param name="linenumbering.separator"
-                          select="$separator"/>
         </xsl:call-template>
       </pre>
     </xsl:when>
-
     <xsl:otherwise>
       <pre class="{name(.)}">
         <xsl:apply-templates/>
           <pre class="{name(.)}">
             <xsl:call-template name="number.rtf.lines">
               <xsl:with-param name="rtf" select="$rtf"/>
-              <xsl:with-param name="linenumbering.everyNth"
-                              select="$linenumbering.everyNth"/>
-              <xsl:with-param name="linenumbering.width"
-                              select="$linenumbering.width"/>
-              <xsl:with-param name="linenumbering.separator"
-                              select="$linenumbering.separator"/>
             </xsl:call-template>
           </pre>
         </xsl:when>
           <div class="{name(.)}">
             <xsl:call-template name="number.rtf.lines">
               <xsl:with-param name="rtf" select="$rtf"/>
-              <xsl:with-param name="linenumbering.everyNth"
-                              select="$linenumbering.everyNth"/>
-              <xsl:with-param name="linenumbering.width"
-                              select="$linenumbering.width"/>
-              <xsl:with-param name="linenumbering.separator"
-                              select="$linenumbering.separator"/>
             </xsl:call-template>
           </div>
         </xsl:otherwise>
       <div class="{name(.)}">
         <xsl:call-template name="number.rtf.lines">
           <xsl:with-param name="rtf" select="$rtf"/>
-          <xsl:with-param name="linenumbering.everyNth"
-                          select="$linenumbering.everyNth"/>
-          <xsl:with-param name="linenumbering.width"
-                          select="$linenumbering.width"/>
-          <xsl:with-param name="linenumbering.separator"
-                          select="$linenumbering.separator"/>
         </xsl:call-template>
       </div>
     </xsl:when>
 
 <xsl:template name="number.rtf.lines">
   <xsl:param name="rtf" select="''"/>
-  <!-- the following parameters must have these names ... -->
-  <xsl:param name="linenumbering.everyNth" select="1"/>
-  <xsl:param name="linenumbering.width" select="3"/>
-  <xsl:param name="linenumbering.separator" select="' |'"/>
+  <xsl:param name="pi.context" select="."/>
+
+  <!-- Save the global values -->
+  <xsl:variable name="global.linenumbering.everyNth"
+                select="$linenumbering.everyNth"/>
+
+  <xsl:variable name="global.linenumbering.separator"
+                select="$linenumbering.separator"/>
+
+  <xsl:variable name="global.linenumbering.width"
+                select="$linenumbering.width"/>
+
+  <!-- Extract the <?dbhtml linenumbering.*?> PI values -->
+  <xsl:variable name="pi.linenumbering.everyNth">
+    <xsl:call-template name="dbhtml-attribute">
+      <xsl:with-param name="pis"
+                      select="$pi.context/processing-instruction('dbhtml')"/>
+      <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="pi.linenumbering.separator">
+    <xsl:call-template name="dbhtml-attribute">
+      <xsl:with-param name="pis"
+                      select="$pi.context/processing-instruction('dbhtml')"/>
+      <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <xsl:variable name="pi.linenumbering.width">
+    <xsl:call-template name="dbhtml-attribute">
+      <xsl:with-param name="pis"
+                      select="$pi.context/processing-instruction('dbhtml')"/>
+      <xsl:with-param name="attribute" select="'linenumbering.width'"/>
+    </xsl:call-template>
+  </xsl:variable>
+
+  <!-- Construct the 'in-context' values -->
+  <xsl:variable name="linenumbering.everyNth">
+    <xsl:choose>
+      <xsl:when test="$pi.linenumbering.everyNth != ''">
+        <xsl:value-of select="$pi.linenumbering.everyNth"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$global.linenumbering.everyNth"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <xsl:variable name="linenumbering.separator">
+    <xsl:choose>
+      <xsl:when test="$pi.linenumbering.separator != ''">
+        <xsl:value-of select="$pi.linenumbering.separator"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$global.linenumbering.separator"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+
+  <xsl:variable name="linenumbering.width">
+    <xsl:choose>
+      <xsl:when test="$pi.linenumbering.width != ''">
+        <xsl:value-of select="$pi.linenumbering.width"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$global.linenumbering.width"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
 
   <xsl:variable name="vendor" select="system-property('xsl:vendor')"/>