<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" style="xslt-template" id="mal.link.desc">
 <info>
  <link type="guide" xref="mal-link" group="templates"/>
  <link type="guide" xref="templates" group="mal"/>
  <desc>Output the desc content for a <sys>link</sys> element.</desc>
  <revision version="3.18" date="2015-06-06" status="final"/>
 </info>
 <title>mal.link.desc</title>
 <synopsis>
  <title>Parameters</title>
  <terms>
   <item>
    <title><code>$node</code></title>
    <p>The <sys>link</sys> or other element creating the link.</p>
   </item>
   <item>
    <title><code>$action</code></title>
    <p>The <sys>action</sys> attribute of <code>$node</code>.</p>
   </item>
   <item>
    <title><code>$xref</code></title>
    <p>The <sys>xref</sys> attribute of <code>$node</code>.</p>
   </item>
   <item>
    <title><code>$href</code></title>
    <p>The <sys>href</sys> attribute of <code>$node</code>.</p>
   </item>
   <item>
    <title><code>$role</code></title>
    <p>A space-separated list of link roles, used to select the appropriate desc.</p>
   </item>
   <item>
    <title><code>$info</code></title>
    <p>An <sys>info</sys> element that overrides the info found in a target node.</p>
   </item>
  </terms>
 </synopsis>
 <p>This template outputs the secondary desc text content for a link. If <code>$xref</code>
 points to a valid page or section, the desc from that page or section will be
 used. The <code xref="mal.link.content.mode">mal.link.content.mode</code> mode is applied to the contents of that
 desc. Stylesheets using this template should map that mode to inline processing.</p>
 <p>For inline links, <code>$node</code> should be the <sys>link</sys> element. For links from a
 <sys>links</sys> element, <code>$node</code> should be that <sys>links</sys> element, or the containing
 element when the <sys>links</sys> element is implicit.</p>
 <p>This template first calls <code xref="mal.link.desc.custom">mal.link.desc.custom</code> with the same arguments.
 If that template returns a non-empty result, it is used as the return value,
 overriding any other behavior of this template.</p>
 <p>Normally, this template automatically looks up information from a targret node
 according to the <code>$xref</code> parameter. However, if the <code>$info</code> parameter is given,
 information in that node set is used instead. This is useful for external info
 links, where the target information is provided as child elements to the <sys>link</sys>
 element.</p>
 <list style="compact">
  <title>Calls Parameters</title>
  <item>
   <p><link xref="mal.cache"/></p>
  </item>
 </list>
 <list style="compact">
  <title>Calls Keys</title>
  <item>
   <p><link xref="mal.cache.key"/></p>
  </item>
 </list>
 <list style="compact">
  <title>Calls Templates</title>
  <item>
   <p><link xref="mal.link.desc.custom"/></p>
  </item>
  <item>
   <p><link xref="mal.link.xref.linkid"/></p>
  </item>
 </list>
 <list style="compact">
  <title>Calls Modes</title>
  <item>
   <p><link xref="mal.link.content.mode"/></p>
  </item>
 </list>
</page>
