diff options
Diffstat (limited to 'manpages/inline.xsl')
-rw-r--r-- | manpages/inline.xsl | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/manpages/inline.xsl b/manpages/inline.xsl new file mode 100644 index 0000000..56ca4c5 --- /dev/null +++ b/manpages/inline.xsl @@ -0,0 +1,219 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:exsl="http://exslt.org/common" + version='1.0'> + +<!-- ******************************************************************** + $Id: inline.xsl 7897 2008-03-10 15:46:03Z xmldoc $ + ******************************************************************** + + 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 match="replaceable|varname|structfield"> + <xsl:if test="$man.hyphenate.computer.inlines = 0"> + <xsl:call-template name="suppress.hyphenation"/> + </xsl:if> + <xsl:call-template name="italic"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="option|userinput|envar|errorcode|constant|markup"> + <xsl:if test="$man.hyphenate.computer.inlines = 0"> + <xsl:call-template name="suppress.hyphenation"/> + </xsl:if> + <xsl:call-template name="bold"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="classname"> + <xsl:if test="$man.hyphenate.computer.inlines = 0"> + <xsl:call-template name="suppress.hyphenation"/> + </xsl:if> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="command"> + <xsl:if test="$man.hyphenate.computer.inlines = 0"> + <xsl:call-template name="suppress.hyphenation"/> + </xsl:if> + <xsl:call-template name="bold"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="type[not(ancestor::cmdsynopsis) and + not(ancestor::funcsynopsis)]"> + <xsl:if test="$man.hyphenate.computer.inlines = 0"> + <xsl:call-template name="suppress.hyphenation"/> + </xsl:if> + <xsl:call-template name="bold"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="function[not(ancestor::cmdsynopsis) and + not(ancestor::funcsynopsis)]"> + <xsl:if test="$man.hyphenate.computer.inlines = 0"> + <xsl:call-template name="suppress.hyphenation"/> + </xsl:if> + <xsl:call-template name="bold"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="parameter[not(ancestor::cmdsynopsis) and + not(ancestor::funcsynopsis)]"> + <xsl:if test="$man.hyphenate.computer.inlines = 0"> + <xsl:call-template name="suppress.hyphenation"/> + </xsl:if> + <xsl:call-template name="italic"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="filename"> + <!-- * add hyphenation suppression in Filename output only if --> + <!-- * break.after.slash is also non-zero --> + <xsl:if test="$man.hyphenate.filenames = 0 and + $man.break.after.slash = 0"> + <xsl:call-template name="suppress.hyphenation"/> + </xsl:if> + <!-- * part of the old man(7) man page, now man-pages(7), says, --> + <!-- * "Filenames (whether pathnames, or references to files in the --> + <!-- * /usr/include directory) are always in italics". But that's dumb, --> + <!-- * and looks like crap in PS/printed/PDF output, and there's no --> + <!-- * sound rationale for it, so we don't do it. --> + <xsl:call-template name="inline.monoseq"/> +</xsl:template> + +<xsl:template match="emphasis"> + <xsl:choose> + <xsl:when test=" + @role = 'bold' or + @role = 'strong' or + @remap = 'B'"> + <xsl:call-template name="bold"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="italic"> + <xsl:with-param name="node" select="."/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="optional"> + <xsl:value-of select="$arg.choice.opt.open.str"/> + <xsl:apply-templates/> + <xsl:value-of select="$arg.choice.opt.close.str"/> +</xsl:template> + +<xsl:template name="do-citerefentry"> + <xsl:param name="refentrytitle" select="''"/> + <xsl:param name="manvolnum" select="''"/> + <xsl:variable name="title"> + <xsl:value-of select="$refentrytitle"/> + </xsl:variable> + <xsl:call-template name="bold"> + <xsl:with-param name="node" select="exsl:node-set($title)"/> + <xsl:with-param name="context" select="."/> + </xsl:call-template> + <xsl:text>(</xsl:text> + <xsl:value-of select="$manvolnum"/> + <xsl:text>)</xsl:text> +</xsl:template> + +<xsl:template match="citerefentry"> + <xsl:call-template name="do-citerefentry"> + <xsl:with-param name="refentrytitle" select="refentrytitle"/> + <xsl:with-param name="manvolnum" select="manvolnum"/> + </xsl:call-template> +</xsl:template> + +<xsl:template match="trademark|productname"> + <xsl:apply-templates/> + <xsl:choose> + <!-- * Just use true Unicode chars for copyright, trademark, etc., --> + <!-- * symbols (by default, we later automatically translate them --> + <!-- * with the apply-string-subst-map template, or with the --> + <!-- * default character map, if man.charmap.enabled is true). --> + <xsl:when test="@class = 'copyright'"> + <xsl:text>©</xsl:text> + </xsl:when> + <xsl:when test="@class = 'registered'"> + <xsl:text>®</xsl:text> + </xsl:when> + <xsl:when test="@class = 'service'"> + <xsl:text>℠</xsl:text> + </xsl:when> + <xsl:when test="@class = 'trade'"> + <xsl:text>™</xsl:text> + </xsl:when> + <!-- * for Trademark element, render a trademark symbol by default --> + <!-- * even if no "class" value is specified --> + <xsl:when test="self::trademark" > + <xsl:text>™</xsl:text> + </xsl:when> + <xsl:otherwise> + <!-- * otherwise we have a Productname with no value for the --> + <!-- * "class" attribute, so don't render any symbol by default --> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- * span seems to sneak through into output sometimes, possibly due --> +<!-- * to failed Olink processing; so we need to catch it --> +<xsl:template match="span"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="inlinemediaobject"> + <xsl:apply-templates/> +</xsl:template> + +<!-- * indexterm instances produce groff comments like this: --> +<!-- * .\" primary: secondary: tertiary --> +<xsl:template match="indexterm"> + <xsl:text>.\" </xsl:text> + <xsl:apply-templates/> + <xsl:text> </xsl:text> +</xsl:template> + +<xsl:template match="primary"> + <xsl:value-of select="normalize-space(.)"/> +</xsl:template> + +<xsl:template match="secondary|tertiary"> + <xsl:text>: </xsl:text> + <xsl:value-of select="normalize-space(.)"/> +</xsl:template> + +<!-- * non-empty remark instances produce groff comments --> +<xsl:template match="remark"> + <xsl:variable name="content" select="normalize-space(.)"/> + <xsl:if test="not($content = '')"> + <xsl:text>.\" </xsl:text> + <xsl:value-of select="$content"/> + <xsl:text> </xsl:text> + </xsl:if> +</xsl:template> + +</xsl:stylesheet> |