diff options
Diffstat (limited to 'docs/docbook/xslt/db2latex/xref.mod.xsl')
-rw-r--r-- | docs/docbook/xslt/db2latex/xref.mod.xsl | 123 |
1 files changed, 48 insertions, 75 deletions
diff --git a/docs/docbook/xslt/db2latex/xref.mod.xsl b/docs/docbook/xslt/db2latex/xref.mod.xsl index 82289b19df..6a7d3204a7 100644 --- a/docs/docbook/xslt/db2latex/xref.mod.xsl +++ b/docs/docbook/xslt/db2latex/xref.mod.xsl @@ -1,6 +1,8 @@ <?xml version='1.0'?> <!--############################################################################# +| $Id: xref.mod.xsl,v 1.1.2.3 2003/08/12 18:22:39 jelmer Exp $ |- ############################################################################# +| $Author: jelmer $ | | PURPOSE: Manage XREFs + ############################################################################## --> @@ -17,6 +19,7 @@ <doc:reference id="xref" xmlns=""> <referenceinfo> <releaseinfo role="meta"> +$Id: xref.mod.xsl,v 1.1.2.3 2003/08/12 18:22:39 jelmer Exp $ </releaseinfo> <authorgroup> <author> <surname>Casellas</surname><firstname>Ramon</firstname> </author> @@ -137,12 +140,31 @@ <!-- This is a link with content ... --> <xsl:when test="local-name(.)='link' and .!=''"> - <xsl:call-template name="generate.hyperlink"> - <xsl:with-param name="target" select="$target"/> - <xsl:with-param name="text"><xsl:apply-templates/></xsl:with-param> - </xsl:call-template> + <xsl:choose> + <xsl:when test="$latex.use.hyperref=1"> + <xsl:text>\hyperlink{</xsl:text><xsl:value-of select="$target/@id"/><xsl:text>}{</xsl:text> + <xsl:apply-templates/> + <xsl:text>}</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> </xsl:when> + <!-- If an xreflabel has been specified for the target ... --> + <xsl:when test="local-name(.)='xref' and $target/@xreflabel"> + <xsl:if test="$latex.use.hyperref=1"> + <xsl:text>\hyperlink{</xsl:text><xsl:value-of select="$target/@id"/><xsl:text>}</xsl:text> + </xsl:if> + <xsl:text>{[</xsl:text> + <xsl:call-template name="xref.xreflabel"> + <xsl:with-param name="target" select="$target"/> + </xsl:call-template> + <xsl:text>]}</xsl:text> + </xsl:when> + + <!-- If an xreflabel has not been specified for the target ... --> <xsl:otherwise> <xsl:choose> <xsl:when test="@endterm"> @@ -158,31 +180,29 @@ <xsl:text>[NONEXISTENT ID]</xsl:text> </xsl:when> <xsl:otherwise> - <xsl:call-template name="generate.hyperlink"> - <xsl:with-param name="target" select="$target"/> - <xsl:with-param name="text"><xsl:apply-templates select="$etarget" mode="xref.text"/></xsl:with-param> - </xsl:call-template> + <xsl:choose> + <xsl:when test="$latex.use.hyperref=1"> + <xsl:text>\hyperlink{</xsl:text><xsl:value-of select="$target/@id"/><xsl:text>}</xsl:text> + <xsl:text>{</xsl:text> <xsl:apply-templates select="$etarget" mode="xref.text"/><xsl:text>}</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$etarget" mode="xref.text"/> + </xsl:otherwise> + </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:when> - <!-- If an xreflabel has been specified for the target ... --> - <xsl:when test="local-name(.)='xref' and $target/@xreflabel"> - <xsl:call-template name="generate.hyperlink"> - <xsl:with-param name="target" select="$target"/> - <xsl:with-param name="text"> - <xsl:text>{[</xsl:text> - <xsl:call-template name="xref.xreflabel"> - <xsl:with-param name="target" select="$target"/> - </xsl:call-template> - <xsl:text>]}</xsl:text> - </xsl:with-param> - </xsl:call-template> - </xsl:when> <xsl:otherwise> - <xsl:call-template name="generate.hyperlink"> - <xsl:with-param name="target" select="$target"/> - <xsl:with-param name="text"><xsl:apply-templates select="$target" mode="xref-to"/></xsl:with-param> - </xsl:call-template> + <xsl:choose> + <xsl:when test="$latex.use.hyperref=1"> + <xsl:text>\hyperlink{</xsl:text><xsl:value-of select="$target/@id"/><xsl:text>}{</xsl:text> + <xsl:apply-templates select="$target" mode="xref-to"/> + <xsl:text>}</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$target" mode="xref-to"/> + </xsl:otherwise> + </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:otherwise> @@ -200,50 +220,6 @@ </xsl:if> </xsl:template> - <doc:template name="generate.hyperlink" xmlns=""> - <refpurpose> Choose hyperlink syntax </refpurpose> - <refdescription> - <para>Will use hyperref, if it is available. Otherwise, just outputs - unlinked text. If the destination is a citation, a backreference is - emitted (even though it is technically a hyperlink, not a citation). - If the 'text' arises from an @endterm, then the 'optional argument' - syntax of <literal>\cite</literal> is used.</para> - </refdescription> - </doc:template> - <xsl:template name="generate.hyperlink"> - <xsl:param name="target"/> - <xsl:param name="text"/> - <xsl:variable name="element" select="local-name($target)"/> - <xsl:variable name="citation" select="$element='biblioentry' or $element='bibliomixed'"/> - <xsl:choose> - <xsl:when test="$citation and @endterm!=''"> - <xsl:text>\docbooktolatexcite</xsl:text> - <xsl:text>{</xsl:text> - <xsl:value-of select="$target/@id"/> - <xsl:text>}{</xsl:text> - <xsl:call-template name="scape-optionalarg"> - <xsl:with-param name="string" select="$text"/> - </xsl:call-template> - <xsl:text>}</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:if test="$latex.use.hyperref=1"> - <xsl:text>\hyperlink{</xsl:text> - <xsl:value-of select="$target/@id"/> - <xsl:text>}</xsl:text> - </xsl:if> - <xsl:text>{</xsl:text> - <xsl:if test="$citation"> - <xsl:text>\docbooktolatexbackcite{</xsl:text> - <xsl:value-of select="$target/@id"/> - <xsl:text>}</xsl:text> - </xsl:if> - <xsl:value-of select="$text"/> - <xsl:text>}</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <doc:template name="xref.p.subst" xmlns=""> <refpurpose>Insert page number into xrefs</refpurpose> <refdescription><para></para></refdescription> @@ -528,9 +504,8 @@ </xsl:when> <xsl:otherwise> <xsl:text>\href{</xsl:text> - <xsl:call-template name="scape-href"> - <xsl:with-param name="string" select="$url"/> - </xsl:call-template> + <!-- Unparsed URL. No char is escaped. --> + <xsl:value-of select="$url"/> <xsl:text>}</xsl:text> <xsl:text>{</xsl:text> <xsl:apply-templates/> @@ -611,9 +586,7 @@ </xsl:when> <xsl:otherwise> <xsl:text>\href{</xsl:text> - <xsl:call-template name="scape-href"> - <xsl:with-param name="string" select="$url"/> - </xsl:call-template> + <xsl:value-of select="$url"/> <xsl:text>}{\texttt{</xsl:text> <xsl:call-template name="generate.string.url"> <xsl:with-param name="hyphenation" select="$hyphenation"/> |