diff options
| author | William Harrington <kb0iic@berzerkula.org> | 2014-11-27 16:29:31 -0600 | 
|---|---|---|
| committer | William Harrington <kb0iic@berzerkula.org> | 2014-11-27 16:29:31 -0600 | 
| commit | 7df987a652b93d55dd8eca363706d3bacc469b55 (patch) | |
| tree | 17f84ce0fee76a3a0476b714eae09486ab2470e6 /stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/.svn/text-base/inline.xsl.svn-base | |
Diffstat (limited to 'stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/.svn/text-base/inline.xsl.svn-base')
| -rw-r--r-- | stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/.svn/text-base/inline.xsl.svn-base | 1404 | 
1 files changed, 1404 insertions, 0 deletions
diff --git a/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/.svn/text-base/inline.xsl.svn-base b/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/.svn/text-base/inline.xsl.svn-base new file mode 100644 index 0000000..3751e71 --- /dev/null +++ b/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/.svn/text-base/inline.xsl.svn-base @@ -0,0 +1,1404 @@ +<?xml version="1.0" encoding="ASCII"?> +<!--This file was created automatically by html2xhtml--> +<!--from the HTML stylesheets.--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:suwl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.UnwrapLinks" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xlink suwl" version="1.0"> + +<!-- ******************************************************************** +     $Id$ +     ******************************************************************** + +     This file is part of the XSL DocBook Stylesheet distribution. +     See ../README or http://docbook.sf.net/release/xsl/current/ for +     copyright and other information. + +     ******************************************************************** --> +<xsl:template name="simple.xlink"> +  <xsl:param name="node" select="."/> +  <xsl:param name="content"> +    <xsl:apply-templates/> +  </xsl:param> +  <xsl:param name="a.target"/> +  <xsl:param name="linkend" select="$node/@linkend"/> +  <xsl:param name="xhref" select="$node/@xlink:href"/> + +  <xsl:variable name="link"> +    <xsl:choose> +      <xsl:when test="$xhref and                        (not($node/@xlink:type) or                             $node/@xlink:type='simple')"> + +        <!-- Is it a local idref or a uri? --> +        <xsl:variable name="is.idref"> +          <xsl:choose> +            <!-- if the href starts with # and does not contain an "(" --> +            <!-- or if the href starts with #xpointer(id(, it's just an ID --> +            <xsl:when test="starts-with($xhref,'#')                             and (not(contains($xhref,'('))                             or starts-with($xhref,                                        '#xpointer(id('))">1</xsl:when> +            <xsl:otherwise>0</xsl:otherwise> +          </xsl:choose> +        </xsl:variable> + +        <!-- Is it an olink ? --> +        <xsl:variable name="is.olink"> +          <xsl:choose> +	    <!-- If xlink:role="http://docbook.org/xlink/role/olink" --> +            <!-- and if the href contains # --> +            <xsl:when test="contains($xhref,'#') and           @xlink:role = $xolink.role">1</xsl:when> +            <xsl:otherwise>0</xsl:otherwise> +          </xsl:choose> +        </xsl:variable> + +        <xsl:choose> +          <xsl:when test="$is.idref = 1"> + +            <xsl:variable name="idref"> +              <xsl:call-template name="xpointer.idref"> +                <xsl:with-param name="xpointer" select="$xhref"/> +              </xsl:call-template> +            </xsl:variable> + +            <xsl:variable name="targets" select="key('id',$idref)"/> +            <xsl:variable name="target" select="$targets[1]"/> + +            <xsl:call-template name="check.id.unique"> +              <xsl:with-param name="linkend" select="$idref"/> +            </xsl:call-template> + +            <xsl:choose> +              <xsl:when test="count($target) = 0"> +                <xsl:message> +                  <xsl:text>XLink to nonexistent id: </xsl:text> +                  <xsl:value-of select="$idref"/> +                </xsl:message> +                <xsl:copy-of select="$content"/> +              </xsl:when> + +              <xsl:otherwise> +                <a> +                  <xsl:apply-templates select="." mode="class.attribute"/> + +                  <xsl:attribute name="href"> +                    <xsl:call-template name="href.target"> +                      <xsl:with-param name="object" select="$target"/> +                    </xsl:call-template> +                  </xsl:attribute> + +                  <xsl:choose> +                    <xsl:when test="$node/@xlink:title"> +                      <xsl:attribute name="title"> +                        <xsl:value-of select="$node/@xlink:title"/> +                      </xsl:attribute> +                    </xsl:when> +                    <xsl:otherwise> +                      <xsl:apply-templates select="$target" mode="html.title.attribute"/> +                    </xsl:otherwise> +                  </xsl:choose> + +                  <xsl:if test="$a.target"> +                    <xsl:attribute name="target"> +                      <xsl:value-of select="$a.target"/> +                    </xsl:attribute> +                  </xsl:if> + +                  <xsl:copy-of select="$content"/> + +                </a> +              </xsl:otherwise> +            </xsl:choose> +          </xsl:when> + +          <xsl:when test="$is.olink = 1"> +	    <xsl:call-template name="olink"> +	      <xsl:with-param name="content" select="$content"/> +	    </xsl:call-template> +          </xsl:when> + +          <!-- otherwise it's a URI --> +          <xsl:otherwise> +            <a> +              <xsl:apply-templates select="." mode="class.attribute"/> +              <xsl:attribute name="href"> +                <xsl:value-of select="$xhref"/> +              </xsl:attribute> +              <xsl:if test="$node/@xlink:title"> +                <xsl:attribute name="title"> +                  <xsl:value-of select="$node/@xlink:title"/> +                </xsl:attribute> +              </xsl:if> +              <xsl:copy-of select="$content"/> +            </a> +          </xsl:otherwise> +        </xsl:choose> +      </xsl:when> + +      <xsl:when test="$linkend"> +        <xsl:variable name="targets" select="key('id',$linkend)"/> +        <xsl:variable name="target" select="$targets[1]"/> + +        <xsl:call-template name="check.id.unique"> +          <xsl:with-param name="linkend" select="$linkend"/> +        </xsl:call-template> + +        <a> +          <xsl:apply-templates select="." mode="class.attribute"/> +          <xsl:attribute name="href"> +            <xsl:call-template name="href.target"> +              <xsl:with-param name="object" select="$target"/> +            </xsl:call-template> +          </xsl:attribute> + +          <xsl:apply-templates select="$target" mode="html.title.attribute"/> + +          <xsl:copy-of select="$content"/> +           +        </a> +      </xsl:when> +      <xsl:otherwise> +        <xsl:copy-of select="$content"/> +      </xsl:otherwise> +    </xsl:choose> +  </xsl:variable> + +  <xsl:choose> +    <xsl:when test="function-available('suwl:unwrapLinks')"> +      <xsl:copy-of select="suwl:unwrapLinks($link)"/> +    </xsl:when> +    <xsl:otherwise> +      <xsl:copy-of select="$link"/> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template name="inline.charseq"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:param> +  <!-- * if you want output from the inline.charseq template wrapped in --> +  <!-- * something other than a Span, call the template with some value --> +  <!-- * for the 'wrapper-name' param --> +  <xsl:param name="wrapper-name">span</xsl:param> +  <xsl:element name="{$wrapper-name}" namespace="http://www.w3.org/1999/xhtml"> +    <xsl:attribute name="class"> +      <xsl:value-of select="local-name(.)"/> +    </xsl:attribute> +    <xsl:call-template name="dir"/> +    <xsl:call-template name="generate.html.title"/> +    <xsl:copy-of select="$content"/> +    <xsl:call-template name="apply-annotations"/> +  </xsl:element> +</xsl:template> + +<xsl:template name="inline.monoseq"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:param> +  <code> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:call-template name="dir"/> +    <xsl:call-template name="generate.html.title"/> +    <xsl:copy-of select="$content"/> +    <xsl:call-template name="apply-annotations"/> +  </code> +</xsl:template> + +<xsl:template name="inline.boldseq"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:call-template name="generate.html.title"/> +    <xsl:call-template name="dir"/> + +    <!-- don't put <strong> inside figure, example, or table titles --> +    <xsl:choose> +      <xsl:when test="local-name(..) = 'title'                       and (local-name(../..) = 'figure'                       or local-name(../..) = 'example'                       or local-name(../..) = 'table')"> +        <xsl:copy-of select="$content"/> +      </xsl:when> +      <xsl:otherwise> +        <strong> +          <xsl:copy-of select="$content"/> +        </strong> +      </xsl:otherwise> +    </xsl:choose> +    <xsl:call-template name="apply-annotations"/> +  </span> +</xsl:template> + +<xsl:template name="inline.italicseq"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:param> +  <em> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:call-template name="generate.html.title"/> +    <xsl:call-template name="dir"/> +    <xsl:copy-of select="$content"/> +    <xsl:call-template name="apply-annotations"/> +  </em> +</xsl:template> + +<xsl:template name="inline.boldmonoseq"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:param> +  <!-- don't put <strong> inside figure, example, or table titles --> +  <!-- or other titles that may already be represented with <strong>'s. --> +  <xsl:choose> +    <xsl:when test="local-name(..) = 'title'                     and (local-name(../..) = 'figure'                          or local-name(../..) = 'example'                          or local-name(../..) = 'table'                          or local-name(../..) = 'formalpara')"> +      <code> +        <xsl:apply-templates select="." mode="class.attribute"/> +        <xsl:call-template name="generate.html.title"/> +        <xsl:call-template name="dir"/> +        <xsl:copy-of select="$content"/> +        <xsl:call-template name="apply-annotations"/> +      </code> +    </xsl:when> +    <xsl:otherwise> +      <strong> +        <xsl:apply-templates select="." mode="class.attribute"/> +        <code> +          <xsl:call-template name="generate.html.title"/> +          <xsl:call-template name="dir"/> +          <xsl:copy-of select="$content"/> +        </code> +        <xsl:call-template name="apply-annotations"/> +      </strong> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template name="inline.italicmonoseq"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:param> +  <em> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <code> +      <xsl:call-template name="generate.html.title"/> +      <xsl:call-template name="dir"/> +      <xsl:copy-of select="$content"/> +      <xsl:call-template name="apply-annotations"/> +    </code> +  </em> +</xsl:template> + +<xsl:template name="inline.superscriptseq"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:param> +  <sup> +    <xsl:call-template name="generate.html.title"/> +    <xsl:call-template name="dir"/> +    <xsl:copy-of select="$content"/> +    <xsl:call-template name="apply-annotations"/> +  </sup> +</xsl:template> + +<xsl:template name="inline.subscriptseq"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:param> +  <sub> +    <xsl:call-template name="generate.html.title"/> +    <xsl:call-template name="dir"/> +    <xsl:copy-of select="$content"/> +    <xsl:call-template name="apply-annotations"/> +  </sub> +</xsl:template> + +<!-- ==================================================================== --> +<!-- some special cases --> + +<xsl:template match="author"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:call-template name="person.name"/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<xsl:template match="editor"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:call-template name="person.name"/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<xsl:template match="othercredit"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:call-template name="person.name"/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<xsl:template match="authorinitials"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="accel"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="action"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="application"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="classname"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="exceptionname"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="interfacename"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="methodname"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="command"> +  <xsl:call-template name="inline.boldseq"/> +</xsl:template> + +<xsl:template match="computeroutput"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="constant"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="database"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="date"> +  <!-- should this support locale-specific formatting? how? --> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="errorcode"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="errorname"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="errortype"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="errortext"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="envar"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="filename"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="function"> +  <xsl:choose> +    <xsl:when test="$function.parens != '0'                     and (parameter or function or replaceable)"> +      <xsl:variable name="nodes" select="text()|*"/> +      <xsl:call-template name="inline.monoseq"> +        <xsl:with-param name="content"> +          <xsl:call-template name="simple.xlink"> +            <xsl:with-param name="content"> +              <xsl:apply-templates select="$nodes[1]"/> +            </xsl:with-param> +          </xsl:call-template> +        </xsl:with-param> +      </xsl:call-template> +      <xsl:text>(</xsl:text> +      <xsl:apply-templates select="$nodes[position()>1]"/> +      <xsl:text>)</xsl:text> +    </xsl:when> +    <xsl:otherwise> +     <xsl:call-template name="inline.monoseq"/> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template match="function/parameter" priority="2"> +  <xsl:call-template name="inline.italicmonoseq"/> +  <xsl:if test="following-sibling::*"> +    <xsl:text>, </xsl:text> +  </xsl:if> +</xsl:template> + +<xsl:template match="function/replaceable" priority="2"> +  <xsl:call-template name="inline.italicmonoseq"/> +  <xsl:if test="following-sibling::*"> +    <xsl:text>, </xsl:text> +  </xsl:if> +</xsl:template> + +<xsl:template match="guibutton"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="guiicon"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="guilabel"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="guimenu"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="guimenuitem"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="guisubmenu"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="hardware"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="interface"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="interfacedefinition"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="keycap"> +  <xsl:call-template name="inline.boldseq"/> +</xsl:template> + +<xsl:template match="keycode"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="keysym"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="literal"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="code"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="medialabel"> +  <xsl:call-template name="inline.italicseq"/> +</xsl:template> + +<xsl:template match="shortcut"> +  <xsl:call-template name="inline.boldseq"/> +</xsl:template> + +<xsl:template match="mousebutton"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="option"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="package"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="parameter"> +  <xsl:call-template name="inline.italicmonoseq"/> +</xsl:template> + +<xsl:template match="property"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="prompt"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="replaceable" priority="1"> +  <xsl:call-template name="inline.italicmonoseq"/> +</xsl:template> + +<xsl:template match="returnvalue"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="structfield"> +  <xsl:call-template name="inline.italicmonoseq"/> +</xsl:template> + +<xsl:template match="structname"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="symbol"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="systemitem"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="token"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="type"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="userinput"> +  <xsl:call-template name="inline.boldmonoseq"/> +</xsl:template> + +<xsl:template match="abbrev"> +  <xsl:call-template name="inline.charseq"> +    <xsl:with-param name="wrapper-name">abbr</xsl:with-param> +  </xsl:call-template> +</xsl:template> + +<xsl:template match="acronym"> +  <xsl:call-template name="inline.charseq"> +    <xsl:with-param name="wrapper-name">acronym</xsl:with-param> +  </xsl:call-template> +</xsl:template> + +<xsl:template match="citerefentry"> +  <xsl:choose> +    <xsl:when test="$citerefentry.link != '0'"> +      <a> +        <xsl:apply-templates select="." mode="class.attribute"/> +        <xsl:attribute name="href"> +          <xsl:call-template name="generate.citerefentry.link"/> +        </xsl:attribute> +        <xsl:call-template name="inline.charseq"/> +      </a> +    </xsl:when> +    <xsl:otherwise> +      <xsl:call-template name="inline.charseq"/> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template name="generate.citerefentry.link"> +  <!-- nop --> +</xsl:template> + +<xsl:template name="x.generate.citerefentry.link"> +  <xsl:text>http://example.com/cgi-bin/man.cgi?</xsl:text> +  <xsl:value-of select="refentrytitle"/> +  <xsl:text>(</xsl:text> +  <xsl:value-of select="manvolnum"/> +  <xsl:text>)</xsl:text> +</xsl:template> + +<xsl:template match="citetitle"> +  <xsl:choose> +    <xsl:when test="@pubwork = 'article'"> +      <xsl:call-template name="gentext.startquote"/> +      <xsl:call-template name="inline.charseq"/> +      <xsl:call-template name="gentext.endquote"/> +    </xsl:when> +    <xsl:otherwise> +      <xsl:call-template name="inline.italicseq"/> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template match="emphasis"> +  <span> +    <xsl:choose> +      <xsl:when test="@role and $emphasis.propagates.style != 0"> +        <xsl:apply-templates select="." mode="class.attribute"> +          <xsl:with-param name="class" select="@role"/> +        </xsl:apply-templates> +      </xsl:when> +      <xsl:otherwise> +        <xsl:apply-templates select="." mode="class.attribute"/> +      </xsl:otherwise> +    </xsl:choose> +    <xsl:call-template name="anchor"/> + +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:choose> +          <xsl:when test="@role = 'bold' or @role='strong'"> +            <!-- backwards compatibility: make bold into b elements, but --> +            <!-- don't put bold inside figure, example, or table titles --> +            <xsl:choose> +              <xsl:when test="local-name(..) = 'title'                               and (local-name(../..) = 'figure'                               or local-name(../..) = 'example'                               or local-name(../..) = 'table')"> +                <xsl:apply-templates/> +              </xsl:when> +              <xsl:otherwise> +                <strong><xsl:apply-templates/></strong> +              </xsl:otherwise> +            </xsl:choose> +          </xsl:when> +          <xsl:when test="@role and $emphasis.propagates.style != 0"> +            <xsl:apply-templates/> +          </xsl:when> +          <xsl:otherwise> +            <em><xsl:apply-templates/></em> +          </xsl:otherwise> +        </xsl:choose> +      </xsl:with-param> +    </xsl:call-template> +  </span> +</xsl:template> + +<xsl:template match="foreignphrase"> +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:if test="@lang or @xml:lang"> +      <xsl:call-template name="language.attribute"/> +    </xsl:if> +    <xsl:call-template name="inline.italicseq"/> +  </span> +</xsl:template> + +<xsl:template match="markup"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="phrase"> +  <span> +    <xsl:call-template name="generate.html.title"/> +    <xsl:if test="@lang or @xml:lang"> +      <xsl:call-template name="language.attribute"/> +    </xsl:if> +    <xsl:if test="@role and $phrase.propagates.style != 0"> +      <xsl:apply-templates select="." mode="class.attribute"> +        <xsl:with-param name="class" select="@role"/> +      </xsl:apply-templates> +    </xsl:if> +    <xsl:call-template name="dir"/> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </span> +</xsl:template> + +<xsl:template match="quote"> +  <xsl:variable name="depth"> +    <xsl:call-template name="dot.count"> +      <xsl:with-param name="string"> +        <xsl:number level="multiple"/> +      </xsl:with-param> +    </xsl:call-template> +  </xsl:variable> +  <xsl:choose> +    <xsl:when test="$depth mod 2 = 0"> +      <xsl:call-template name="gentext.startquote"/> +      <xsl:call-template name="inline.charseq"/> +      <xsl:call-template name="gentext.endquote"/> +    </xsl:when> +    <xsl:otherwise> +      <xsl:call-template name="gentext.nestedstartquote"/> +      <xsl:call-template name="inline.charseq"/> +      <xsl:call-template name="gentext.nestedendquote"/> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template match="varname"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="wordasword"> +  <xsl:call-template name="inline.italicseq"/> +</xsl:template> + +<xsl:template match="lineannotation"> +  <em> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:call-template name="inline.charseq"/> +  </em> +</xsl:template> + +<xsl:template match="superscript"> +  <xsl:call-template name="inline.superscriptseq"/> +</xsl:template> + +<xsl:template match="subscript"> +  <xsl:call-template name="inline.subscriptseq"/> +</xsl:template> + +<xsl:template match="trademark"> +  <xsl:call-template name="inline.charseq"/> +  <xsl:choose> +    <xsl:when test="@class = 'copyright'                     or @class = 'registered'"> +      <xsl:call-template name="dingbat"> +        <xsl:with-param name="dingbat" select="@class"/> +      </xsl:call-template> +    </xsl:when> +    <xsl:when test="@class = 'service'"> +      <sup>SM</sup> +    </xsl:when> +    <xsl:otherwise> +      <xsl:call-template name="dingbat"> +        <xsl:with-param name="dingbat" select="'trademark'"/> +      </xsl:call-template> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template match="firstterm"> +  <xsl:call-template name="glossterm"> +    <xsl:with-param name="firstterm" select="1"/> +  </xsl:call-template> +</xsl:template> + +<xsl:template match="glossterm" name="glossterm"> +  <xsl:param name="firstterm" select="0"/> + +  <!-- To avoid extra <a name=""> anchor from inline.italicseq --> +  <xsl:variable name="content"> +    <xsl:apply-templates/> +  </xsl:variable> + +  <xsl:choose> +    <xsl:when test="($firstterm.only.link = 0 or $firstterm = 1) and @linkend"> +      <xsl:variable name="targets" select="key('id',@linkend)"/> +      <xsl:variable name="target" select="$targets[1]"/> + +      <xsl:call-template name="check.id.unique"> +        <xsl:with-param name="linkend" select="@linkend"/> +      </xsl:call-template> + +      <xsl:choose> +        <xsl:when test="$target"> +          <a> +            <xsl:apply-templates select="." mode="class.attribute"/> +            <xsl:if test="@id or @xml:id"> +              <xsl:attribute name="id"> +                <xsl:value-of select="(@id|@xml:id)[1]"/> +              </xsl:attribute> +            </xsl:if> + +            <xsl:attribute name="href"> +              <xsl:call-template name="href.target"> +                <xsl:with-param name="object" select="$target"/> +              </xsl:call-template> +            </xsl:attribute> + +            <xsl:call-template name="inline.italicseq"> +              <xsl:with-param name="content" select="$content"/> +            </xsl:call-template> +          </a> +        </xsl:when> +        <xsl:otherwise> +          <xsl:call-template name="inline.italicseq"> +            <xsl:with-param name="content" select="$content"/> +          </xsl:call-template> +        </xsl:otherwise> +      </xsl:choose> +    </xsl:when> + +    <xsl:when test="not(@linkend)                     and ($firstterm.only.link = 0 or $firstterm = 1)                     and ($glossterm.auto.link != 0)                     and $glossary.collection != ''"> +      <xsl:variable name="term"> +        <xsl:choose> +          <xsl:when test="@baseform"><xsl:value-of select="@baseform"/></xsl:when> +          <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise> +        </xsl:choose> +      </xsl:variable> + +      <xsl:variable name="cterm" select="(document($glossary.collection,.)//glossentry[glossterm=$term])[1]"/> + +      <!-- HACK HACK HACK! But it works... --> +      <!-- You'd need to do more work if you wanted to chunk on glossdiv, though --> + +      <xsl:variable name="glossary" select="//glossary[@role='auto']"/> + +      <xsl:if test="count($glossary) != 1"> +        <xsl:message> +          <xsl:text>Warning: glossary.collection specified, but there are </xsl:text> +          <xsl:value-of select="count($glossary)"/> +          <xsl:text> automatic glossaries</xsl:text> +        </xsl:message> +      </xsl:if> + +      <xsl:variable name="glosschunk"> +        <xsl:call-template name="href.target"> +          <xsl:with-param name="object" select="$glossary"/> +        </xsl:call-template> +      </xsl:variable> + +      <xsl:variable name="chunkbase"> +        <xsl:choose> +          <xsl:when test="contains($glosschunk, '#')"> +            <xsl:value-of select="substring-before($glosschunk, '#')"/> +          </xsl:when> +          <xsl:otherwise> +            <xsl:value-of select="$glosschunk"/> +          </xsl:otherwise> +        </xsl:choose> +      </xsl:variable> + +      <xsl:choose> +        <xsl:when test="not($cterm)"> +          <xsl:message> +            <xsl:text>There's no entry for </xsl:text> +            <xsl:value-of select="$term"/> +            <xsl:text> in </xsl:text> +            <xsl:value-of select="$glossary.collection"/> +          </xsl:message> +          <xsl:call-template name="inline.italicseq"/> +        </xsl:when> +        <xsl:otherwise> +          <xsl:variable name="id"> +            <xsl:call-template name="object.id"> +              <xsl:with-param name="object" select="$cterm"/> +            </xsl:call-template> +          </xsl:variable> +          <a href="{$chunkbase}#{$id}"> +            <xsl:apply-templates select="." mode="class.attribute"/> +            <xsl:call-template name="inline.italicseq"> +              <xsl:with-param name="content" select="$content"/> +            </xsl:call-template> +          </a> +        </xsl:otherwise> +      </xsl:choose> +    </xsl:when> + +    <xsl:when test="not(@linkend)                     and ($firstterm.only.link = 0 or $firstterm = 1)                     and $glossterm.auto.link != 0"> +      <xsl:variable name="term"> +        <xsl:choose> +          <xsl:when test="@baseform"> +            <xsl:value-of select="normalize-space(@baseform)"/> +          </xsl:when> +          <xsl:otherwise> +            <xsl:value-of select="normalize-space(.)"/> +          </xsl:otherwise> +        </xsl:choose> +      </xsl:variable> +      <xsl:variable name="targets" select="//glossentry[normalize-space(glossterm)=$term                               or normalize-space(glossterm/@baseform)=$term]"/> +      <xsl:variable name="target" select="$targets[1]"/> + +      <xsl:choose> +        <xsl:when test="count($targets)=0"> +          <xsl:message> +            <xsl:text>Error: no glossentry for glossterm: </xsl:text> +            <xsl:value-of select="."/> +            <xsl:text>.</xsl:text> +          </xsl:message> +          <xsl:call-template name="inline.italicseq"/> +        </xsl:when> +        <xsl:otherwise> +          <a> +            <xsl:apply-templates select="." mode="class.attribute"/> +            <xsl:if test="@id or @xml:id"> +              <xsl:attribute name="id"> +                <xsl:value-of select="(@id|@xml:id)[1]"/> +              </xsl:attribute> +            </xsl:if> + +            <xsl:attribute name="href"> +              <xsl:call-template name="href.target"> +                <xsl:with-param name="object" select="$target"/> +              </xsl:call-template> +            </xsl:attribute> + +            <xsl:call-template name="inline.italicseq"> +              <xsl:with-param name="content" select="$content"/> +            </xsl:call-template> +          </a> +        </xsl:otherwise> +      </xsl:choose> +    </xsl:when> + +    <xsl:otherwise> +      <xsl:call-template name="inline.italicseq"/> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template match="termdef"> +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:call-template name="generate.html.title"/> +    <xsl:call-template name="gentext.template"> +      <xsl:with-param name="context" select="'termdef'"/> +      <xsl:with-param name="name" select="'prefix'"/> +    </xsl:call-template> +    <xsl:apply-templates/> +    <xsl:call-template name="gentext.template"> +      <xsl:with-param name="context" select="'termdef'"/> +      <xsl:with-param name="name" select="'suffix'"/> +    </xsl:call-template> +  </span> +</xsl:template> + +<xsl:template match="sgmltag|tag"> +  <xsl:call-template name="format.sgmltag"/> +</xsl:template> + +<xsl:template name="format.sgmltag"> +  <xsl:param name="class"> +    <xsl:choose> +      <xsl:when test="@class"> +        <xsl:value-of select="@class"/> +      </xsl:when> +      <xsl:otherwise>element</xsl:otherwise> +    </xsl:choose> +  </xsl:param> + +  <xsl:variable name="content"> +    <xsl:choose> +      <xsl:when test="$class='attribute'"> +        <xsl:apply-templates/> +      </xsl:when> +      <xsl:when test="$class='attvalue'"> +        <xsl:apply-templates/> +      </xsl:when> +      <xsl:when test="$class='element'"> +        <xsl:apply-templates/> +      </xsl:when> +      <xsl:when test="$class='endtag'"> +        <xsl:text></</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>></xsl:text> +      </xsl:when> +      <xsl:when test="$class='genentity'"> +        <xsl:text>&</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>;</xsl:text> +      </xsl:when> +      <xsl:when test="$class='numcharref'"> +        <xsl:text>&#</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>;</xsl:text> +      </xsl:when> +      <xsl:when test="$class='paramentity'"> +        <xsl:text>%</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>;</xsl:text> +      </xsl:when> +      <xsl:when test="$class='pi'"> +        <xsl:text><?</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>></xsl:text> +      </xsl:when> +      <xsl:when test="$class='xmlpi'"> +        <xsl:text><?</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>?></xsl:text> +      </xsl:when> +      <xsl:when test="$class='starttag'"> +        <xsl:text><</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>></xsl:text> +      </xsl:when> +      <xsl:when test="$class='emptytag'"> +        <xsl:text><</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>/></xsl:text> +      </xsl:when> +      <xsl:when test="$class='sgmlcomment' or $class='comment'"> +        <xsl:text><!--</xsl:text> +        <xsl:apply-templates/> +        <xsl:text>--></xsl:text> +      </xsl:when> +      <xsl:otherwise> +        <xsl:apply-templates/> +      </xsl:otherwise> +    </xsl:choose> +  </xsl:variable> + +  <code> +    <xsl:apply-templates select="." mode="class.attribute"> +      <xsl:with-param name="class" select="concat('sgmltag-', $class)"/> +    </xsl:apply-templates> +    <xsl:call-template name="generate.html.title"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content" select="$content"/> +    </xsl:call-template> +  </code> +</xsl:template> + +<xsl:template match="email"> +  <xsl:call-template name="inline.monoseq"> +    <xsl:with-param name="content"> +      <xsl:if test="not($email.delimiters.enabled = 0)"> +        <xsl:text><</xsl:text> +      </xsl:if> +      <a> +        <xsl:apply-templates select="." mode="class.attribute"/> +        <xsl:attribute name="href"> +          <xsl:text>mailto:</xsl:text> +          <xsl:value-of select="."/> +        </xsl:attribute> +        <xsl:apply-templates/> +      </a> +      <xsl:if test="not($email.delimiters.enabled = 0)"> +        <xsl:text>></xsl:text> +      </xsl:if> +    </xsl:with-param> +  </xsl:call-template> +</xsl:template> + +<xsl:template match="keycombo"> +  <xsl:variable name="action" select="@action"/> +  <xsl:variable name="joinchar"> +    <xsl:choose> +      <xsl:when test="$action='seq'"><xsl:text> </xsl:text></xsl:when> +      <xsl:when test="$action='simul'">+</xsl:when> +      <xsl:when test="$action='press'">-</xsl:when> +      <xsl:when test="$action='click'">-</xsl:when> +      <xsl:when test="$action='double-click'">-</xsl:when> +      <xsl:when test="$action='other'"/> +      <xsl:otherwise>+</xsl:otherwise> +    </xsl:choose> +  </xsl:variable> +  <xsl:for-each select="*"> +    <xsl:if test="position()>1"><xsl:value-of select="$joinchar"/></xsl:if> +    <xsl:apply-templates select="."/> +  </xsl:for-each> +</xsl:template> + +<xsl:template match="uri"> +  <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="menuchoice"> +  <xsl:variable name="shortcut" select="./shortcut"/> +  <xsl:call-template name="process.menuchoice"/> +  <xsl:if test="$shortcut"> +    <xsl:text> (</xsl:text> +    <xsl:apply-templates select="$shortcut"/> +    <xsl:text>)</xsl:text> +  </xsl:if> +</xsl:template> + +<xsl:template name="process.menuchoice"> +  <xsl:param name="nodelist" select="guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface"/><!-- not(shortcut) --> +  <xsl:param name="count" select="1"/> + +  <xsl:choose> +    <xsl:when test="$count>count($nodelist)"/> +    <xsl:when test="$count=1"> +      <xsl:apply-templates select="$nodelist[$count=position()]"/> +      <xsl:call-template name="process.menuchoice"> +        <xsl:with-param name="nodelist" select="$nodelist"/> +        <xsl:with-param name="count" select="$count+1"/> +      </xsl:call-template> +    </xsl:when> +    <xsl:otherwise> +      <xsl:variable name="node" select="$nodelist[$count=position()]"/> +      <xsl:choose> +        <xsl:when test="local-name($node)='guimenuitem'                         or local-name($node)='guisubmenu'"> +          <xsl:value-of select="$menuchoice.menu.separator"/> +        </xsl:when> +        <xsl:otherwise> +          <xsl:value-of select="$menuchoice.separator"/> +        </xsl:otherwise> +      </xsl:choose> +      <xsl:apply-templates select="$node"/> +      <xsl:call-template name="process.menuchoice"> +        <xsl:with-param name="nodelist" select="$nodelist"/> +        <xsl:with-param name="count" select="$count+1"/> +      </xsl:call-template> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="optional"> +  <xsl:value-of select="$arg.choice.opt.open.str"/> +  <xsl:call-template name="inline.charseq"/> +  <xsl:value-of select="$arg.choice.opt.close.str"/> +</xsl:template> + +<xsl:template match="citation"> +  <!-- todo: integrate with bibliography collection --> +  <xsl:variable name="targets" select="(//biblioentry | //bibliomixed)[abbrev = string(current())]"/> +  <xsl:variable name="target" select="$targets[1]"/> + +  <xsl:choose> +    <!-- try automatic linking based on match to abbrev --> +    <xsl:when test="$target and not(xref) and not(link)"> + +      <xsl:text>[</xsl:text> +      <a> +        <xsl:apply-templates select="." mode="class.attribute"/> +        <xsl:attribute name="href"> +          <xsl:call-template name="href.target"> +            <xsl:with-param name="object" select="$target"/> +          </xsl:call-template> +        </xsl:attribute> + +	<xsl:choose> +	  <xsl:when test="$bibliography.numbered != 0"> +	    <xsl:apply-templates select="$target" mode="citation"/> +	  </xsl:when> +	  <xsl:otherwise> +	    <xsl:call-template name="inline.charseq"/> +	  </xsl:otherwise> +	</xsl:choose> + +      </a> +      <xsl:text>]</xsl:text> +    </xsl:when> +    <xsl:otherwise> +      <xsl:text>[</xsl:text> +      <xsl:call-template name="inline.charseq"/> +      <xsl:text>]</xsl:text> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template match="biblioentry|bibliomixed" mode="citation"> +  <xsl:number from="bibliography" count="biblioentry|bibliomixed" level="any" format="1"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="comment[parent::answer|parent::appendix|parent::article|parent::bibliodiv|parent::bibliography|parent::blockquote|parent::caution|parent::chapter|parent::glossary|parent::glossdiv|parent::important|parent::index|parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|parent::partintro|parent::preface|parent::procedure|parent::qandadiv|parent::qandaset|parent::question|parent::refentry|parent::refnamediv|parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|parent::sect5|parent::section|parent::setindex|parent::sidebar|parent::simplesect|parent::taskprerequisites|parent::taskrelated|parent::tasksummary|parent::warning]|remark[parent::answer|parent::appendix|parent::article|parent::bibliodiv|parent::bibliography|parent::blockquote|parent::caution|parent::chapter|parent::glossary|parent::glossdiv|parent::important|parent::index|parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|parent::partintro|parent::preface|parent::procedure|parent::qandadiv|parent::qandaset|parent::question|parent::refentry|parent::refnamediv|parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|parent::sect5|parent::section|parent::setindex|parent::sidebar|parent::simplesect|parent::taskprerequisites|parent::taskrelated|parent::tasksummary|parent::warning]"> +  <xsl:if test="$show.comments != 0"> +    <p class="remark"><i><xsl:call-template name="inline.charseq"/></i></p> +  </xsl:if> +</xsl:template> + +<xsl:template match="comment|remark"> +  <xsl:if test="$show.comments != 0"> +    <em><xsl:call-template name="inline.charseq"/></em> +  </xsl:if> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="productname"> +  <xsl:call-template name="inline.charseq"/> +  <xsl:if test="@class"> +    <xsl:call-template name="dingbat"> +      <xsl:with-param name="dingbat" select="@class"/> +    </xsl:call-template> +  </xsl:if> +</xsl:template> + +<xsl:template match="productnumber"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="pob|street|city|state|postcode|country|otheraddr"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<xsl:template match="phone|fax"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<!-- in Addresses, for example --> +<xsl:template match="honorific|firstname|surname|lineage|othername"> +  <xsl:call-template name="inline.charseq"/> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="person"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates select="personname"/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<xsl:template match="personname"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:call-template name="person.name"/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="org"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<xsl:template match="orgname"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<xsl:template match="orgdiv"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:apply-templates/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<xsl:template match="affiliation"> +  <xsl:param name="content"> +    <xsl:call-template name="anchor"/> +    <xsl:call-template name="simple.xlink"> +      <xsl:with-param name="content"> +        <xsl:call-template name="person.name"/> +      </xsl:with-param> +    </xsl:call-template> +    <xsl:call-template name="apply-annotations"/> +  </xsl:param> + +  <span> +    <xsl:apply-templates select="." mode="class.attribute"/> +    <xsl:copy-of select="$content"/> +  </span> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="beginpage"> +  <!-- does nothing; this *is not* markup to force a page break. --> +</xsl:template> + +</xsl:stylesheet>  | 
