[gnome-doc-utils/mallard: 65/87] Cleaned up some linking code



commit 8b6bdf2ff2eafec2fb5eaee50b32044b1fd41562
Author: Shaun McCance <shaunm gnome org>
Date:   Wed Dec 10 14:11:20 2008 -0600

    Cleaned up some linking code
---
 doc/mallard/C/mal_inline_link.xml     |    2 +-
 xslt/mallard/common/mal-link.xsl      |  123 +++++++++++++++++--------
 xslt/mallard/html/mal2html-inline.xsl |  106 +++++++++-------------
 xslt/mallard/html/mal2html-page.xsl   |  159 +++++++++++++++++----------------
 4 files changed, 209 insertions(+), 181 deletions(-)

diff --git a/doc/mallard/C/mal_inline_link.xml b/doc/mallard/C/mal_inline_link.xml
index 3572d45..f56bc85 100644
--- a/doc/mallard/C/mal_inline_link.xml
+++ b/doc/mallard/C/mal_inline_link.xml
@@ -49,7 +49,7 @@ mal_inline_link = element link {
     style hints.  Processing tools should adjust their rendering according to
     those style hints they understand.</p></item>
 
-    <item><p>The <code>app</code> element can have attributes from external
+    <item><p>The <code>link</code> element can have attributes from external
     namespaces.  See <link xref="mal_attr_external"/> for more information
     on external-namespace attributes on inline elements.</p></item>
 
diff --git a/xslt/mallard/common/mal-link.xsl b/xslt/mallard/common/mal-link.xsl
index c5c563f..63b228c 100644
--- a/xslt/mallard/common/mal-link.xsl
+++ b/xslt/mallard/common/mal-link.xsl
@@ -28,49 +28,92 @@ Mallard Links
 <!--**==========================================================================
 mal.link.content
 Generates the content for a #{link} element
-$node: FIXME
-$xref: FIXME
+$link: The #{link} or other element creating the link
+$xref: The #{xref} attribute of ${link}
+$href: The #{href} attribute of ${link}
 -->
 <xsl:template name="mal.link.content">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="xref" select="$node/@xref"/>
-  <xsl:variable name="linkid">
-    <xsl:choose>
-      <xsl:when test="contains($xref, '#')">
-        <xsl:value-of select="$xref"/>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:value-of select="concat($xref, '#', $xref)"/>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:variable>
-  <xsl:for-each select="$cache">
-    <!-- FIXME: if empty -->
-    <xsl:apply-templates mode="mal2html.inline.mode"
-                         select="key('cache_key', $linkid)
-                                 /mal:info/mal:title[ type = 'link']/node()"/>
-  </xsl:for-each>
+  <xsl:param name="link" select="."/>
+  <xsl:param name="xref" select="$link/@xref"/>
+  <xsl:param name="href" select="$link/@href"/>
+  <xsl:choose>
+    <xsl:when test="contains($xref, '/')">
+      <!--
+      This is a link to another document, which we don't handle in these
+      stylesheets.  Extensions such like library or yelp should override
+      this template to provide this functionality.
+      -->
+      <xsl:choose>
+        <xsl:when test="$href">
+          <xsl:value-of select="$href"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$xref"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:variable name="linkid">
+        <xsl:choose>
+          <xsl:when test="contains($xref, '#')">
+            <xsl:value-of select="$xref"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="concat($xref, '#', $xref)"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:variable>
+      <xsl:apply-templates mode="mal.link.content.mode"
+                           select="key('cache_key', $linkid)
+                                   /mal:info/mal:title[ type = 'link']/node()"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+
+<!--%%==========================================================================
+mal.link.content.mode
+Renders the content of a link from a title
+
+This mode is applied to the contents of a #{title} element by *{mal.link.content}.
+By default, it returns the string value of its input.  Stylesheets that import
+this module should override this to call their inline mode.
+-->
+<xsl:template mode="mal.link.content.mode" match="* | text()">
+  <xsl:value-of select="."/>
 </xsl:template>
 
 
 <!--**==========================================================================
 mal.link.target
 Generates the target for a #{link} element
-$node: FIXME
-$xref: FIXME
+$link: The #{link} or other element creating the link
+$xref: The #{xref} attribute of ${link}
+$href: The #{href} attribute of ${link}
 -->
 <xsl:template name="mal.link.target">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="xref" select="$node/@xref"/>
-  <!-- FIXME -->
+  <xsl:param name="link" select="."/>
+  <xsl:param name="xref" select="$link/@xref"/>
+  <xsl:param name="href" select="$link/@href"/>
   <xsl:choose>
+    <xsl:when test="string($xref) = ''">
+      <xsl:value-of select="$href"/>
+    </xsl:when>
+    <xsl:when test="contains($xref, '/')">
+      <!--
+      This is a link to another document, which we don't handle in these
+      stylesheets.  Extensions such like library or yelp should override
+      this template to provide this functionality.
+      -->
+      <xsl:value-of select="$href"/>
+    </xsl:when>
     <xsl:when test="contains($xref, '#')">
-      <xsl:variable name="page" select="substring-before($xref, '#')"/>
-      <xsl:variable name="sect" select="substring-after($xref, '#')"/>
-      <xsl:if test="$page != ''">
-        <xsl:value-of select="concat($page, $mal.extension)"/>
+      <xsl:variable name="pageid" select="substring-before($xref, '#')"/>
+      <xsl:variable name="sectionid" select="substring-after($xref, '#')"/>
+      <xsl:if test="$pageid != ''">
+        <xsl:value-of select="concat($pageid, $mal.extension)"/>
       </xsl:if>
-      <xsl:value-of select="concat('#', $sect)"/>
+      <xsl:value-of select="concat('#', $sectionid)"/>
     </xsl:when>
     <xsl:otherwise>
       <xsl:value-of select="concat($xref, $mal.extension)"/>
@@ -81,24 +124,24 @@ $xref: FIXME
 
 <!--**==========================================================================
 mal.link.tooltip
-Generates the tooltip for a #{link} element
-$node: FIXME
-$xref: FIXME
-$href: FIXME
+Generates the tooltip for a #{link} or other linking element
+$link: The #{link} or other element creating the link
+$xref: The #{xref} attribute of ${link}
+$href: The #{href} attribute of ${link}
 -->
 <xsl:template name="mal.link.tooltip">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="xref" select="$node/@xref"/>
-  <xsl:param name="href" select="$node/@href"/>
+  <xsl:param name="link" select="."/>
+  <xsl:param name="xref" select="$link/@xref"/>
+  <xsl:param name="href" select="$link/@href"/>
   <xsl:choose>
-    <xsl:when test="$xref">
+    <xsl:when test="string($xref) != ''">
       <!-- FIXME -->
     </xsl:when>
     <xsl:when test="starts-with($href, 'mailto:')">
-      <xsl:variable name="addy" select="substring-after($href, 'mailto:')"/>
+      <xsl:variable name="address" select="substring-after($href, 'mailto:')"/>
       <xsl:call-template name="l10n.gettext">
         <xsl:with-param name="msgid" select="'email.tooltip'"/>
-        <xsl:with-param name="string" select="$addy"/>
+        <xsl:with-param name="string" select="$address"/>
         <xsl:with-param name="format" select="true()"/>
       </xsl:call-template>
     </xsl:when>
diff --git a/xslt/mallard/html/mal2html-inline.xsl b/xslt/mallard/html/mal2html-inline.xsl
index 5edcd00..aeeabec 100644
--- a/xslt/mallard/html/mal2html-inline.xsl
+++ b/xslt/mallard/html/mal2html-inline.xsl
@@ -27,77 +27,66 @@ Mallard to HTML - Inline Elements
 REMARK: Describe this module
 -->
 
+<xsl:template mode="mal.link.content.mode" match="*">
+  <xsl:apply-templates mode="mal2html.inline.mode" select="."/>
+</xsl:template>
+
+
+<!--%%==========================================================================
+mal2html.inline.mode
+Processes an element in inline mode
+
+FIXME
+-->
+
+
+<!--%%==========================================================================
+mal2html.inline.content.mode
+Outputs the contents of an inline element
+
+FIXME
+-->
+<xsl:template mode="mal2html.inline.content.mode" match="*">
+  <xsl:apply-templates/>
+</xsl:template>
+
 
 <!--**==========================================================================
 mal2html.span
 Renders an inline element as a #{span}
 $node: The element to render
-$content: An optional parameter specifying the content of the #{span}
 
 REMARK: Document this template
 -->
 <xsl:template name="mal2html.span">
   <xsl:param name="node" select="."/>
-  <xsl:param name="content" select="false()"/>
   <span class="{local-name($node)}">
     <xsl:choose>
-      <xsl:when test="$node/@xref">
-        <a class="xref">
+      <xsl:when test="$node/@xref | $node/@xref">
+        <a>
           <xsl:attribute name="href">
             <xsl:call-template name="mal.link.target">
-              <xsl:with-param name="node" select="$node"/>
-              <xsl:with-param name="xref" select="$node/@xref"/>
+              <xsl:with-param name="link" select="$node"/>
             </xsl:call-template>
           </xsl:attribute>
           <xsl:attribute name="title">
             <xsl:call-template name="mal.link.tooltip">
-              <xsl:with-param name="node" select="$node"/>
-              <xsl:with-param name="xref" select="$node/@xref"/>
+              <xsl:with-param name="link" select="$node"/>
             </xsl:call-template>
           </xsl:attribute>
-          <xsl:choose>
-            <xsl:when test="$content">
-              <xsl:copy-of select="$content"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates mode="mal2html.inline.mode" select="$node/node()"/>
-            </xsl:otherwise>
-          </xsl:choose>
-        </a>
-      </xsl:when>
-      <xsl:when test="$node/@href">
-        <a class="href" href="{$node/@href}">
-          <xsl:attribute name="title">
-            <xsl:call-template name="mal.link.tooltip">
-              <xsl:with-param name="node" select="$node"/>
-              <xsl:with-param name="href" select="$node/@href"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <xsl:choose>
-            <xsl:when test="$content">
-              <xsl:copy-of select="$content"/>
-            </xsl:when>
-            <xsl:otherwise>
-              <xsl:apply-templates mode="mal2html.inline.mode" select="$node/node()"/>
-            </xsl:otherwise>
-          </xsl:choose>
+          <xsl:apply-templates mode="mal2html.inline.content.mode" select="$node"/>
         </a>
       </xsl:when>
       <xsl:otherwise>
-        <xsl:choose>
-          <xsl:when test="$content">
-            <xsl:copy-of select="$content"/>
-          </xsl:when>
-          <xsl:otherwise>
-            <xsl:apply-templates mode="mal2html.inline.mode" select="$node/node()"/>
-          </xsl:otherwise>
-        </xsl:choose>
+        <xsl:apply-templates mode="mal2html.inline.content.mode" select="$node"/>
       </xsl:otherwise>
     </xsl:choose>
   </span>
 </xsl:template>
 
 
+
+
 <!--**==========================================================================
 mal2html.inline.css
 Outputs CSS that controls the appearance of inline elements
@@ -119,7 +108,7 @@ span.email { color: red; }
 span.file { font-family: monospace; }
 span.gui { color: red; }
 span.input { color: red; }
-span.key { color: red; }
+span.key { /* FIXME */ }
 span.output { color: red; }
 span.sys { font-family: monospace; }
 span.var { font-style: italic; }
@@ -183,24 +172,19 @@ span.var { font-style: italic; }
 
 <!-- = link = -->
 <xsl:template mode="mal2html.inline.mode" match="mal:link">
-  <xsl:call-template name="mal2html.span">
-    <xsl:with-param name="content">
-      <xsl:choose>
-        <xsl:when test="normalize-space(.) != ''">
-          <xsl:apply-templates/>
-        </xsl:when>
-        <xsl:when test="@xref">
-          <xsl:call-template name="mal.link.content">
-            <xsl:with-param name="node" select="."/>
-            <xsl:with-param name="xref" select="@xref"/>
-          </xsl:call-template>
-        </xsl:when>
-        <xsl:when test="@href">
-          <xsl:value-of select="@href"/>
-        </xsl:when>
-      </xsl:choose>
-    </xsl:with-param>
-  </xsl:call-template>
+  <xsl:call-template name="mal2html.span"/>
+</xsl:template>
+
+<!-- = linke % mal2html.inline.content.mode = -->
+<xsl:template mode="mal2html.inline.content.mode" match="mal:link">
+  <xsl:choose>
+    <xsl:when test="normalize-space(.) != ''">
+      <xsl:apply-templates mode="mal2html.inline.mode"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:call-template name="mal.link.content"/>
+    </xsl:otherwise>
+  </xsl:choose>
 </xsl:template>
 
 <!-- = media = -->
diff --git a/xslt/mallard/html/mal2html-page.xsl b/xslt/mallard/html/mal2html-page.xsl
index 52e418f..f4908ac 100644
--- a/xslt/mallard/html/mal2html-page.xsl
+++ b/xslt/mallard/html/mal2html-page.xsl
@@ -40,7 +40,7 @@ REMARK: Describe this template
   <div class="copyrights">
     <xsl:for-each select="$node/mal:info/mal:copyright">
       <div class="copyright">
-        <!-- FIXME: i18n -->
+        <!-- FIXME: i18n, multi-year, email -->
         <xsl:value-of select="concat('© ', mal:year, ' ', mal:name)"/>
       </div>
     </xsl:for-each>
@@ -60,10 +60,10 @@ REMARK: Describe this template
   <xsl:variable name="id">
     <xsl:choose>
       <xsl:when test="$node/self::mal:section">
-        <xsl:value-of select="concat(ancestor::mal:page[1]/@id, '#', @id)"/>
+        <xsl:value-of select="concat($node/ancestor::mal:page[1]/@id, '#', $node/@id)"/>
       </xsl:when>
       <xsl:otherwise>
-        <xsl:value-of select="@id"/>
+        <xsl:value-of select="$node/@id"/>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
@@ -93,8 +93,8 @@ REMARK: Describe this template
                 </xsl:variable>
                 <xsl:for-each select="$cache">
                   <xsl:call-template name="mal2html.page.pagelink">
-                    <xsl:with-param name="node" select="$node"/>
-                    <xsl:with-param name="page" select="key('cache_key', $linkid)"/>
+                    <xsl:with-param name="source" select="$node"/>
+                    <xsl:with-param name="target" select="key('cache_key', $linkid)"/>
                   </xsl:call-template>
                 </xsl:for-each>
               </xsl:for-each>
@@ -106,8 +106,8 @@ REMARK: Describe this template
                           data-type="text" order="ascending"/>
                 <xsl:if test="(position() + count($pagelinks)) &lt;= $coltot">
                   <xsl:call-template name="mal2html.page.pagelink">
-                    <xsl:with-param name="node" select="$node"/>
-                    <xsl:with-param name="page" select="."/>
+                    <xsl:with-param name="source" select="$node"/>
+                    <xsl:with-param name="target" select="."/>
                   </xsl:call-template>
                 </xsl:if>
               </xsl:for-each>
@@ -126,8 +126,8 @@ REMARK: Describe this template
                 </xsl:variable>
                 <xsl:for-each select="$cache">
                   <xsl:call-template name="mal2html.page.pagelink">
-                    <xsl:with-param name="node" select="$node"/>
-                    <xsl:with-param name="page" select="key('cache_key', $linkid)"/>
+                    <xsl:with-param name="source" select="$node"/>
+                    <xsl:with-param name="target" select="key('cache_key', $linkid)"/>
                   </xsl:call-template>
                 </xsl:for-each>
               </xsl:for-each>
@@ -139,8 +139,8 @@ REMARK: Describe this template
                           data-type="text" order="ascending"/>
                 <xsl:if test="(position() + count($pagelinks)) &gt; $coltot">
                   <xsl:call-template name="mal2html.page.pagelink">
-                    <xsl:with-param name="node" select="$node"/>
-                    <xsl:with-param name="page" select="."/>
+                    <xsl:with-param name="source" select="$node"/>
+                    <xsl:with-param name="target" select="."/>
                   </xsl:call-template>
                 </xsl:if>
               </xsl:for-each>
@@ -161,8 +161,8 @@ REMARK: Describe this template
             </xsl:variable>
             <xsl:for-each select="$cache">
               <xsl:call-template name="mal2html.page.pagelink">
-                <xsl:with-param name="node" select="$node"/>
-                <xsl:with-param name="page" select="key('cache_key', $linkid)"/>
+                <xsl:with-param name="source" select="$node"/>
+                <xsl:with-param name="target" select="key('cache_key', $linkid)"/>
               </xsl:call-template>
             </xsl:for-each>
           </xsl:for-each>
@@ -173,8 +173,8 @@ REMARK: Describe this template
             <xsl:sort select="mal:info/mal:title[ type = 'sort']"
                       data-type="text" order="ascending"/>
             <xsl:call-template name="mal2html.page.pagelink">
-              <xsl:with-param name="node" select="$node"/>
-              <xsl:with-param name="page" select="."/>
+              <xsl:with-param name="source" select="$node"/>
+              <xsl:with-param name="target" select="."/>
             </xsl:call-template>
           </xsl:for-each>
         </xsl:otherwise>
@@ -187,23 +187,23 @@ REMARK: Describe this template
 <!--**==========================================================================
 mal2html.page.pagelink
 Outputs an automatic link block from a guide to a page
-$node: The #{guide} or #{section} element containing the link
-$page: The element from the cache file of the page being linked to
+$source: The #{page} or #{section} element containing the link
+$target: The element from the cache file of the page being linked to
 
 REMARK: Describe this template
 -->
 <xsl:template name="mal2html.page.pagelink">
-  <xsl:param name="node" select="."/>
-  <xsl:param name="page"/>
+  <xsl:param name="source" select="."/>
+  <xsl:param name="target"/>
   <xsl:variable name="xref">
     <xsl:choose>
-      <xsl:when test="$page/self::mal:section">
-        <xsl:value-of select="$page/ancestor::mal:page[1]/@id"/>
+      <xsl:when test="$target/self::mal:section"> 
+       <xsl:value-of select="$target/ancestor::mal:page[1]/@id"/>
         <xsl:text>#</xsl:text>
-        <xsl:value-of select="$page/@id"/>
+        <xsl:value-of select="$target/@id"/>
       </xsl:when>
       <xsl:otherwise>
-        <xsl:value-of select="$page/@id"/>
+        <xsl:value-of select="$target/@id"/>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
@@ -220,62 +220,63 @@ REMARK: Describe this template
   <a>
     <xsl:attribute name="href">
       <xsl:call-template name="mal.link.target">
+        <xsl:with-param name="link" select="$source"/>
         <xsl:with-param name="xref" select="$xref"/>
       </xsl:call-template>
     </xsl:attribute>
     <div class="pagelink">
-      <!-- FIXME: call a common linkifier? -->
       <div class="title">
         <xsl:call-template name="mal.link.content">
-          <xsl:with-param name="node" select="$node"/>
+          <xsl:with-param name="link" select="$source"/>
           <xsl:with-param name="xref" select="$xref"/>
         </xsl:call-template>
-        <xsl:variable name="date">
-          <xsl:for-each select="$page/mal:info/mal:version">
-            <xsl:sort select="@date" data-type="text" order="descending"/>
-            <xsl:if test="position() = 1">
-              <xsl:value-of select="@date"/>
-            </xsl:if>
-          </xsl:for-each>
-        </xsl:variable>
-        <xsl:variable name="version"
-                      select="$page/mal:info/mal:version[ date = $date][last()]"/>
-        <xsl:if test="$version/@status != '' and $version/@status != 'final'">
-          <xsl:text> </xsl:text>
-          <span>
-            <xsl:attribute name="class">
-              <xsl:value-of select="concat('status status-', $version/@status)"/>
-            </xsl:attribute>
-            <!-- FIXME: i18n -->
-            <xsl:choose>
-              <xsl:when test="$version/@status = 'stub'">
-                <xsl:text>Stub</xsl:text>
-              </xsl:when>
-              <xsl:when test="$version/@status = 'incomplete'">
-                <xsl:text>Incomplete</xsl:text>
-              </xsl:when>
-              <xsl:when test="$version/@status = 'draft'">
-                <xsl:text>Draft</xsl:text>
-              </xsl:when>
-              <xsl:when test="$version/@status = 'review'">
-                <xsl:text>Ready for review</xsl:text>
-              </xsl:when>
-              <xsl:when test="$version/@status = 'final'">
-                <xsl:text>Final</xsl:text>
-              </xsl:when>
-            </xsl:choose>
-          </span>
+
+        <xsl:if test="true()">
+          <xsl:variable name="page" select="$target/ancestor-or-self::mal:page[1]"/>
+          <xsl:variable name="date">
+            <xsl:for-each select="$page/mal:info/mal:version">
+              <xsl:sort select="@date" data-type="text" order="descending"/>
+              <xsl:if test="position() = 1">
+                <xsl:value-of select="@date"/>
+              </xsl:if>
+            </xsl:for-each>
+          </xsl:variable>
+          <xsl:variable name="version"
+                        select="$page/mal:info/mal:version[ date = $date][last()]"/>
+          <xsl:if test="$version/@status != '' and $version/@status != 'final'">
+            <xsl:text> </xsl:text>
+            <span>
+              <xsl:attribute name="class">
+                <xsl:value-of select="concat('status status-', $version/@status)"/>
+              </xsl:attribute>
+              <!-- FIXME: i18n -->
+              <xsl:choose>
+                <xsl:when test="$version/@status = 'stub'">
+                  <xsl:text>Stub</xsl:text>
+                </xsl:when>
+                <xsl:when test="$version/@status = 'incomplete'">
+                  <xsl:text>Incomplete</xsl:text>
+                </xsl:when>
+                <xsl:when test="$version/@status = 'draft'">
+                  <xsl:text>Draft</xsl:text>
+                </xsl:when>
+                <xsl:when test="$version/@status = 'review'">
+                  <xsl:text>Ready for review</xsl:text>
+                </xsl:when>
+                <xsl:when test="$version/@status = 'final'">
+                  <xsl:text>Final</xsl:text>
+                </xsl:when>
+              </xsl:choose>
+            </span>
+          </xsl:if>
         </xsl:if>
       </div>
-      <xsl:for-each select="$cache">
-        <xsl:variable name="desc"
-                      select="key('cache_key', $linkid)/mal:info/mal:desc[1]"/>
-        <xsl:if test="$desc">
-          <div class="desc">
-            <xsl:apply-templates mode="mal2html.inline.mode" select="$desc/node()"/>
-          </div>
-        </xsl:if>
-      </xsl:for-each>
+      <xsl:variable name="desc" select="key('cache_key', $linkid)/mal:info/mal:desc[1]"/>
+      <xsl:if test="$desc">
+        <div class="desc">
+          <xsl:apply-templates mode="mal2html.inline.mode" select="$desc/node()"/>
+        </div>
+      </xsl:if>
     </div>
   </a>
 </xsl:template>
@@ -295,10 +296,10 @@ REMARK: Describe this template
   <xsl:variable name="id">
     <xsl:choose>
       <xsl:when test="$node/self::mal:section">
-        <xsl:value-of select="concat(ancestor::mal:page[1]/@id, '#', @id)"/>
+        <xsl:value-of select="concat($node/ancestor::mal:page[1]/@id, '#', $node/@id)"/>
       </xsl:when>
       <xsl:otherwise>
-        <xsl:value-of select="@id"/>
+        <xsl:value-of select="$node/@id"/>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:variable>
@@ -325,8 +326,8 @@ REMARK: Describe this template
       <div class="seealsolinks">
         <xsl:for-each select="$pagelinks">
           <xsl:call-template name="mal2html.page.pagelink">
-            <xsl:with-param name="node" select="$node"/>
-            <xsl:with-param name="page" select="."/>
+            <xsl:with-param name="source" select="$node"/>
+            <xsl:with-param name="target" select="."/>
           </xsl:call-template>
         </xsl:for-each>
         <!-- FIXME: exclude pagelinks -->
@@ -343,8 +344,8 @@ REMARK: Describe this template
           </xsl:variable>
           <xsl:for-each select="$cache">
             <xsl:call-template name="mal2html.page.pagelink">
-              <xsl:with-param name="node" select="$node"/>
-              <xsl:with-param name="page" select="key('cache_key', $linkid)"/>
+              <xsl:with-param name="source" select="$node"/>
+              <xsl:with-param name="target" select="key('cache_key', $linkid)"/>
             </xsl:call-template>
           </xsl:for-each>
         </xsl:for-each>
@@ -355,8 +356,8 @@ REMARK: Describe this template
 
         <xsl:for-each select="$inlinks">
           <xsl:call-template name="mal2html.page.pagelink">
-            <xsl:with-param name="node" select="$node"/>
-            <xsl:with-param name="page" select="."/>
+            <xsl:with-param name="source" select="$node"/>
+            <xsl:with-param name="target" select="."/>
           </xsl:call-template>
         </xsl:for-each>
         <xsl:for-each select="$outlinks">
@@ -372,8 +373,8 @@ REMARK: Describe this template
           </xsl:variable>
           <xsl:for-each select="$cache">
             <xsl:call-template name="mal2html.page.pagelink">
-              <xsl:with-param name="node" select="$node"/>
-              <xsl:with-param name="page" select="key('cache_key', $linkid)"/>
+              <xsl:with-param name="source" select="$node"/>
+              <xsl:with-param name="target" select="key('cache_key', $linkid)"/>
             </xsl:call-template>
           </xsl:for-each>
         </xsl:for-each>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]