diff options
Diffstat (limited to 'stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages')
19 files changed, 0 insertions, 17493 deletions
diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/ChangeLog.20020917 b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/ChangeLog.20020917 deleted file mode 100644 index c170cc056..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/ChangeLog.20020917 +++ /dev/null @@ -1,195 +0,0 @@ -Note: This changelog is a record of descriptions of all changes -made to the DocBook XSL manpages stylesheets during the time when -they were maintained in their original home in the -[cvs]/docbook/contrib/xsl/db2man area of the DocBook Project -source-code repository at Sourceforge; that is, from October 2001 -(when they were contributed to the project by Martijn van Beers) -until September 2002 (when they were moved to the -[cvs]/docbook/xsl/manpages area and became a standard part of all -subsequent DocBook XSL Stylesheets releases). - -2002-09-17 Norman Walsh <nwalsh@users.sourceforge.net> - - * README, db2man.xsl, lists.xsl, sect23.xsl, synop.xsl, xref.xsl: - Moved to docbook/xsl/manpages - - * db2man.xsl, synop.xsl: Patch from Joe Orton - -2002-06-16 <lotr@users.sourceforge.net> - - * db2man.xsl: commit patch sent by Joe Orton: - - This patch adds support for using the productname, date and title out of - a <referenceinfo> if one is present, rather than having to add each of - these individually for every refentry. - - * db2man.xsl: Tim Waugh sent: - - This patch normalizes space in each refname before displaying it in - the name section. - -2002-05-21 <lotr@users.sourceforge.net> - - * xref.xsl: from Joe Orton: - this patch allows cross-referencing to a specific refname. I - need this since I'm documenting several different (but related) - functions per refentry, and want to cross-reference them individually, - rather than just by the title used for the refentry as a whole. - -2002-05-17 <lotr@users.sourceforge.net> - - * lists.xsl: apply glosslist support patch from twaugh - -2002-05-15 <lotr@users.sourceforge.net> - - * db2man.xsl: slightly sanitize the filenames we generate. again from twaugh - - * db2man.xsl: Apply twaugh's fix for making the entity transform stuff work - -2002-05-14 <lotr@users.sourceforge.net> - - * db2man.xsl: generalize the tip template for all admonitions - (caution,important,note,tip,warning) - - * db2man.xsl: Apply Joe Orton's <tip> patch, modified to be indented. Also show "Tip" - in the title. - - so if <tip><title>foo</title></tip>, you get - Tip: foo - - * synop.xsl: rewrote funcprototype. It used to convert all its children to a single - string and the split it up again through recursion. Now has a nice - foreach loop for the paramdefs, which seems much cleaner than throwing - everything in a big string before processing it. - -2002-05-10 <lotr@users.sourceforge.net> - - * db2man.xsl: add support for simpara - - * db2man.xsl, lists.xsl: fix refsect2 titles - - * synop.xsl: also from twaugh: - - I found some input that goes wrong with the synop.xsl we have in CVS: - - <group choice="opt"> - <arg>-o <replaceable>FILE</replaceable></arg> - <arg>--output=<replaceable>FILE</replaceable></arg> - </group> - - It gets rendered as (with *bold* and _italic_): - - [*-o FILE* | *--output=FILE*] - - The desired markup should look like: - The following macro does the trick: - - [\fB-o \fIFILE\fR\fR | \fB--output=\fIFILE\fR\fR] - - The trouble is that the named template 'bold' uses value-of, and so - strips <replaceable> of its significance. - - Another thing I found is that the arg/replaceable template is - superfluous altogether: db2man.xsl has a 'replaceable' template which - does the same thing. - - Here is a patch to make those two modifications. - - NOTE TO SELF: must try to fix bold template so we can use it everywhere - -2002-05-09 <lotr@users.sourceforge.net> - - * db2man.xsl: oops, removed too much - - * db2man.xsl: remove stuff that's apparently left-over from sect23.xsl - - * db2man.xsl, lists.xsl, synop.xsl: batch of patches from twaugh: - * This patch (based on one from Jirka Kosek) adds support for - block-level elements inside <para>s---<screen>s for example, or lists. - * This patch replaces entities (like '舒') with sensible - characters or groups of characters. - * This patch adds support for sbr. - * This patch normalizes spaces in varlistentry terms. - * This patch normalizes spaces in terminal varlistentry terms. - * This patch allows variable lists to be nested (once). - * This patch prevents variable list item paragraphs from merging into - one another. - * This patch improves the rendering of itemized lists, and adds support - for ordered lists and procedures. - * This patch makes some small adjustments to group/arg: don't put extra - spaces in where they aren't needed, and normalize the space of $arg. - * This patch makes adjustments to cmdsynopsis elements. In particular, - they can now be wrapped if no <sbr/> is provided. - * This patch adds funcsynopsis//* support. Again, wrapping is done - automatically. - - * synop.xsl: make synopsises work for --arg=foo <arg>s too - - * synop.xsl: remove unneccesary adding of whitespace for arg/replaceable - -2002-05-01 <lotr@users.sourceforge.net> - - * db2man.xsl: This patch adds support for multiple refnames. - - (another twaugh patch) - - * db2man.xsl: modified ulink patch from twaugh. Be nice to content-less ulinks. But we - don't accomodate silly people who don't understand ulink and put the - url as the content too. - - * db2man.xsl, synop.xsl: db2man.xsl: - * temporarily add some params that chunker.xsl needs - * fix bold/italic templates - * update calls to bold/italic templates for new syntax - synop.xsl: - * add support for synopfragment - * update calls to bold/italic templates for new syntax - -2002-04-30 <lotr@users.sourceforge.net> - - * db2man.xsl: Add twaug's patch for xref support - - * db2man.xsl: This patch adds support for: - - - Multiple authors. - - A (single) man page editor. - - (another patch from twaugh) - - * db2man.xsl: more twaugh patches: - - Use refentrytitle, not refname[1], for title. - - Upper-case it. - - Use date, productname, and title. - - Pick up author from main document if not contained in refentry. - - Use refname[1] for man page filename, not refentrytitle. - - * db2man.xsl: add varname support - - * db2man.xsl: This patch makes userinput (an inline element) have inline formatting. - - * db2man.xsl: This patch adds support for the top-level document being something - other than an article. - - It also emits a helpful warning if no refentry elements are found. - - * db2man.xsl: next twaugh patch: - Instead of writing to stdout, create a file for each - refentry. Plus, for bonus points, a file for each additional refname - within that entry (pointing to the main page). - - * db2man.xsl: Add named templates for bold-ifying and italicizing stuff. Inspired - by yet another twaugh patch - - * db2man.xsl, lists.xsl, sect23.xsl: consistently use instead of a newline - - * db2man.xsl, synop.xsl: * add support for informalexample, screen, errorcode, constant, type, - quote, programlisting and citerefentry - * use the 'bold' and 'italic' named templates - - * xref.xsl: New file. - -2001-12-01 Norman Walsh <nwalsh@users.sourceforge.net> - - * README, db2man.xsl, lists.xsl, sect23.xsl, synop.xsl: - New file. - diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/block.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/block.xsl deleted file mode 100644 index 9278561bc..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/block.xsl +++ /dev/null @@ -1,411 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - exclude-result-prefixes="exsl" - version='1.0'> - -<!-- ******************************************************************** - $Id: block.xsl 8703 2010-07-06 20:57:06Z nwalsh $ - ******************************************************************** - - 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="caution|important|note|tip|warning"> - <xsl:call-template name="roff-if-start"> - <xsl:with-param name="condition">n</xsl:with-param> - </xsl:call-template> - <xsl:text>.sp </xsl:text> - <xsl:call-template name="roff-if-end"/> - <xsl:text>.RS 4 </xsl:text> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>.BM yellow </xsl:text> - </xsl:if> - <xsl:call-template name="pinch.together"/> - <xsl:text>.ps +1 </xsl:text> - <xsl:call-template name="make.bold.title"/> - <xsl:text>.ps -1 </xsl:text> - <xsl:text>.br </xsl:text> - <xsl:apply-templates/> - <xsl:text>.sp .5v </xsl:text> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>.EM yellow </xsl:text> - </xsl:if> - <xsl:text>.RE </xsl:text> -</xsl:template> - -<xsl:template match="formalpara"> - <xsl:variable name="title.wrapper"> - <xsl:value-of select="normalize-space(title[1])"/> - </xsl:variable> - <xsl:text>.PP </xsl:text> - <!-- * don't put linebreak after head; instead render it as a "run in" --> - <!-- * head, that is, inline, with a period and space following it --> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="exsl:node-set($title.wrapper)"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <xsl:text>. </xsl:text> - <xsl:apply-templates/> -</xsl:template> - -<xsl:template match="formalpara/para"> - <xsl:call-template name="mixed-block"/> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="para"> - <!-- * FIXME: Need to extract the ancestor::footnote, etc. checking and --> - <!-- * move to named template so that we can call it from templates for --> - <!-- * other block elements also --> - <xsl:choose> - <!-- * If a para is a descendant of a footnote, etc., then indent it --> - <!-- * (unless it is the first child, in which case don't generate --> - <!-- * anything at all to mark its start). --> - <!-- * FIXME: *blurb checking should not be munged in here the way --> - <!-- * it currently is; this probably breaks blurb indenting. --> - <xsl:when test="ancestor::footnote or - ancestor::annotation or - ancestor::authorblurb or - ancestor::personblurb or - ancestor::callout"> - <xsl:if test="preceding-sibling::*[not(name() ='')]"> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.RS 4n</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <xsl:text>.PP</xsl:text> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:call-template name="mixed-block"/> - <xsl:if test="ancestor::footnote or - ancestor::annotation or - ancestor::authorblurb or - ancestor::personblurb"> - <xsl:if test="preceding-sibling::*[not(name() ='')]"> - <xsl:text> </xsl:text> - <xsl:text>.RE</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="simpara"> - <xsl:choose> - <xsl:when test="ancestor::footnote or - ancestor::annotation or - ancestor::authorblurb or - ancestor::personblurb or - ancestor::callout"> - <xsl:if test="preceding-sibling::*[not(name() ='')]"> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.RS 4n</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:variable name="content"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($content)"/> - <xsl:text> </xsl:text> -</xsl:template> - -<!-- ==================================================================== --> - -<!-- * Yes, address, synopsis, and funcsynopsisinfo are verbatim environments. --> -<xsl:template match="literallayout|programlisting|screen| - address|synopsis|funcsynopsisinfo"> - <xsl:param name="indent"> - <!-- * Only indent this verbatim if $man.indent.verbatims is --> - <!-- * non-zero and it is not a child of a *synopsis element or a --> - <!-- * descendant of a refsynopsisdiv --> - <xsl:if test="not($man.indent.verbatims = 0) - and not(substring(local-name(..), - string-length(local-name(..))-7) = 'synopsis') - and not(ancestor::*[local-name() = 'refsynopsisdiv']) - "> - <xsl:text>Yes</xsl:text> - </xsl:if> - </xsl:param> - - <!-- * if this verbatim environment starts with a newline/linebreak --> - <!-- * (that is, if there is a linebreak after the opening tag), that --> - <!-- * break would otherwise show up in output; that does not seem to --> - <!-- * be what most users would expect, so we check to see if it does --> - <!-- * indeed start with a leading newline. if so, later in this --> - <!-- * template, we adjust for the leading new line by doing some --> - <!-- * monkeyshines with "sp -1" vertical spacing --> - <xsl:variable name="adjust-for-leading-newline"> - <xsl:if test="substring(., 1, 1) = ' '">Yes</xsl:if> - </xsl:variable> - - <xsl:choose> - <!-- * Check to see if this verbatim item is within a parent element that --> - <!-- * allows mixed content. --> - <!-- * --> - <!-- * If it is within a mixed-content parent, then a line space is --> - <!-- * already added before it by the mixed-block template, so we don't --> - <!-- * need to add one here. --> - <!-- * --> - <!-- * If it is not within a mixed-content parent, then we need to add a --> - <!-- * line space before it. --> - <xsl:when test="parent::caption|parent::entry|parent::para| - parent::td|parent::th" /> <!-- do nothing --> - <xsl:otherwise> - <xsl:text> </xsl:text> - <xsl:text>.sp </xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:if test="$indent = 'Yes'"> - <!-- * start indented section --> - <xsl:call-template name="roff-if-start"/> - <!-- * only indent in TTY output, not in non-TTY/PS --> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($man.indent.width = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$man.indent.width"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:call-template name="roff-if-end"/> - </xsl:if> - <xsl:choose> - <xsl:when test="self::funcsynopsisinfo"> - <!-- * All Funcsynopsisinfo content is by default rendered in bold, --> - <!-- * because the man(7) man page says this: --> - <!-- * --> - <!-- * For functions, the arguments are always specified using --> - <!-- * italics, even in the SYNOPSIS section, where the rest of --> - <!-- * the function is specified in bold --> - <!-- * --> - <!-- * Look through the contents of the man/man2 and man3 directories --> - <!-- * on your system, and you'll see that most existing pages do follow --> - <!-- * this "bold everything in function synopsis" rule. --> - <!-- * --> - <!-- * Users who don't want the bold output can choose to adjust the --> - <!-- * man.font.funcsynopsisinfo parameter on their own. So even if you --> - <!-- * don't personally like the way it looks, please don't change the --> - <!-- * default to be non-bold - because it's a convention that's --> - <!-- * followed is the vast majority of existing man pages that document --> - <!-- * functions, and we need to follow it by default, like it or no. --> - <xsl:text>.ft </xsl:text> - <xsl:value-of select="$man.font.funcsynopsisinfo"/> - <xsl:text> </xsl:text> - <xsl:call-template name="verbatim-block-start"/> - <xsl:text>.nf </xsl:text> - <xsl:apply-templates/> - <xsl:text> </xsl:text> - <xsl:text>.fi </xsl:text> - <xsl:call-template name="verbatim-block-end"/> - <xsl:text>.ft </xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * Other verbatims do not need to get bolded --> - <xsl:call-template name="verbatim-block-start"/> - <xsl:text>.nf </xsl:text> - <xsl:choose> - <xsl:when test="self::literallayout|self::programlisting|self::screen - and not(ancestor::*[local-name() = 'refsynopsisdiv']) - and not($man.output.better.ps.enabled = 0) - "> - <!-- * if this is a literallayout|programlisting|screen, --> - <!-- * and user has set man.output.better.ps.enabled to non-zero, --> - <!-- * then we put a background behind it in non-TTY output; except --> - <!-- * if it’s a descendant of a refsynopsisdiv (as can be --> - <!-- * found in the git docs) --> - <xsl:choose> - <!-- * if content has a leading newline, we need to back up --> - <!-- * one line vertically to get it boxed correctly --> - <xsl:when test="not($adjust-for-leading-newline = '')"> - <xsl:call-template name="roff-if-start"> - <xsl:with-param name="condition">t</xsl:with-param> - </xsl:call-template> - <xsl:text>.sp -1 </xsl:text> - <xsl:call-template name="roff-if-end"/> - <xsl:text>.BB lightgray</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>adjust-for-leading-newline </xsl:text> - <!-- * in non-TTY output, for the case where we have a --> - <!-- * leading newline, we need to also back up one line --> - <!-- * vertically inside the background box --> - <xsl:text>.sp -1 </xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>.BB lightgray </xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:apply-templates/> - <xsl:text> </xsl:text> - <xsl:choose> - <xsl:when test="not($adjust-for-leading-newline = '')"> - <xsl:text>.EB lightgray</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>adjust-for-leading-newline </xsl:text> - <xsl:call-template name="roff-if-start"> - <xsl:with-param name="condition">t</xsl:with-param> - </xsl:call-template> - <!-- * in non-TTY output, for the case where we have a --> - <!-- * leading newline, we need to add back at the end of --> - <!-- * the content some of the vertical space we chopped --> - <!-- * off at the beginning --> - <xsl:text>.sp 1 </xsl:text> - <xsl:call-template name="roff-if-end"/> - </xsl:when> - <xsl:otherwise> - <xsl:text>.EB lightgray </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise this is not a literallayout|programlisting|screen, --> - <!-- * so we don’t put a background behind --> - <xsl:apply-templates/> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:text>.fi </xsl:text> - <xsl:call-template name="verbatim-block-end"/> - </xsl:otherwise> - </xsl:choose> - <xsl:if test="$indent = 'Yes'"> - <!-- * end indented section --> - <xsl:call-template name="roff-if-start"/> - <xsl:text>.RE </xsl:text> - <xsl:call-template name="roff-if-end"/> - </xsl:if> - <!-- * if this verbatim environment has a following sibling node, --> - <!-- * output a line of space to separate the content --> - <xsl:if test="following-sibling::text() - |following-sibling::para - |following-sibling::simpara"> - <xsl:text>.sp </xsl:text> - </xsl:if> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template match="table|informaltable"> - <xsl:apply-templates select="." mode="to.tbl"> - <!--* we call the to.tbl mode with the "source" param so that we can --> - <!--* preserve the context information and pass it down to the --> - <!--* named templates that do the actual table processing --> - <xsl:with-param name="source" select="ancestor::refentry/refnamediv[1]/refname[1]"/> - </xsl:apply-templates> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template match="informalexample"> - <xsl:apply-templates/> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template match="figure|example"> - <xsl:variable name="param.placement" - select="substring-after(normalize-space($formal.title.placement), - concat(local-name(.), ' '))"/> - - <xsl:variable name="placement"> - <xsl:choose> - <xsl:when test="contains($param.placement, ' ')"> - <xsl:value-of select="substring-before($param.placement, ' ')"/> - </xsl:when> - <xsl:when test="$param.placement = ''">before</xsl:when> - <xsl:otherwise> - <xsl:value-of select="$param.placement"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:text>.PP </xsl:text> - <xsl:call-template name="formal.object"> - <xsl:with-param name="placement" select="$placement"/> - </xsl:call-template> - <xsl:text> </xsl:text> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template match="mediaobject"> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:apply-templates/> - <xsl:text> </xsl:text> - <xsl:text>.RE </xsl:text> -</xsl:template> - -<xsl:template match="imageobject"> - <xsl:text>[IMAGE]</xsl:text> - <xsl:apply-templates/> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="textobject[parent::inlinemediaobject]"> - <xsl:text>[</xsl:text> - <xsl:value-of select="."/> - <xsl:text>]</xsl:text> -</xsl:template> - -<xsl:template match="textobject"> - <xsl:apply-templates/> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template name="formal.object"> - <xsl:param name="placement" select="'before'"/> - <xsl:param name="class" select="local-name(.)"/> - - <xsl:choose> - <xsl:when test="$placement = 'before'"> - <xsl:call-template name="formal.object.heading"/> - <xsl:apply-templates/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates/> - <xsl:call-template name="formal.object.heading"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="formal.object.heading"> - <xsl:param name="object" select="."/> - <xsl:param name="title"> - <xsl:apply-templates select="$object" mode="object.title.markup.textonly"/> - </xsl:param> - <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:template> - -<!-- ==================================================================== --> - -<!-- * suppress abstract --> -<xsl:template match="abstract"/> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/charmap.groff.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/charmap.groff.xsl deleted file mode 100644 index a9492fafb..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/charmap.groff.xsl +++ /dev/null @@ -1,6013 +0,0 @@ -<?xml version="1.0" encoding="US-ASCII"?> -<xsl:stylesheet version="2.0" - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:u="http://docbook.sf.net/xmlns/unichar/1.0" - exclude-result-prefixes="u"> - -<!-- ******************************************************************** - $Id: charmap.groff.xsl 7806 2008-03-04 03:27:47Z 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:character-map name="groff"> - - <!-- * *************************************************************** --> - <!-- * Commentary --> - <!-- * *************************************************************** --> - <!-- * --> - <!-- * This file maps a selection of Unicode symbols and special --> - <!-- * characters (about 800) to corresponding groff escape sequences.--> - <!-- * --> - <!-- * Although the format of this file follows the "character map" --> - <!-- * format described in the XSLT 2.0 specification[1], the file can --> - <!-- * also be used with an appropriate XSLT 1.0 stylesheet and any --> - <!-- * XSLT 1.0 processor. --> - <!-- * --> - <!-- * [1] http://www.w3.org/TR/xslt20/#character-maps --> - <!-- * --> - <!-- * In order to make the character map more readable, and to make --> - <!-- * it possible to create subsets of it at run time, it uses the --> - <!-- * following "extension attributes" (in the "unichar" namespace): --> - <!-- * --> - <!-- * - u:name = ISO character name (e.g., "OHM SIGN") --> - <!-- * - u:entity = ISO entity name (e.g., "ohm") --> - <!-- * - u:block = Unicode block name (e.g., "Letterlike Symbols") --> - <!-- * - u:class = character class (e.g., "bullets") --> - <!-- * --> - <!-- * Use of such extension attributes is permitted by the XSLT 2.0 --> - <!-- * spec; see the "Extension Attributes" section[2]. --> - <!-- * --> - <!-- * [2] http://www.w3.org/TR/xslt20/#extension-attributes --> - <!-- * --> - <!-- * *************************************************************** --> - <!-- * Acknowledgements --> - <!-- * *************************************************************** --> - <!-- * The following references were consulted when selecting roff --> - <!-- * mappings and character information: --> - <!-- * --> - <!-- * - groff_char(7) man page[3] --> - <!-- * - groff info file[4]; in particular, the "Page Motions" node[5] --> - <!-- * - tables in "Character Sets" chapter of "XML In a Nutshell"[6] --> - <!-- * - Zvon Character Search[7] --> - <!-- * --> - <!-- * [3] http://www.linux.se/showMan.php?TITLE=groff_char&SECTION=7 --> - <!-- * [4] http://www.fifi.org/cgi-bin/info2www?(groff) --> - <!-- * [5] http://www.fifi.org/cgi-bin/info2www?(groff)Page+Motions --> - <!-- * [6] http://www.ibiblio.org/xml/books/xian2/ --> - <!-- * [7] http://zvon.org/other/charSearch/PHP/search.php --> - <!-- * --> - <!-- * The initial version of this file (before the "string" mappings --> - <!-- * were added) was generated by taking the "unichars.el" file from --> - <!-- * Norm Walsh's "xmlunicode.el"[8] elisp distro, and running a --> - <!-- * script on it to convert it to XML. --> - <!-- * --> - <!-- * [8] http://nwalsh.com/emacs/xmlchars/ --> - <!-- * --> - <!-- * The idea for implementing a character map in the DocBook Project --> - <!-- * manpages system was inspired by Steve Cheng's docbook2x[9]; --> - <!-- * in particular, its "utf8trans" utility and character-map system. --> - <!-- * --> - <!-- * [9] http://docbook2x.sourceforge.net/ --> - <!-- * --> - <!-- * ################################################################# --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Latin-1/ISO-8859-1 --> - <!-- * x00a0 to x00ff --> - <!-- * ***************************************************************** --> - - <!-- * A no-break space can be written two ways in roff; the difference, --> - <!-- * according to the "Page Motions" node in the groff info page, is: --> - <!-- * --> - <!-- * "\ " = --> - <!-- * An unbreakable and unpaddable (i.e. not expanded during filling) --> - <!-- * space. --> - <!-- * --> - <!-- * "\~" = --> - <!-- * An unbreakable space that stretches like a normal --> - <!-- * inter-word space when a line is adjusted." --> - <!-- * --> - <!-- * Unfortunately, roff seems to do some weird things with long --> - <!-- * lines that only have words separated by "\~" spaces, so it's --> - <!-- * safer just to stick with the "\ " space --> - <xsl:output-character - character=" " - u:name="NO-BREAK SPACE" - u:entity="nbsp" - string="\ \&" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¡" - u:name="INVERTED EXCLAMATION MARK" - u:entity="iexcl" - string="\(r!" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¢" - u:name="CENT SIGN" - u:entity="cent" - string="\(ct" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="£" - u:name="POUND SIGN" - u:entity="pound" - string="\(Po" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¤" - u:name="CURRENCY SIGN" - u:entity="curren" - string="\(Cs" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¥" - u:name="YEN SIGN" - u:entity="yen" - string="\(Ye" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¦" - u:name="BROKEN BAR" - u:entity="brvbar" - string="\(bb" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="§" - u:name="SECTION SIGN" - u:entity="sect" - string="\(sc" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¨" - u:name="DIAERESIS" - u:entity="Dot" - string="\(ad" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="©" - u:name="COPYRIGHT SIGN" - u:entity="copy" - string="\(co" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="ª" - u:name="FEMININE ORDINAL INDICATOR" - u:entity="ordf" - string="\(Of" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="«" - u:name="LEFT-POINTING DOUBLE ANGLE QUOTATION MARK" - u:entity="laquo" - string="\(Fo" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¬" - u:name="NOT SIGN" - u:entity="not" - string="\(no" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <!-- * groff_char(7) man page sayxsl: "the soft hyphen control character --> - <!-- * (prints as itself). groff never use this character for output --> - <!-- * (thus it is omitted in the table below); the input character 173 --> - <!-- * is onto \%." --> - <xsl:output-character - character="­" - u:name="SOFT HYPHEN" - u:entity="shy" - string="\%" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="®" - u:name="REGISTERED SIGN" - u:entity="reg" - string="\(rg" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¯" - u:name="MACRON" - u:entity="macr" - string="\(a-" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="°" - u:name="DEGREE SIGN" - u:entity="deg" - string="\(de" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="±" - u:name="PLUS-MINUS SIGN" - u:entity="plusmn" - string="\(+-" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="²" - u:name="SUPERSCRIPT TWO" - u:entity="sup2" - string="\(S2" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="³" - u:name="SUPERSCRIPT THREE" - u:entity="sup3" - string="\(S3" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="´" - u:name="ACUTE ACCENT" - u:entity="acute" - string="\(aa" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="µ" - u:name="MICRO SIGN" - u:entity="micro" - string="\(mc" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¶" - u:name="PILCROW SIGN" - u:entity="para" - string="\(ps" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <!-- * according to groff_char(7), I think the escape string \(pc --> - <!-- * "periodcentered" could also be used for middot; not sure which --> - <!-- * is better, but "md" mnemonic is a better fit :-) --> - <xsl:output-character - character="·" - u:name="MIDDLE DOT" - u:entity="middot" - string="\(md" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¸" - u:name="CEDILLA" - u:entity="cedil" - string="\(ac" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¹" - u:name="SUPERSCRIPT ONE" - u:entity="sup1" - string="\(S1" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="º" - u:name="MASCULINE ORDINAL INDICATOR" - u:entity="ordm" - string="\(Om" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="»" - u:name="RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" - u:entity="raquo" - string="\(Fc" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¼" - u:name="VULGAR FRACTION ONE QUARTER" - u:entity="frac14" - string="\(14" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="½" - u:name="VULGAR FRACTION ONE HALF" - u:entity="frac12" - string="\(12" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¾" - u:name="VULGAR FRACTION THREE QUARTERS" - u:entity="frac34" - string="\(34" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="¿" - u:name="INVERTED QUESTION MARK" - u:entity="iquest" - string="\(r?" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="À" - u:name="LATIN CAPITAL LETTER A WITH GRAVE" - u:entity="Agrave" - string="\(`A" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Á" - u:name="LATIN CAPITAL LETTER A WITH ACUTE" - u:entity="Aacute" - string="\('A" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Â" - u:name="LATIN CAPITAL LETTER A WITH CIRCUMFLEX" - u:entity="Acirc" - string="\(^A" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ã" - u:name="LATIN CAPITAL LETTER A WITH TILDE" - u:entity="Atilde" - string="\(~A" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ä" - u:name="LATIN CAPITAL LETTER A WITH DIAERESIS" - u:entity="Auml" - string="\(:A" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Å" - u:name="LATIN CAPITAL LETTER A WITH RING ABOVE" - u:entity="Aring" - string="\(oA" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Æ" - u:name="LATIN CAPITAL LETTER AE" - u:entity="AElig" - string="\(AE" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ç" - u:name="LATIN CAPITAL LETTER C WITH CEDILLA" - u:entity="Ccedil" - string="\(,C" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="È" - u:name="LATIN CAPITAL LETTER E WITH GRAVE" - u:entity="Egrave" - string="\(`E" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="É" - u:name="LATIN CAPITAL LETTER E WITH ACUTE" - u:entity="Eacute" - string="\('E" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ê" - u:name="LATIN CAPITAL LETTER E WITH CIRCUMFLEX" - u:entity="Ecirc" - string="\(^E" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ë" - u:name="LATIN CAPITAL LETTER E WITH DIAERESIS" - u:entity="Euml" - string="\(:E" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ì" - u:name="LATIN CAPITAL LETTER I WITH GRAVE" - u:entity="Igrave" - string="\(`I" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Í" - u:name="LATIN CAPITAL LETTER I WITH ACUTE" - u:entity="Iacute" - string="\('I" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Î" - u:name="LATIN CAPITAL LETTER I WITH CIRCUMFLEX" - u:entity="Icirc" - string="\(^I" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ï" - u:name="LATIN CAPITAL LETTER I WITH DIAERESIS" - u:entity="Iuml" - string="\(:I" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ð" - u:name="LATIN CAPITAL LETTER ETH" - u:entity="ETH" - string="\(-D" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ñ" - u:name="LATIN CAPITAL LETTER N WITH TILDE" - u:entity="Ntilde" - string="\(~N" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ò" - u:name="LATIN CAPITAL LETTER O WITH GRAVE" - u:entity="Ograve" - string="\(`O" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ó" - u:name="LATIN CAPITAL LETTER O WITH ACUTE" - u:entity="Oacute" - string="\('O" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ô" - u:name="LATIN CAPITAL LETTER O WITH CIRCUMFLEX" - u:entity="Ocirc" - string="\(^O" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Õ" - u:name="LATIN CAPITAL LETTER O WITH TILDE" - u:entity="Otilde" - string="\(~O" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ö" - u:name="LATIN CAPITAL LETTER O WITH DIAERESIS" - u:entity="Ouml" - string="\(:O" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="×" - u:name="MULTIPLICATION SIGN" - u:entity="times" - string="\(mu" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="Ø" - u:name="LATIN CAPITAL LETTER O WITH STROKE" - u:entity="Oslash" - string="\(/O" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ù" - u:name="LATIN CAPITAL LETTER U WITH GRAVE" - u:entity="Ugrave" - string="\(`U" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ú" - u:name="LATIN CAPITAL LETTER U WITH ACUTE" - u:entity="Uacute" - string="\('U" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Û" - u:name="LATIN CAPITAL LETTER U WITH CIRCUMFLEX" - u:entity="Ucirc" - string="\(^U" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ü" - u:name="LATIN CAPITAL LETTER U WITH DIAERESIS" - u:entity="Uuml" - string="\(:U" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Ý" - u:name="LATIN CAPITAL LETTER Y WITH ACUTE" - u:entity="Yacute" - string="\('Y" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="Þ" - u:name="LATIN CAPITAL LETTER THORN" - u:entity="THORN" - string="\(TP" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ß" - u:name="LATIN SMALL LETTER SHARP S" - u:entity="szlig" - string="\(ss" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="à" - u:name="LATIN SMALL LETTER A WITH GRAVE" - u:entity="agrave" - string="\(`a" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="á" - u:name="LATIN SMALL LETTER A WITH ACUTE" - u:entity="aacute" - string="\('a" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="â" - u:name="LATIN SMALL LETTER A WITH CIRCUMFLEX" - u:entity="acirc" - string="\(^a" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ã" - u:name="LATIN SMALL LETTER A WITH TILDE" - u:entity="atilde" - string="\(~a" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ä" - u:name="LATIN SMALL LETTER A WITH DIAERESIS" - u:entity="auml" - string="\(:a" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="å" - u:name="LATIN SMALL LETTER A WITH RING ABOVE" - u:entity="aring" - string="\(oa" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="æ" - u:name="LATIN SMALL LETTER AE" - u:entity="aelig" - string="\(ae" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ç" - u:name="LATIN SMALL LETTER C WITH CEDILLA" - u:entity="ccedil" - string="\(,c" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="è" - u:name="LATIN SMALL LETTER E WITH GRAVE" - u:entity="egrave" - string="\(`e" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="é" - u:name="LATIN SMALL LETTER E WITH ACUTE" - u:entity="eacute" - string="\('e" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ê" - u:name="LATIN SMALL LETTER E WITH CIRCUMFLEX" - u:entity="ecirc" - string="\(^e" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ë" - u:name="LATIN SMALL LETTER E WITH DIAERESIS" - u:entity="euml" - string="\(:e" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ì" - u:name="LATIN SMALL LETTER I WITH GRAVE" - u:entity="igrave" - string="\(`i" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="í" - u:name="LATIN SMALL LETTER I WITH ACUTE" - u:entity="iacute" - string="\('i" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="î" - u:name="LATIN SMALL LETTER I WITH CIRCUMFLEX" - u:entity="icirc" - string="\(^i" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ï" - u:name="LATIN SMALL LETTER I WITH DIAERESIS" - u:entity="iuml" - string="\(:i" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ð" - u:name="LATIN SMALL LETTER ETH" - u:entity="eth" - string="\(Sd" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ñ" - u:name="LATIN SMALL LETTER N WITH TILDE" - u:entity="ntilde" - string="\(~n" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ò" - u:name="LATIN SMALL LETTER O WITH GRAVE" - u:entity="ograve" - string="\(`o" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ó" - u:name="LATIN SMALL LETTER O WITH ACUTE" - u:entity="oacute" - string="\('o" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ô" - u:name="LATIN SMALL LETTER O WITH CIRCUMFLEX" - u:entity="ocirc" - string="\(^o" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="õ" - u:name="LATIN SMALL LETTER O WITH TILDE" - u:entity="otilde" - string="\(~o" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ö" - u:name="LATIN SMALL LETTER O WITH DIAERESIS" - u:entity="ouml" - string="\(:o" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="÷" - u:name="DIVISION SIGN" - u:entity="divide" - string="\(di" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="symbols" - /> - <xsl:output-character - character="ø" - u:name="LATIN SMALL LETTER O WITH STROKE" - u:entity="oslash" - string="\(/o" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ù" - u:name="LATIN SMALL LETTER U WITH GRAVE" - u:entity="ugrave" - string="\(`u" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ú" - u:name="LATIN SMALL LETTER U WITH ACUTE" - u:entity="uacute" - string="\('u" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="û" - u:name="LATIN SMALL LETTER U WITH CIRCUMFLEX" - u:entity="ucirc" - string="\(^u" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ü" - u:name="LATIN SMALL LETTER U WITH DIAERESIS" - u:entity="uuml" - string="\(:u" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ý" - u:name="LATIN SMALL LETTER Y WITH ACUTE" - u:entity="yacute" - string="\('y" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="þ" - u:name="LATIN SMALL LETTER THORN" - u:entity="thorn" - string="\(Tp" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <xsl:output-character - character="ÿ" - u:name="LATIN SMALL LETTER Y WITH DIAERESIS" - u:entity="yuml" - string="\(:y" - u:block="C1 Controls And Latin-1 Supplement (Latin-1 Supplement)" - u:class="letters" - /> - <!-- * **************************************************************** --> - <!-- * End: Latin-1/ISO-8859-1 --> - <!-- * **************************************************************** --> - - <!-- * **************************************************************** --> - <!-- * Begin: --> - <!-- * --> - <!-- * - x0100 to x017f (Latin Extended-A) --> - <!-- * - x0180 to x023f (Latin Extended-B) --> - <!-- * - x0250 to x02ad (IPA Extensions) --> - <!-- * - x02b0 to x02ee (Spacing Modifier Letters) --> - <!-- * - x0300 to x036f (Combining Diacritical Marks) --> - <!-- * --> - <!-- * Other than the following exceptions, characters in these --> - <!-- * blocks don't have any roff equivalents --> - <!-- * **************************************************************** --> - - <xsl:output-character - character="ı" - u:name="LATIN SMALL LETTER DOTLESS I" - u:entity="inodot" - string="\(.i" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="IJ" - u:name="LATIN CAPITAL LIGATURE IJ" - u:entity="IJlig" - string="\(IJ" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="ij" - u:name="LATIN SMALL LIGATURE IJ" - u:entity="ijlig" - string="\(ij" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="Ł" - u:name="LATIN CAPITAL LETTER L WITH STROKE" - u:entity="Lstrok" - string="\(/L" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="ł" - u:name="LATIN SMALL LETTER L WITH STROKE" - u:entity="lstrok" - string="\(/l" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="Œ" - u:name="LATIN CAPITAL LIGATURE OE" - u:entity="OElig" - string="\(OE" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="œ" - u:name="LATIN SMALL LIGATURE OE" - u:entity="oelig" - string="\(oe" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="Š" - u:name="LATIN CAPITAL LETTER S WITH CARON" - u:entity="Scaron" - string="\(vS" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="š" - u:name="LATIN SMALL LETTER S WITH CARON" - u:entity="scaron" - string="\(vs" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="Ž" - u:name="LATIN CAPITAL LETTER Z WITH CARON" - u:entity="Zcaron" - string="\(vZ" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="ž" - u:name="LATIN SMALL LETTER Z WITH CARON" - u:entity="zcaron" - string="\(vz" - u:block="Latin Extended-A" - /> - <xsl:output-character - character="ƒ" - u:name="LATIN SMALL LETTER F WITH HOOK" - u:entity="fnof" - string="\(Fn" - u:block="Latin Extended-B" - /> - <xsl:output-character - character="ˆ" - u:name="MODIFIER LETTER CIRCUMFLEX ACCENT" - u:entity="circ" - string="\(a^" - u:block="Spacing Modifier Letters" - /> - <xsl:output-character - character="ˇ" - u:name="CARON" - u:entity="caron" - string="\(ac" - u:block="Spacing Modifier Letters" - /> - <xsl:output-character - character="ˉ" - u:name="MODIFIER LETTER MACRON" - string="\(a-" - u:block="Spacing Modifier Letters" - /> - <xsl:output-character - character="˘" - u:name="BREVE" - u:entity="breve" - string="\(ab" - u:block="Spacing Modifier Letters" - /> -<!-- * there does not seem to by any roff equivalent for "dot above" --> -<!-- * <xsl:output-character --> -<!-- * character="˙" --> -<!-- * u:name="DOT ABOVE" --> -<!-- * u:entity="dot" --> -<!-- * /> --> - <xsl:output-character - character="˚" - u:name="RING ABOVE" - u:entity="ring" - string="\(ao" - u:block="Spacing Modifier Letters" - /> - <xsl:output-character - character="˛" - u:name="OGONEK" - u:entity="ogon" - string="\(ho" - u:block="Spacing Modifier Letters" - /> - <!-- groff_char(7) calls Unicode x02dd a "Hungarian umlaut" --> - <xsl:output-character - character="˝" - u:name="DOUBLE ACUTE ACCENT" - u:entity="dblac" - string='\(a"' - u:block="Spacing Modifier Letters" - /> - - <!-- * **************************************************************** --> - <!-- * End: --> - <!-- * - Latin Extended-A --> - <!-- * - Latin Extended-B --> - <!-- * - IPA Extensions --> - <!-- * - Spacing Modifier Letters --> - <!-- * - Combining Diacritical Marks --> - <!-- * **************************************************************** --> - - <!-- * **************************************************************** --> - <!-- * Begin: Greek and Coptic --> - <!-- * x0370 to x03ff --> - <!-- * **************************************************************** --> - - <xsl:output-character - character="Α" - u:name="GREEK CAPITAL LETTER ALPHA" - u:entity="Agr" - string="\(*A)" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Β" - u:name="GREEK CAPITAL LETTER BETA" - u:entity="Bgr" - string="\(*B" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Γ" - u:name="GREEK CAPITAL LETTER GAMMA" - u:entity="Gamma" - string="\(*G" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Δ" - u:name="GREEK CAPITAL LETTER DELTA" - u:entity="Delta" - string="\(*D" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ε" - u:name="GREEK CAPITAL LETTER EPSILON" - u:entity="Egr" - string="\(*E" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ζ" - u:name="GREEK CAPITAL LETTER ZETA" - u:entity="Zgr" - string="\(*Z" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Η" - u:name="GREEK CAPITAL LETTER ETA" - u:entity="EEgr" - string="\(*Y" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Θ" - u:name="GREEK CAPITAL LETTER THETA" - u:entity="THgr" - string="\(*H" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ι" - u:name="GREEK CAPITAL LETTER IOTA" - u:entity="Igr" - string="\(*I" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Κ" - u:name="GREEK CAPITAL LETTER KAPPA" - u:entity="Kgr" - string="\(*K" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Λ" - u:name="GREEK CAPITAL LETTER LAMDA" - u:entity="Lambda" - string="\(*L" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Μ" - u:name="GREEK CAPITAL LETTER MU" - u:entity="Mgr" - string="\(*M" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ν" - u:name="GREEK CAPITAL LETTER NU" - u:entity="Ngr" - string="\(*N" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ξ" - u:name="GREEK CAPITAL LETTER XI" - u:entity="Xgr" - string="\(*C" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ο" - u:name="GREEK CAPITAL LETTER OMICRON" - u:entity="Ogr" - string="\(*O" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Π" - u:name="GREEK CAPITAL LETTER PI" - u:entity="Pgr" - string="\(*P" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ρ" - u:name="GREEK CAPITAL LETTER RHO" - u:entity="Rgr" - string="\(*R" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Σ" - u:name="GREEK CAPITAL LETTER SIGMA" - u:entity="Sgr" - string="\(*S" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Τ" - u:name="GREEK CAPITAL LETTER TAU" - u:entity="Tgr" - string="\(*T" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Υ" - u:name="GREEK CAPITAL LETTER UPSILON" - u:entity="Ugr" - string="\(*U" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Φ" - u:name="GREEK CAPITAL LETTER PHI" - u:entity="PHgr" - string="\(*F" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Χ" - u:name="GREEK CAPITAL LETTER CHI" - u:entity="KHgr" - string="\(*X" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ψ" - u:name="GREEK CAPITAL LETTER PSI" - u:entity="PSgr" - string="\(*Q" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ω" - u:name="GREEK CAPITAL LETTER OMEGA" - u:entity="OHgr" - string="\(*W" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ϊ" - u:name="GREEK CAPITAL LETTER IOTA WITH DIALYTIKA" - u:entity="Idigr" - string="\(*I" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="Ϋ" - u:name="GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA" - u:entity="Udigr" - string="\(*U" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ά" - u:name="GREEK SMALL LETTER ALPHA WITH TONOS" - u:entity="aacgr" - string="\(*a" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="έ" - u:name="GREEK SMALL LETTER EPSILON WITH TONOS" - u:entity="eacgr" - string="\(*e" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ή" - u:name="GREEK SMALL LETTER ETA WITH TONOS" - u:entity="eeacgr" - string="\(*y" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ί" - u:name="GREEK SMALL LETTER IOTA WITH TONOS" - u:entity="iacgr" - string="\(*i" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ΰ" - u:name="GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS" - u:entity="udiagr" - string="\(*u" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="α" - u:name="GREEK SMALL LETTER ALPHA" - u:entity="agr" - string="\(*a" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="β" - u:name="GREEK SMALL LETTER BETA" - u:entity="beta" - string="\(*b" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="γ" - u:name="GREEK SMALL LETTER GAMMA" - u:entity="gamma" - string="\(*g" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="δ" - u:name="GREEK SMALL LETTER DELTA" - u:entity="delta" - string="\(*d" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ε" - u:name="GREEK SMALL LETTER EPSILON" - u:entity="epsi" - string="\(*e" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ζ" - u:name="GREEK SMALL LETTER ZETA" - u:entity="zeta" - string="\(*z" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="η" - u:name="GREEK SMALL LETTER ETA" - u:entity="eegr" - string="\(*y" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="θ" - u:name="GREEK SMALL LETTER THETA" - u:entity="thetas" - string="\(*h" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ι" - u:name="GREEK SMALL LETTER IOTA" - u:entity="igr" - string="\(*i" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="κ" - u:name="GREEK SMALL LETTER KAPPA" - u:entity="kappa" - string="\(*k" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="λ" - u:name="GREEK SMALL LETTER LAMDA" - u:entity="lambda" - string="\(*l" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="μ" - u:name="GREEK SMALL LETTER MU" - u:entity="mgr" - string="\(*m" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ν" - u:name="GREEK SMALL LETTER NU" - u:entity="ngr" - string="\(*n" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ξ" - u:name="GREEK SMALL LETTER XI" - u:entity="xgr" - string="\(*c" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ο" - u:name="GREEK SMALL LETTER OMICRON" - u:entity="ogr" - string="\(*o" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="π" - u:name="GREEK SMALL LETTER PI" - u:entity="pgr" - string="\(*p" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ρ" - u:name="GREEK SMALL LETTER RHO" - u:entity="rgr" - string="\(*r" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ς" - u:name="GREEK SMALL LETTER FINAL SIGMA" - u:entity="sfgr" - string="\(ts" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="σ" - u:name="GREEK SMALL LETTER SIGMA" - u:entity="sgr" - string="\(*s" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="τ" - u:name="GREEK SMALL LETTER TAU" - u:entity="tau" - string="\(*t" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="υ" - u:name="GREEK SMALL LETTER UPSILON" - u:entity="ugr" - string="\(*u" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="φ" - u:name="GREEK SMALL LETTER PHI" - u:entity="phgr" - string="\(*f" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="χ" - u:name="GREEK SMALL LETTER CHI" - u:entity="chi" - string="\(*x" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ψ" - u:name="GREEK SMALL LETTER PSI" - u:entity="psgr" - string="\(*q" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ω" - u:name="GREEK SMALL LETTER OMEGA" - u:entity="ohgr" - string="\(*w" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϊ" - u:name="GREEK SMALL LETTER IOTA WITH DIALYTIKA" - u:entity="idigr" - string="\(*i" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϋ" - u:name="GREEK SMALL LETTER UPSILON WITH DIALYTIKA" - u:entity="udigr" - string="\(*u" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ό" - u:name="GREEK SMALL LETTER OMICRON WITH TONOS" - u:entity="oacgr" - string="\(*o" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ύ" - u:name="GREEK SMALL LETTER UPSILON WITH TONOS" - u:entity="uacgr" - string="\(*u" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ώ" - u:name="GREEK SMALL LETTER OMEGA WITH TONOS" - u:entity="ohacgr" - string="\(*w" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϐ" - u:name="GREEK BETA SYMBOL" - string="\(*B" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϑ" - u:name="GREEK THETA SYMBOL" - u:entity="thetav" - string="\(+h" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϒ" - u:name="GREEK UPSILON WITH HOOK SYMBOL" - u:entity="Upsi" - string="\(*U" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϓ" - u:name="GREEK UPSILON WITH ACUTE AND HOOK SYMBOL" - string="\(*U" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϔ" - u:name="GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL" - string="\(*U" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϕ" - u:name="GREEK PHI SYMBOL" - u:entity="phis" - string="\(+f" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϖ" - u:name="GREEK PI SYMBOL" - u:entity="piv" - string="\(+p" - u:block="Greek and Coptic" - /> - <!-- no mappings for remaining chars x03d7 to x03ef --> - <xsl:output-character - character="ϰ" - u:name="GREEK KAPPA SYMBOL" - u:entity="kappav" - string="(*k" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϱ" - u:name="GREEK RHO SYMBOL" - u:entity="rhov" - string="\(*r" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϲ" - u:name="GREEK LUNATE SIGMA SYMBOL" - string="\(*s" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϴ" - u:name="GREEK CAPITAL THETA SYMBOL" - string="\(*H" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="ϵ" - u:name="GREEK LUNATE EPSILON SYMBOL" - string="\(*e" - u:block="Greek and Coptic" - /> - <xsl:output-character - character="϶" - u:name="GREEK REVERSED LUNATE EPSILON SYMBOL" - u:entity="bepsi" - string="\(*e" - u:block="Greek and Coptic" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Greek and Coptic --> - <!-- * ***************************************************************** --> - - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - <!-- * Cyrillic --> - <!-- * x0400 to x04ff --> - <!-- * - do nothing - --> - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - - <!-- * ***************************************************************** --> - <!-- * Begin: General Punctuation --> - <!-- * x2000 to x206f --> - <!-- * ***************************************************************** --> - - <!-- * first, spaces of various widths --> - - <!-- * Note: There does not seem to be either a real em space or en space --> - <!-- * in roff; to approximate them, this character map assumes that in --> - <!-- * most fonts, an en space is about the same as the width of a digit --> - <!-- * (in roff, "\0"), so an em space (which by definition is --> - <!-- * equal to the width of two en spaces) is about the same as the width --> - <!-- * of two digits (thus, in roff, "\0\0") --> - - <xsl:output-character - character=" " - u:name="EN QUAD" - string="\0" - u:block="General Punctuation" - u:class="spaces" - /> - <xsl:output-character - character=" " - u:name="EM QUAD" - string="\0\0" - u:block="General Punctuation" - u:class="spaces" - /> - <xsl:output-character - character=" " - u:name="EN SPACE" - u:entity="ensp" - string="\0" - u:block="General Punctuation" - u:class="spaces" - /> - <xsl:output-character - character=" " - u:name="EM SPACE" - u:entity="emsp" - string="\0\0" - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * roughly same width as a normal space --> - <xsl:output-character - character=" " - u:name="THREE-PER-EM SPACE" - u:entity="emsp13" - string=" " - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * roughly same width as a normal space --> - <xsl:output-character - character=" " - u:name="FOUR-PER-EM SPACE" - u:entity="emsp14" - string=" " - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * roughly same width as a normal space --> - <xsl:output-character - character=" " - u:name="SIX-PER-EM SPACE" - string=" " - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * same as roff "digit" space --> - <xsl:output-character - character=" " - u:name="FIGURE SPACE" - u:entity="numsp" - string="\0" - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * punctuation space in most fonts is actually closer to a normal --> - <!-- * space than it is to a thin space --> - <xsl:output-character - character=" " - u:name="PUNCTUATION SPACE" - u:entity="puncsp" - string=" " - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * Note: Not sure how best to deal with thin space, because the roff --> - <!-- * thin space, "\^", prints as a zero-width space in TTY --> - <!-- * output. However, it seems that, unlike a hair space, a thin space, --> - <!-- * at 1/12 of an em, is still recognizable to most people as a space, --> - <!-- * so treating it as zero-width seems wrong. So, for the sake of making --> - <!-- * TTY output look OK, just substitute with a normal space; but real --> - <!-- * roff escape is "\(\^" --> - <xsl:output-character - character=" " - u:name="THIN SPACE" - u:entity="thinsp" - string=" " - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * I don't think there's a standard definition of what a hair --> - <!-- * space is; some guides just say it's "less than 1/5 of an em" or --> - <!-- * that it's "narrower than a thin space"; seems like in practice, --> - <!-- * it's *a lot* narrower than a thin space, to the point where --> - <!-- * it's close to being a non-space, so here it's substituted with --> - <!-- * roff equivalent of a zero-width no-break space --> - <xsl:output-character - character=" " - u:name="HAIR SPACE" - u:entity="hairsp" - string="\&" - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * map to roff "zero-width break point" --> - <xsl:output-character - character="​" - u:name="ZERO WIDTH SPACE" - string="\:" - u:block="General Punctuation" - u:class="spaces" - /> - - <!-- * x200c and x200d have special purposes in some Indic languages (I --> - <!-- * think); for the "correct" zero-width space, according to Unicode docs, --> - <!-- * use x2060, not x200c or x200d --> - <!-- * <xsl:output-character --> - <!-- * character="‌" --> - <!-- * u:name="ZERO WIDTH NON-JOINER" --> - <!-- * string="\:" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‍" --> - <!-- * u:name="ZERO WIDTH JOINER" --> - <!-- * string="\&" --> - <!-- * /> --> - <!-- * non-visible --> - <!-- * <xsl:output-character --> - <!-- * character="‎" --> - <!-- * u:name="LEFT-TO-RIGHT MARK" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‏" --> - <!-- * u:name="RIGHT-TO-LEFT MARK" --> - <!-- * /> --> - - <!-- * .................................................... --> - <!-- * next, hyphens and various dashes, bars, underscores --> - <xsl:output-character - character="‐" - u:name="HYPHEN" - u:entity="hyphen" - string="\(hy" - u:block="General Punctuation" - u:class="dashes" - /> - <!-- * although the groff docs do not make it clear, testing --> - <!-- * indicates that the only reliable way to make a non-breaking --> - <!-- * hyphen is to put just a backslash in front of it. --> - <!-- * --> - <!-- * based on testing, it also appears that no character is needed --> - <!-- * after the hyphen in order to make it non-breaking --> - <xsl:output-character - character="‑" - u:name="NON-BREAKING HYPHEN" - string="\-" - u:block="General Punctuation" - u:class="dashes" - /> - <!-- * roughly same width as en dash --> - <xsl:output-character - character="‒" - u:name="FIGURE DASH" - string="\(en" - u:block="General Punctuation" - u:class="dashes" - /> - <xsl:output-character - character="–" - u:name="EN DASH" - u:entity="ndash" - string="\(en" - u:block="General Punctuation" - u:class="dashes" - /> - <xsl:output-character - character="—" - u:name="EM DASH" - u:entity="mdash" - string="\(em" - u:block="General Punctuation" - u:class="dashes" - /> - <!-- * seems roughly same width as em dash --> - <xsl:output-character - character="―" - u:name="HORIZONTAL BAR" - u:entity="horbar" - string="\(em" - u:block="General Punctuation" - u:class="dashes" - /> - <xsl:output-character - character="‖" - u:name="DOUBLE VERTICAL LINE" - u:entity="Verbar" - string="\(bv\(bv" - u:block="General Punctuation" - /> - <!-- * no double-underscore in roff; so just make it a single --> - <!-- * underscore --> - <xsl:output-character - character="‗" - u:name="DOUBLE LOW LINE" - string="_" - u:block="General Punctuation" - /> - - <!-- * .................................................... --> - <!-- * various quotation marks --> - <xsl:output-character - character="‘" - u:name="LEFT SINGLE QUOTATION MARK" - u:entity="lsquo" - string="\(oq" - u:block="General Punctuation" - u:class="quotes" - /> - <xsl:output-character - character="’" - u:name="RIGHT SINGLE QUOTATION MARK" - u:entity="rsquo" - string="\(cq" - u:block="General Punctuation" - u:class="quotes" - /> - <xsl:output-character - character="‚" - u:name="SINGLE LOW-9 QUOTATION MARK" - u:entity="lsquor" - string="\(bq" - u:block="General Punctuation" - u:class="quotes" - /> - <!-- * no roff equiv; treat same as lsquo --> - <xsl:output-character - character="‛" - u:name="SINGLE HIGH-REVERSED-9 QUOTATION MARK" - string="\(oq" - u:block="General Punctuation" - u:class="quotes" - /> - <xsl:output-character - character="“" - u:name="LEFT DOUBLE QUOTATION MARK" - u:entity="ldquo" - string="\(lq" - u:block="General Punctuation" - u:class="quotes" - /> - <xsl:output-character - character="”" - u:name="RIGHT DOUBLE QUOTATION MARK" - u:entity="rdquo" - string="\(rq" - u:block="General Punctuation" - u:class="quotes" - /> - <xsl:output-character - character="„" - u:name="DOUBLE LOW-9 QUOTATION MARK" - u:entity="ldquor" - string="\(Bq" - u:block="General Punctuation" - u:class="quotes" - /> - <!-- * no roff equiv; treat same as rdquo --> - <xsl:output-character - character="‟" - u:name="DOUBLE HIGH-REVERSED-9 QUOTATION MARK" - string="\(rq" - u:block="General Punctuation" - u:class="quotes" - /> - - <!-- * .................................................... --> - <!-- * various symbols --> - <xsl:output-character - character="†" - u:name="DAGGER" - u:entity="dagger" - string="\(dg" - u:block="General Punctuation_daggers" - /> - <xsl:output-character - character="‡" - u:name="DOUBLE DAGGER" - u:entity="Dagger" - string="\(dd" - u:block="General Punctuation_daggers" - /> - <xsl:output-character - character="•" - u:name="BULLET" - u:entity="bull" - string="\(bu" - u:block="General Punctuation" - u:class="bullets" - /> - <!-- * no roff equiv --> - <xsl:output-character - character="‣" - u:name="TRIANGULAR BULLET" - string=">\&" - u:block="General Punctuation" - u:class="bullets" - /> - <!-- * no roff equiv --> - <xsl:output-character - character="․" - u:name="ONE DOT LEADER" - string="\&." - u:block="General Punctuation_leaders" - /> - <!-- * no roff equiv --> - <xsl:output-character - character="‥" - u:name="TWO DOT LEADER" - u:entity="nldr" - string="\&.." - u:block="General Punctuation_leaders" - /> - <!-- * no roff equiv --> - <xsl:output-character - character="…" - u:name="HORIZONTAL ELLIPSIS" - u:entity="hellip" - string="\&..." - u:block="General Punctuation" - /> - <!-- what is "hyphenation point" used for? looks like middot to me... --> - <xsl:output-character - character="‧" - u:name="HYPHENATION POINT" - string="\(md" - u:block="General Punctuation" - /> - <!-- * Begin x2028 to x202e - no idea what to do with these --> - <!-- * <xsl:output-character --> - <!-- * character="
" --> - <!-- * u:name="LINE SEPARATOR" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="
" --> - <!-- * u:name="PARAGRAPH SEPARATOR" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‪" --> - <!-- * u:name="LEFT-TO-RIGHT EMBEDDING" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‫" --> - <!-- * u:name="RIGHT-TO-LEFT EMBEDDING" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‬" --> - <!-- * u:name="POP DIRECTIONAL FORMATTING" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‭" --> - <!-- * u:name="LEFT-TO-RIGHT OVERRIDE" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‮" --> - <!-- * u:name="RIGHT-TO-LEFT OVERRIDE" --> - <!-- * /> --> - <!-- * End x2028 to x202e - no idea what to do with these --> - - <!-- * seems like "narrow" nbsp is basically the same as a no-break --> - <!-- * space --> - <xsl:output-character - character=" " - u:name="NARROW NO-BREAK SPACE" - string="\ " - u:block="General Punctuation" - u:class="spaces" - /> - <xsl:output-character - character="‰" - u:name="PER MILLE SIGN" - u:entity="permil" - string="\(%0" - u:block="General Punctuation" - /> - <!-- * no roff equiv; no idea what to do with it --> - <!-- * <xsl:output-character --> - <!-- * character="‱" --> - <!-- * u:name="PER TEN THOUSAND SIGN" --> - <!-- * /> --> - <xsl:output-character - character="′" - u:name="PRIME" - u:entity="prime" - string="\(fm" - u:block="General Punctuation" - u:class="primes" - /> - <xsl:output-character - character="″" - u:name="DOUBLE PRIME" - u:entity="Prime" - string="\(sd" - u:block="General Punctuation" - u:class="primes" - /> - <xsl:output-character - character="‴" - u:name="TRIPLE PRIME" - u:entity="tprime" - string="\(sd\(fm" - u:block="General Punctuation" - u:class="primes" - /> - <!-- * no idea for these --> - <!-- * <xsl:output-character --> - <!-- * character="‵" --> - <!-- * u:name="REVERSED PRIME" --> - <!-- * u:entity="bprime" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‶" --> - <!-- * u:name="REVERSED DOUBLE PRIME" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="‷" --> - <!-- * u:name="REVERSED TRIPLE PRIME" --> - <!-- * /> --> - - <!-- * there is no low caret in roff --> - <xsl:output-character - character="‸" - u:name="CARET" - string="^" - u:block="General Punctuation" - /> - <xsl:output-character - character="‹" - u:name="SINGLE LEFT-POINTING ANGLE QUOTATION MARK" - string="\(fo" - u:block="General Punctuation" - u:class="quotes" - /> - <xsl:output-character - character="›" - u:name="SINGLE RIGHT-POINTING ANGLE QUOTATION MARK" - string="\(fc" - u:block="General Punctuation" - u:class="quotes" - /> - <!-- * not in roff --> - <xsl:output-character - character="※" - u:name="REFERENCE MARK" - string="*" - u:block="General Punctuation" - /> - <xsl:output-character - character="‼" - u:name="DOUBLE EXCLAMATION MARK" - string="!!" - u:block="General Punctuation" - /> - <xsl:output-character - character="‽" - u:name="INTERROBANG" - string="?!" - u:block="General Punctuation" - /> - <xsl:output-character - character="‾" - u:name="OVERLINE" - string="\(rn" - u:block="General Punctuation" - /> - <xsl:output-character - character="‿" - u:name="UNDERTIE" - string="\(ul" - u:block="General Punctuation" - /> - <!-- * not in roff --> - <xsl:output-character - character="⁀" - u:name="CHARACTER TIE" - string="\(rn" - u:block="General Punctuation" - /> - <!-- * not in roff --> - <xsl:output-character - character="⁁" - u:name="CARET INSERTION POINT" - u:entity="caret" - string="^" - u:block="General Punctuation" - /> - <!-- * not in roff --> - <xsl:output-character - character="⁂" - u:name="ASTERISM" - string="*" - u:block="General Punctuation" - /> - <!-- * not in roff; just make bold hyphen --> - <xsl:output-character - character="⁃" - u:name="HYPHEN BULLET" - u:entity="hybull" - string="\fB-\fR" - u:block="General Punctuation" - u:class="bullets" - /> - <xsl:output-character - character="⁄" - u:name="FRACTION SLASH" - string="\(sl" - u:block="General Punctuation" - /> - <!-- * not in roff --> - <xsl:output-character - character="⁅" - u:name="LEFT SQUARE BRACKET WITH QUILL" - string="[" - u:block="General Punctuation" - /> - <!-- * not in roff --> - <xsl:output-character - character="⁆" - u:name="RIGHT SQUARE BRACKET WITH QUILL" - string="]" - u:block="General Punctuation" - /> - <xsl:output-character - character="⁇" - u:name="DOUBLE QUESTION MARK" - string="??" - u:block="General Punctuation" - /> - <xsl:output-character - character="⁈" - u:name="QUESTION EXCLAMATION MARK" - string="?!" - u:block="General Punctuation" - /> - <xsl:output-character - character="⁉" - u:name="EXCLAMATION QUESTION MARK" - string="!?" - u:block="General Punctuation" - /> - <!-- * not in roff --> - <xsl:output-character - character="⁊" - u:name="TIRONIAN SIGN ET" - string="7" - u:block="General Punctuation" - /> - <!-- * not in roff; just replace with un-reversed pilcrow --> - <xsl:output-character - character="⁋" - u:name="REVERSED PILCROW SIGN" - string="\(ps" - u:block="General Punctuation" - /> - <!-- * not in roff; just make regular bullet --> - <xsl:output-character - character="⁌" - u:name="BLACK LEFTWARDS BULLET" - string="\(bu" - u:block="General Punctuation" - /> - <!-- * not in roff; just make regular bullet --> - <xsl:output-character - character="⁍" - u:name="BLACK RIGHTWARDS BULLET" - string="\(bu" - u:block="General Punctuation" - /> - <xsl:output-character - character="⁎" - u:name="LOW ASTERISK" - string="*" - u:block="General Punctuation" - /> - - <!-- * ............................................................... --> - <!-- * Remaining General Punctuation --> - <!-- * from x2050 to x206f --> - <!-- * only map a couple of these --> - <!-- * ............................................................... --> - - <!-- * basically same as a normal space --> - <xsl:output-character - character=" " - u:name="MEDIUM MATHEMATICAL SPACE" - string=" " - u:block="General Punctuation" - u:class="spaces" - /> - <!-- * Regarding x2060 vs. xFEFF, the document "Unicode Standard Annex #14, --> - <!-- * Line Breaking Properties"[1] says: --> - <!-- * --> - <!-- * The word joiner character [x2060 a.k.a "WJ"] is the preferred --> - <!-- * choice for an invisible character to keep other characters --> - <!-- * together that would otherwise be split across the line at a direct --> - <!-- * break. The character FEFF has the same effect, but because it is --> - <!-- * also used in an unrelated way as a byte order mark, the use of the --> - <!-- * WJ as the preferred interword glue simplifies the handling of FEFF. --> - <!-- * --> - <!-- * [1] http://www.unicode.org/reports/tr14/ --> - <!-- * --> - <!-- * The groff docs seem ambiguous about whether \& is a joiner and --> - <!-- * prevents breaks, but, based on testing, seems like it does --> - <xsl:output-character - character="⁠" - u:name="WORD JOINER" - string="\&" - u:block="General Punctuation" - /> - - <!-- * ***************************************************************** --> - <!-- * End: General Punctuation --> - <!-- * ***************************************************************** --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Superscripts and Subscripts --> - <!-- * x2070 to x209f --> - <!-- * For superscripts, just do a^n thing --> - <!-- * For subscripts, just do a_n --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="⁰" - u:name="SUPERSCRIPT ZERO" - string="^0" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="ⁱ" - u:name="SUPERSCRIPT LATIN SMALL LETTER I" - string="^i" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁴" - u:name="SUPERSCRIPT FOUR" - string="^4" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁵" - u:name="SUPERSCRIPT FIVE" - string="^5" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁶" - u:name="SUPERSCRIPT SIX" - string="^6" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁷" - u:name="SUPERSCRIPT SEVEN" - string="^7" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁸" - u:name="SUPERSCRIPT EIGHT" - string="^8" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁹" - u:name="SUPERSCRIPT NINE" - string="^9" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁺" - u:name="SUPERSCRIPT PLUS SIGN" - string="^+" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁻" - u:name="SUPERSCRIPT MINUS" - string="^-" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁼" - u:name="SUPERSCRIPT EQUALS SIGN" - string="^=" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁽" - u:name="SUPERSCRIPT LEFT PARENTHESIS" - string="^(" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="⁾" - u:name="SUPERSCRIPT RIGHT PARENTHESIS" - string="^)" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="ⁿ" - u:name="SUPERSCRIPT LATIN SMALL LETTER N" - string="^n" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₀" - u:name="SUBSCRIPT ZERO" - string="_0" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₁" - u:name="SUBSCRIPT ONE" - string="_1" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₂" - u:name="SUBSCRIPT TWO" - string="_2" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₃" - u:name="SUBSCRIPT THREE" - string="_3" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₄" - u:name="SUBSCRIPT FOUR" - string="_4" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₅" - u:name="SUBSCRIPT FIVE" - string="_5" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₆" - u:name="SUBSCRIPT SIX" - string="_6" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₇" - u:name="SUBSCRIPT SEVEN" - string="_7" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₈" - u:name="SUBSCRIPT EIGHT" - string="_8" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₉" - u:name="SUBSCRIPT NINE" - string="_9" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₊" - u:name="SUBSCRIPT PLUS SIGN" - string="_+" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₋" - u:name="SUBSCRIPT MINUS" - string="_-" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₌" - u:name="SUBSCRIPT EQUALS SIGN" - string="_=" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₍" - u:name="SUBSCRIPT LEFT PARENTHESIS" - string="_(" - u:block="Superscripts and Subscripts" - /> - <xsl:output-character - character="₎" - u:name="SUBSCRIPT RIGHT PARENTHESIS" - string="_)" - u:block="Superscripts and Subscripts" - /> - <!-- * ***************************************************************** --> - <!-- * End: Superscripts and Subscripts --> - <!-- * x2070 to x209f --> - <!-- * ***************************************************************** --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Currency Symbols --> - <!-- * x20a0 to x20b1 --> - <!-- * No mappings for any of these; just spell out --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="₠" - u:name="EURO-CURRENCY SIGN" - string="EUR" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₡" - u:name="COLON SIGN" - string="COLON" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₢" - u:name="CRUZEIRO SIGN" - string="CRUZEIRO" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₣" - u:name="FRENCH FRANC SIGN" - string="FRANC" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₤" - u:name="LIRA SIGN" - string="LIRA" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₥" - u:name="MILL SIGN" - string="MILL" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₦" - u:name="NAIRA SIGN" - string="NAIRA" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₧" - u:name="PESETA SIGN" - string="PESETA" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₨" - u:name="RUPEE SIGN" - string="RUPEE" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₩" - u:name="WON SIGN" - string="WON" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₪" - u:name="NEW SHEQEL SIGN" - string="SHEQEL" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₫" - u:name="DONG SIGN" - string="DONG" - u:block="Currency Symbols" - /> - <xsl:output-character - character="€" - u:name="EURO SIGN" - string="EUR" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₭" - u:name="KIP SIGN" - string="KIP" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₮" - u:name="TUGRIK SIGN" - string="TUGRIK" - u:block="Currency Symbols" - /> - <xsl:output-character - character="₯" - u:name="DRACHMA SIGN" - string="DRACHMA" - u:block="Currency Symbols" - /> - <!-- <xsl:output-character --> - <!-- character="₰" --> - <!-- u:name="GERMAN PENNY SIGN" --> - <!-- string="?" --> - <!-- u:block="Currency Symbols" --> - <!-- /> --> - <xsl:output-character - character="₱" - u:name="PESO SIGN" - string="PESO" - u:block="Currency Symbols" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Currency Symbols --> - <!-- * x20a0 to x20b1 --> - <!-- * ***************************************************************** --> - - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - <!-- * Combining Diacritical Marks for Symbols --> - <!-- * x20d0 to x20ff --> - <!-- * - do nothing - --> - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Letterlike Symbols --> - <!-- * x2100 to x214b --> - <!-- * --> - <!-- * No mappings for any of these, and nothing appropriate for --> - <!-- * most of them; so, just spell out the ones that we can --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="℃" - u:name="DEGREE CELSIUS" - string="\(deC" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="℅" - u:name="CARE OF" - u:entity="incare" - string="c/o" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="℉" - u:name="DEGREE FAHRENHEIT" - string="\(deF" - u:block="Letterlike Symbols" - /> - <!-- roff Ifraktur --> - <xsl:output-character - character="ℑ" - u:name="BLACK-LETTER CAPITAL I" - string="\(Im" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="ℓ" - u:name="SCRIPT SMALL L" - u:entity="ell" - string="l" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="№" - u:name="NUMERO SIGN" - u:entity="numero" - string="No." - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="℘" - u:name="SCRIPT CAPITAL P" - u:entity="weierp" - string="\(wp" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="ℜ" - u:name="BLACK-LETTER CAPITAL R" - u:entity="real" - string="\(Re" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="℞" - u:name="PRESCRIPTION TAKE" - u:entity="rx" - string="Rx" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="℠" - u:name="SERVICE MARK" - string="(SM)" - u:block="Letterlike Symbols" - /> - <!-- * We don't do "\(tm" for ™ because for console output, groff --> - <!-- * just renders that as "tm", without any preceding space, parens, --> - <!-- * or anything. So it just gets run into the preceding word; i.e.: --> - <!-- * --> - <!-- * Product™ -> Producttm --> - <!-- * --> - <!-- * That it probably not what most people would want. So we just --> - <!-- * render it as (TM) instead, Thus: --> - <!-- * --> - <!-- * Product™ -> Product(TM) --> - <xsl:output-character - character="™" - u:name="TRADE MARK SIGN" - u:entity="trade" - string="(TM)" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="Ω" - u:name="OHM SIGN" - u:entity="ohm" - string="\(*W" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="K" - u:name="KELVIN SIGN" - string="K" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="Å" - u:name="ANGSTROM SIGN" - u:entity="angst" - string="\(oA" - u:block="Letterlike Symbols" - /> - <xsl:output-character - character="ℵ" - u:name="ALEF SYMBOL" - u:entity="aleph" - string="\(Ah" - u:block="Letterlike Symbols" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Letterlike Symbols --> - <!-- * x2100 to x214b --> - <!-- * ***************************************************************** --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Number Forms --> - <!-- * x2150 to x218f --> - <!-- * --> - <!-- * No mappings for any of these, and nothing appropriate for most --> - <!-- * of them; so, just spell out the ones that we can --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="⅓" - u:name="VULGAR FRACTION ONE THIRD" - u:entity="frac13" - string="1/3" - u:block="Number Forms" - /> - <xsl:output-character - character="⅔" - u:name="VULGAR FRACTION TWO THIRDS" - u:entity="frac23" - string="2/3" - u:block="Number Forms" - /> - <xsl:output-character - character="⅕" - u:name="VULGAR FRACTION ONE FIFTH" - u:entity="frac15" - string="1/5" - u:block="Number Forms" - /> - <xsl:output-character - character="⅖" - u:name="VULGAR FRACTION TWO FIFTHS" - u:entity="frac25" - string="2/5" - u:block="Number Forms" - /> - <xsl:output-character - character="⅗" - u:name="VULGAR FRACTION THREE FIFTHS" - u:entity="frac35" - string="3/5" - u:block="Number Forms" - /> - <xsl:output-character - character="⅘" - u:name="VULGAR FRACTION FOUR FIFTHS" - u:entity="frac45" - string="4/5" - u:block="Number Forms" - /> - <xsl:output-character - character="⅙" - u:name="VULGAR FRACTION ONE SIXTH" - u:entity="frac16" - string="1/6" - u:block="Number Forms" - /> - <xsl:output-character - character="⅚" - u:name="VULGAR FRACTION FIVE SIXTHS" - u:entity="frac56" - string="5/6" - u:block="Number Forms" - /> - <xsl:output-character - character="⅛" - u:name="VULGAR FRACTION ONE EIGHTH" - u:entity="frac18" - string="1/8" - u:block="Number Forms" - /> - <xsl:output-character - character="⅜" - u:name="VULGAR FRACTION THREE EIGHTHS" - u:entity="frac38" - string="3/8" - u:block="Number Forms" - /> - <xsl:output-character - character="⅝" - u:name="VULGAR FRACTION FIVE EIGHTHS" - u:entity="frac58" - string="5/8" - u:block="Number Forms" - /> - <xsl:output-character - character="⅞" - u:name="VULGAR FRACTION SEVEN EIGHTHS" - u:entity="frac78" - string="7/8" - u:block="Number Forms" - /> - <xsl:output-character - character="⅟" - u:name="FRACTION NUMERATOR ONE" - string="1/" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅰ" - u:name="ROMAN NUMERAL ONE" - string="I" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅱ" - u:name="ROMAN NUMERAL TWO" - string="II" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅲ" - u:name="ROMAN NUMERAL THREE" - string="III" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅳ" - u:name="ROMAN NUMERAL FOUR" - string="IV" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅴ" - u:name="ROMAN NUMERAL FIVE" - string="V" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅵ" - u:name="ROMAN NUMERAL SIX" - string="VI" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅶ" - u:name="ROMAN NUMERAL SEVEN" - string="VII" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅷ" - u:name="ROMAN NUMERAL EIGHT" - string="VIII" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅸ" - u:name="ROMAN NUMERAL NINE" - string="IX" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅹ" - u:name="ROMAN NUMERAL TEN" - string="X" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅺ" - u:name="ROMAN NUMERAL ELEVEN" - string="XI" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅻ" - u:name="ROMAN NUMERAL TWELVE" - string="XII" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅼ" - u:name="ROMAN NUMERAL FIFTY" - string="L" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅽ" - u:name="ROMAN NUMERAL ONE HUNDRED" - string="C" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅾ" - u:name="ROMAN NUMERAL FIVE HUNDRED" - string="D" - u:block="Number Forms" - /> - <xsl:output-character - character="Ⅿ" - u:name="ROMAN NUMERAL ONE THOUSAND" - string="M" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅰ" - u:name="SMALL ROMAN NUMERAL ONE" - string="i" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅱ" - u:name="SMALL ROMAN NUMERAL TWO" - string="ii" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅲ" - u:name="SMALL ROMAN NUMERAL THREE" - string="iii" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅳ" - u:name="SMALL ROMAN NUMERAL FOUR" - string="iv" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅴ" - u:name="SMALL ROMAN NUMERAL FIVE" - string="v" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅵ" - u:name="SMALL ROMAN NUMERAL SIX" - string="vi" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅶ" - u:name="SMALL ROMAN NUMERAL SEVEN" - string="vii" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅷ" - u:name="SMALL ROMAN NUMERAL EIGHT" - string="viii" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅸ" - u:name="SMALL ROMAN NUMERAL NINE" - string="ix" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅹ" - u:name="SMALL ROMAN NUMERAL TEN" - string="x" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅺ" - u:name="SMALL ROMAN NUMERAL ELEVEN" - string="xi" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅻ" - u:name="SMALL ROMAN NUMERAL TWELVE" - string="xii" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅼ" - u:name="SMALL ROMAN NUMERAL FIFTY" - string="l" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅽ" - u:name="SMALL ROMAN NUMERAL ONE HUNDRED" - string="c" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅾ" - u:name="SMALL ROMAN NUMERAL FIVE HUNDRED" - string="d" - u:block="Number Forms" - /> - <xsl:output-character - character="ⅿ" - u:name="SMALL ROMAN NUMERAL ONE THOUSAND" - string="m" - u:block="Number Forms" - /> - <xsl:output-character - character="ↀ" - u:name="ROMAN NUMERAL ONE THOUSAND C D" - string="CD" - u:block="Number Forms" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Number Forms --> - <!-- * x2150 to x218f --> - <!-- * ***************************************************************** --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Arrows --> - <!-- * x2190 to x21ff --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="←" - u:name="LEFTWARDS ARROW" - u:entity="larr" - string="\(<-" - u:block="Arrows" - /> - <xsl:output-character - character="↑" - u:name="UPWARDS ARROW" - u:entity="uarr" - string="\(ua" - u:block="Arrows" - /> - <xsl:output-character - character="→" - u:name="RIGHTWARDS ARROW" - u:entity="rarr" - string="\(->" - u:block="Arrows" - /> - <xsl:output-character - character="↓" - u:name="DOWNWARDS ARROW" - u:entity="darr" - string="\(da" - u:block="Arrows" - /> - <xsl:output-character - character="↔" - u:name="LEFT RIGHT ARROW" - u:entity="harr" - string="\(<>" - u:block="Arrows" - /> - <xsl:output-character - character="↕" - u:name="UP DOWN ARROW" - u:entity="varr" - string="\(va" - u:block="Arrows" - /> - <xsl:output-character - character="↵" - u:name="DOWNWARDS ARROW WITH CORNER LEFTWARDS" - u:entity="crarr" - string="\(CR" - u:block="Arrows" - /> - <xsl:output-character - character="⇐" - u:name="LEFTWARDS DOUBLE ARROW" - u:entity="lArr" - string="\(la" - u:block="Arrows" - /> - <xsl:output-character - character="⇑" - u:name="UPWARDS DOUBLE ARROW" - u:entity="uArr" - string="\(uA" - u:block="Arrows" - /> - <xsl:output-character - character="⇒" - u:name="RIGHTWARDS DOUBLE ARROW" - u:entity="rArr" - string="\(rA" - u:block="Arrows" - /> - <xsl:output-character - character="⇓" - u:name="DOWNWARDS DOUBLE ARROW" - u:entity="dArr" - string="\(dA" - u:block="Arrows" - /> - <xsl:output-character - character="⇔" - u:name="LEFT RIGHT DOUBLE ARROW" - u:entity="hArr" - string="\(hA" - u:block="Arrows" - /> - <!-- no roff equiv; render same as single arrow --> - <xsl:output-character - character="⇕" - u:name="UP DOWN DOUBLE ARROW" - u:entity="vArr" - string="\(va" - u:block="Arrows" - /> - - <!-- * ***************************************************************** --> - <!-- * Begin: Mathematical Operators --> - <!-- * x2200 to x22ff --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="∀" - u:name="FOR ALL" - u:entity="forall" - string="\(fa" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∁" - u:name="COMPLEMENT" - u:entity="comp" - string="C" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∂" - u:name="PARTIAL DIFFERENTIAL" - u:entity="part" - string="\(pd" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∃" - u:name="THERE EXISTS" - u:entity="exist" - string="\(te" - u:block="Mathematical Operators" - /> - <!-- * no roff equiv --> - <!-- * <xsl:output-character --> - <!-- * character="∄" --> - <!-- * u:name="THERE DOES NOT EXIST" --> - <!-- * u:entity="nexist" --> - <!-- * /> --> - <xsl:output-character - character="∅" - u:name="EMPTY SET" - u:entity="empty" - string="\(es" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∆" - u:name="INCREMENT" - string="\(*D" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∇" - u:name="NABLA" - u:entity="nabla" - string="\(gr" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∈" - u:name="ELEMENT OF" - u:entity="isin" - string="\(mo" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∉" - u:name="NOT AN ELEMENT OF" - u:entity="notin" - string="\(nm" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∊" - u:name="SMALL ELEMENT OF" - string="\(mo" - u:block="Mathematical Operators" - /> - - <xsl:output-character - character="∋" - u:name="CONTAINS AS MEMBER" - u:entity="ni" - string="\(st" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="∌" --> - <!-- * u:name="DOES NOT CONTAIN AS MEMBER" --> - <!-- * /> --> - <xsl:output-character - character="∍" - u:name="SMALL CONTAINS AS MEMBER" - string="\(st" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="∎" --> - <!-- * u:name="END OF PROOF" --> - <!-- * /> --> - <xsl:output-character - character="∏" - u:name="N-ARY PRODUCT" - u:entity="prod" - string="\(product" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="∐" --> - <!-- * u:name="N-ARY COPRODUCT" --> - <!-- * u:entity="coprod" --> - <!-- * /> --> - <xsl:output-character - character="∑" - u:name="N-ARY SUMMATION" - u:entity="sum" - string="\(sum" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="−" - u:name="MINUS SIGN" - u:entity="minus" - string="\-" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∓" - u:name="MINUS-OR-PLUS SIGN" - u:entity="mnplus" - string="\(+-" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="∔" --> - <!-- * u:name="DOT PLUS" --> - <!-- * u:entity="plusdo" --> - <!-- * /> --> - <xsl:output-character - character="∕" - u:name="DIVISION SLASH" - string="\(f/" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∖" - u:name="SET MINUS" - u:entity="setmn" - string="\e" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∗" - u:name="ASTERISK OPERATOR" - u:entity="lowast" - string="\(**" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="∘" --> - <!-- * u:name="RING OPERATOR" --> - <!-- * u:entity="compfn" --> - <!-- * /> --> - <xsl:output-character - character="∙" - u:name="BULLET OPERATOR" - string="\(bu" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="√" - u:name="SQUARE ROOT" - u:entity="radic" - string="\(sr" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="∛" --> - <!-- * u:name="CUBE ROOT" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="∜" --> - <!-- * u:name="FOURTH ROOT" --> - <!-- * /> --> - <xsl:output-character - character="∝" - u:name="PROPORTIONAL TO" - u:entity="prop" - string="\(pt" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∞" - u:name="INFINITY" - u:entity="infin" - string="\(if" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="∟" --> - <!-- * u:name="RIGHT ANGLE" --> - <!-- * u:entity="ang90" --> - <!-- * /> --> - <xsl:output-character - character="∠" - u:name="ANGLE" - u:entity="ang" - string="\(/_" - u:block="Mathematical Operators" - /> - - <!-- * 0x2221 to 0x2226 not in roff; --> - <!-- * but fake a parallel sign with vert bars --> - - <xsl:output-character - character="∥" - u:name="PARALLEL TO" - u:entity="par" - string="\(bv\(bv" - u:block="Mathematical Operators" - /> - - <xsl:output-character - character="∧" - u:name="LOGICAL AND" - u:entity="and" - string="\(AN" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∨" - u:name="LOGICAL OR" - u:entity="or" - string="\(OR" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∩" - u:name="INTERSECTION" - u:entity="cap" - string="\(ca" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∪" - u:name="UNION" - u:entity="cup" - string="\(cu" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∫" - u:name="INTEGRAL" - u:entity="int" - string="\(is" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∬" - u:name="DOUBLE INTEGRAL" - string="\(is\(is" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∭" - u:name="TRIPLE INTEGRAL" - string="\(is\(is\(is" - u:block="Mathematical Operators" - /> - - <!-- * 0x222e to 0x2233 not in roff --> - - <xsl:output-character - character="∴" - u:name="THEREFORE" - u:entity="there4" - string="\(tf" - u:block="Mathematical Operators" - /> - - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="∵" --> - <!-- * u:name="BECAUSE" --> - <!-- * u:entity="becaus" --> - <!-- * /> --> - <xsl:output-character - character="∶" - u:name="RATIO" - string=":" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="∷" - u:name="PROPORTION" - string="::" - u:block="Mathematical Operators" - /> - - <!-- * 0x2238 to 0x223b not in roff --> - - <xsl:output-character - character="∼" - u:name="TILDE OPERATOR" - u:entity="sim" - string="\(ti" - u:block="Mathematical Operators" - /> - - <!-- * 0x223d to 0x224b not in roff --> - - <xsl:output-character - character="≅" - u:name="APPROXIMATELY EQUAL TO" - u:entity="cong" - string="\(=~" - u:block="Mathematical Operators" - /> - - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="≆" --> - <!-- * u:name="APPROXIMATELY BUT NOT ACTUALLY EQUAL TO" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="≇" --> - <!-- * u:name="NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO" --> - <!-- * u:entity="ncong" --> - <!-- * /> --> - - <xsl:output-character - character="≈" - u:name="ALMOST EQUAL TO" - u:entity="asymp" - string="\(~~" - u:block="Mathematical Operators" - /> - - <!-- * x2249 to x2253 not in roff --> - - <xsl:output-character - character="≔" - u:name="COLON EQUALS" - u:entity="colone" - string=":=" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="≕" - u:name="EQUALS COLON" - u:entity="ecolon" - string="=:" - u:block="Mathematical Operators" - /> - - <!-- * x2256 to x2255 not in roff --> - - <xsl:output-character - character="≟" - u:name="QUESTIONED EQUAL TO" - string="?=" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="≠" - u:name="NOT EQUAL TO" - u:entity="ne" - string="\(!=" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="≡" - u:name="IDENTICAL TO" - u:entity="equiv" - string="\(==" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="≢" --> - <!-- * u:name="NOT IDENTICAL TO" --> - <!-- * u:entity="nequiv" --> - <!-- * /> --> - <!-- * <xsl:output-character --> - <!-- * character="≣" --> - <!-- * u:name="STRICTLY EQUIVALENT TO" --> - <!-- * /> --> - <xsl:output-character - character="≤" - u:name="LESS-THAN OR EQUAL TO" - u:entity="le" - string="\(<=" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="≥" - u:name="GREATER-THAN OR EQUAL TO" - u:entity="ge" - string="\(>=" - u:block="Mathematical Operators" - /> - <!-- * x2266 to x2269 not in roff --> - - <xsl:output-character - character="≪" - u:name="MUCH LESS-THAN" - u:entity="Lt" - string="<<" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="≫" - u:name="MUCH GREATER-THAN" - u:entity="Gt" - string=">>" - u:block="Mathematical Operators" - /> - <!-- * x226c to x2281 not in roff --> - - <xsl:output-character - character="⊂" - u:name="SUBSET OF" - u:entity="sub" - string="\(sb" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⊃" - u:name="SUPERSET OF" - u:entity="sup" - string="\(sp" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⊄" - u:name="NOT A SUBSET OF" - u:entity="nsub" - string="\(nb" - u:block="Mathematical Operators" - /> - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="⊅" --> - <!-- * u:name="NOT A SUPERSET OF" --> - <!-- * u:entity="nsup" --> - <!-- * /> --> - <xsl:output-character - character="⊆" - u:name="SUBSET OF OR EQUAL TO" - u:entity="sube" - string="\(ib" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⊇" - u:name="SUPERSET OF OR EQUAL TO" - u:entity="supe" - string="\(ip" - u:block="Mathematical Operators" - /> - <!-- * x2288 to x2294 not in roff --> - - <xsl:output-character - character="⊕" - u:name="CIRCLED PLUS" - u:entity="oplus" - string="\(c+" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⊖" - u:name="CIRCLED MINUS" - u:entity="ominus" - string="\(c*" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⊗" - u:name="CIRCLED TIMES" - u:entity="otimes" - string="\(c*" - u:block="Mathematical Operators" - /> - - <!-- * x2298 to x22a4 not in roff --> - - <xsl:output-character - character="⊥" - u:name="UP TACK" - u:entity="bottom" - string="\(pp" - u:block="Mathematical Operators" - /> - - <!-- * x22a6 to x22bf not in roff --> - - <xsl:output-character - character="⋀" - u:name="N-ARY LOGICAL AND" - string="\(AN" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⋁" - u:name="N-ARY LOGICAL OR" - string="\(OR" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⋂" - u:name="N-ARY INTERSECTION" - string="\(ca" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⋃" - u:name="N-ARY UNION" - string="\(cu" - u:block="Mathematical Operators" - /> - - <!-- * not in roff --> - <!-- * <xsl:output-character --> - <!-- * character="⋄" --> - <!-- * u:name="DIAMOND OPERATOR" --> - <!-- * u:entity="diam" --> - <!-- * /> --> - <xsl:output-character - character="⋅" - u:name="DOT OPERATOR" - u:entity="sdot" - string="\(md" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⋆" - u:name="STAR OPERATOR" - u:entity="sstarf" - string="\(**" - u:block="Mathematical Operators" - /> - <!-- * x22c7 to x22cd not in roff --> - - <xsl:output-character - character="⋎" - u:name="CURLY LOGICAL OR" - u:entity="cuvee" - string="\(OR" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⋏" - u:name="CURLY LOGICAL AND" - u:entity="cuwed" - string="\(AN" - u:block="Mathematical Operators" - /> - - <!-- * x22d0 to x22d7 not in roff --> - - <xsl:output-character - character="⋘" - u:name="VERY MUCH LESS-THAN" - u:entity="Ll" - string="<<<" - u:block="Mathematical Operators" - /> - <xsl:output-character - character="⋙" - u:name="VERY MUCH GREATER-THAN" - u:entity="Gg" - string=">>>" - u:block="Mathematical Operators" - /> - - <!-- * x22da to x22ee not in roff --> - - <xsl:output-character - character="⋯" - u:name="MIDLINE HORIZONTAL ELLIPSIS" - string="\&..." - u:block="Mathematical Operators" - /> - - <!-- * x22fo to x22ff not in roff --> - - <!-- * ***************************************************************** --> - <!-- * End: Mathematical Operators --> - <!-- * ***************************************************************** --> - - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - <!-- * Miscellaneous Technical --> - <!-- * x2300 to x23ff --> - <!-- * - do nothing except for angle brackets - --> - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - - <xsl:output-character - character="〈" - u:name="LEFT-POINTING ANGLE BRACKET" - u:entity="lang" - string="\(la" - u:block="Miscellaneous Technical" - /> - <xsl:output-character - character="〉" - u:name="RIGHT-POINTING ANGLE BRACKET" - u:entity="rang" - string="\(ra" - u:block="Miscellaneous Technical" - /> - - <!-- * ***************************************************************** --> - <!-- * Begin: Control Pictures --> - <!-- * x2400 to x243f --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="␀" - u:name="SYMBOL FOR NULL" - string="NUL" - u:block="Control Pictures" - /> - <xsl:output-character - character="␁" - u:name="SYMBOL FOR START OF HEADING" - string="SOH" - u:block="Control Pictures" - /> - <xsl:output-character - character="␂" - u:name="SYMBOL FOR START OF TEXT" - string="STX" - u:block="Control Pictures" - /> - <xsl:output-character - character="␃" - u:name="SYMBOL FOR END OF TEXT" - string="ETX" - u:block="Control Pictures" - /> - <xsl:output-character - character="␄" - u:name="SYMBOL FOR END OF TRANSMISSION" - string="EOT" - u:block="Control Pictures" - /> - <xsl:output-character - character="␅" - u:name="SYMBOL FOR ENQUIRY" - string="ENQ" - u:block="Control Pictures" - /> - <xsl:output-character - character="␆" - u:name="SYMBOL FOR ACKNOWLEDGE" - string="ACK" - u:block="Control Pictures" - /> - <xsl:output-character - character="␇" - u:name="SYMBOL FOR BELL" - string="BEL" - u:block="Control Pictures" - /> - <xsl:output-character - character="␈" - u:name="SYMBOL FOR BACKSPACE" - string="BS" - u:block="Control Pictures" - /> - <xsl:output-character - character="␉" - u:name="SYMBOL FOR HORIZONTAL TABULATION" - string="HT" - u:block="Control Pictures" - /> - <xsl:output-character - character="␊" - u:name="SYMBOL FOR LINE FEED" - string="LF" - u:block="Control Pictures" - /> - <xsl:output-character - character="␋" - u:name="SYMBOL FOR VERTICAL TABULATION" - string="VT" - u:block="Control Pictures" - /> - <xsl:output-character - character="␌" - u:name="SYMBOL FOR FORM FEED" - string="FF" - u:block="Control Pictures" - /> - <xsl:output-character - character="␍" - u:name="SYMBOL FOR CARRIAGE RETURN" - string="CR" - u:block="Control Pictures" - /> - <xsl:output-character - character="␎" - u:name="SYMBOL FOR SHIFT OUT" - string="SO" - u:block="Control Pictures" - /> - <xsl:output-character - character="␏" - u:name="SYMBOL FOR SHIFT IN" - string="SI" - u:block="Control Pictures" - /> - <xsl:output-character - character="␐" - u:name="SYMBOL FOR DATA LINK ESCAPE" - string="DLE" - u:block="Control Pictures" - /> - <xsl:output-character - character="␑" - u:name="SYMBOL FOR DEVICE CONTROL ONE" - string="DC1" - u:block="Control Pictures" - /> - <xsl:output-character - character="␒" - u:name="SYMBOL FOR DEVICE CONTROL TWO" - string="DC2" - u:block="Control Pictures" - /> - <xsl:output-character - character="␓" - u:name="SYMBOL FOR DEVICE CONTROL THREE" - string="DC3" - u:block="Control Pictures" - /> - <xsl:output-character - character="␔" - u:name="SYMBOL FOR DEVICE CONTROL FOUR" - string="DC4" - u:block="Control Pictures" - /> - <xsl:output-character - character="␕" - u:name="SYMBOL FOR NEGATIVE ACKNOWLEDGE" - string="NAK" - u:block="Control Pictures" - /> - <xsl:output-character - character="␖" - u:name="SYMBOL FOR SYNCHRONOUS IDLE" - string="SYN" - u:block="Control Pictures" - /> - <xsl:output-character - character="␗" - u:name="SYMBOL FOR END OF TRANSMISSION BLOCK" - string="ETB" - u:block="Control Pictures" - /> - <xsl:output-character - character="␘" - u:name="SYMBOL FOR CANCEL" - string="CAN" - u:block="Control Pictures" - /> - <xsl:output-character - character="␙" - u:name="SYMBOL FOR END OF MEDIUM" - string="EM" - u:block="Control Pictures" - /> - <xsl:output-character - character="␚" - u:name="SYMBOL FOR SUBSTITUTE" - string="SUB" - u:block="Control Pictures" - /> - <xsl:output-character - character="␛" - u:name="SYMBOL FOR ESCAPE" - string="ESC" - u:block="Control Pictures" - /> - <xsl:output-character - character="␜" - u:name="SYMBOL FOR FILE SEPARATOR" - string="FS" - u:block="Control Pictures" - /> - <xsl:output-character - character="␝" - u:name="SYMBOL FOR GROUP SEPARATOR" - string="GS" - u:block="Control Pictures" - /> - <xsl:output-character - character="␞" - u:name="SYMBOL FOR RECORD SEPARATOR" - string="RS" - u:block="Control Pictures" - /> - <xsl:output-character - character="␟" - u:name="SYMBOL FOR UNIT SEPARATOR" - string="US" - u:block="Control Pictures" - /> - <xsl:output-character - character="␠" - u:name="SYMBOL FOR SPACE" - string="SP" - u:block="Control Pictures" - /> - <xsl:output-character - character="␡" - u:name="SYMBOL FOR DELETE" - string="DEL" - u:block="Control Pictures" - /> - <!-- * no roff equivs for x2422 and x2423 --> - <!-- * <xsl:output-character --> - <!-- * character="␢" --> - <!-- * u:name="BLANK SYMBOL" --> - <!-- * string="?" --> - <!-- * u:block="Control Pictures" --> - <!-- * /> --> - <!-- * I think there should be a roff equiv for ␣, but as far as I --> - <!-- * know, there is not... --> - <!-- * <xsl:output-character --> - <!-- * character="␣" --> - <!-- * u:name="OPEN BOX" --> - <!-- * u:entity="blank" --> - <!-- * string="?" --> - <!-- * u:block="Control Pictures" --> - <!-- * /> --> - <xsl:output-character - character="␤" - u:name="SYMBOL FOR NEWLINE" - string="NL" - u:block="Control Pictures" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Control Pictures --> - <!-- * ***************************************************************** --> - - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - <!-- * Optical Character Recognition --> - <!-- * x2440 to x24ff --> - <!-- * - do nothing - --> - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Enclosed Alphanumerics --> - <!-- * x2460 to x24ff --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="①" - u:name="CIRCLED DIGIT ONE" - string="1" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="②" - u:name="CIRCLED DIGIT TWO" - string="2" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="③" - u:name="CIRCLED DIGIT THREE" - string="3" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="④" - u:name="CIRCLED DIGIT FOUR" - string="4" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑤" - u:name="CIRCLED DIGIT FIVE" - string="5" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑥" - u:name="CIRCLED DIGIT SIX" - string="6" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑦" - u:name="CIRCLED DIGIT SEVEN" - string="7" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑧" - u:name="CIRCLED DIGIT EIGHT" - string="8" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑨" - u:name="CIRCLED DIGIT NINE" - string="9" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑩" - u:name="CIRCLED NUMBER TEN" - string="10" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑪" - u:name="CIRCLED NUMBER ELEVEN" - string="11" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑫" - u:name="CIRCLED NUMBER TWELVE" - string="12" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑬" - u:name="CIRCLED NUMBER THIRTEEN" - string="13" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑭" - u:name="CIRCLED NUMBER FOURTEEN" - string="14" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑮" - u:name="CIRCLED NUMBER FIFTEEN" - string="15" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑯" - u:name="CIRCLED NUMBER SIXTEEN" - string="16" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑰" - u:name="CIRCLED NUMBER SEVENTEEN" - string="17" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑱" - u:name="CIRCLED NUMBER EIGHTEEN" - string="18" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑲" - u:name="CIRCLED NUMBER NINETEEN" - string="19" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑳" - u:name="CIRCLED NUMBER TWENTY" - string="20" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑴" - u:name="PARENTHESIZED DIGIT ONE" - string="(1)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑵" - u:name="PARENTHESIZED DIGIT TWO" - string="(2)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑶" - u:name="PARENTHESIZED DIGIT THREE" - string="(3)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑷" - u:name="PARENTHESIZED DIGIT FOUR" - string="(4)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑸" - u:name="PARENTHESIZED DIGIT FIVE" - string="(5)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑹" - u:name="PARENTHESIZED DIGIT SIX" - string="(6)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑺" - u:name="PARENTHESIZED DIGIT SEVEN" - string="(7)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑻" - u:name="PARENTHESIZED DIGIT EIGHT" - string="(8)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑼" - u:name="PARENTHESIZED DIGIT NINE" - string="(9)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑽" - u:name="PARENTHESIZED NUMBER TEN" - string="(10)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑾" - u:name="PARENTHESIZED NUMBER ELEVEN" - string="(11)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⑿" - u:name="PARENTHESIZED NUMBER TWELVE" - string="(12)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒀" - u:name="PARENTHESIZED NUMBER THIRTEEN" - string="(13)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒁" - u:name="PARENTHESIZED NUMBER FOURTEEN" - string="(14)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒂" - u:name="PARENTHESIZED NUMBER FIFTEEN" - string="(15)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒃" - u:name="PARENTHESIZED NUMBER SIXTEEN" - string="(16)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒄" - u:name="PARENTHESIZED NUMBER SEVENTEEN" - string="(17)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒅" - u:name="PARENTHESIZED NUMBER EIGHTEEN" - string="(18)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒆" - u:name="PARENTHESIZED NUMBER NINETEEN" - string="(19)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒇" - u:name="PARENTHESIZED NUMBER TWENTY" - string="(20)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒈" - u:name="DIGIT ONE FULL STOP" - string="1." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒉" - u:name="DIGIT TWO FULL STOP" - string="2." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒊" - u:name="DIGIT THREE FULL STOP" - string="3." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒋" - u:name="DIGIT FOUR FULL STOP" - string="4." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒌" - u:name="DIGIT FIVE FULL STOP" - string="5." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒍" - u:name="DIGIT SIX FULL STOP" - string="6." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒎" - u:name="DIGIT SEVEN FULL STOP" - string="7." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒏" - u:name="DIGIT EIGHT FULL STOP" - string="8." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒐" - u:name="DIGIT NINE FULL STOP" - string="9." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒑" - u:name="NUMBER TEN FULL STOP" - string="10." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒒" - u:name="NUMBER ELEVEN FULL STOP" - string="11." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒓" - u:name="NUMBER TWELVE FULL STOP" - string="12." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒔" - u:name="NUMBER THIRTEEN FULL STOP" - string="13." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒕" - u:name="NUMBER FOURTEEN FULL STOP" - string="14." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒖" - u:name="NUMBER FIFTEEN FULL STOP" - string="15." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒗" - u:name="NUMBER SIXTEEN FULL STOP" - string="16." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒘" - u:name="NUMBER SEVENTEEN FULL STOP" - string="17." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒙" - u:name="NUMBER EIGHTEEN FULL STOP" - string="18." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒚" - u:name="NUMBER NINETEEN FULL STOP" - string="19." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒛" - u:name="NUMBER TWENTY FULL STOP" - string="20." - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒜" - u:name="PARENTHESIZED LATIN SMALL LETTER A" - string="(a)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒝" - u:name="PARENTHESIZED LATIN SMALL LETTER B" - string="(b)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒞" - u:name="PARENTHESIZED LATIN SMALL LETTER C" - string="(c)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒟" - u:name="PARENTHESIZED LATIN SMALL LETTER D" - string="(d)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒠" - u:name="PARENTHESIZED LATIN SMALL LETTER E" - string="(e)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒡" - u:name="PARENTHESIZED LATIN SMALL LETTER F" - string="(f)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒢" - u:name="PARENTHESIZED LATIN SMALL LETTER G" - string="(g)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒣" - u:name="PARENTHESIZED LATIN SMALL LETTER H" - string="(h)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒤" - u:name="PARENTHESIZED LATIN SMALL LETTER I" - string="(i)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒥" - u:name="PARENTHESIZED LATIN SMALL LETTER J" - string="(j)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒦" - u:name="PARENTHESIZED LATIN SMALL LETTER K" - string="(k)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒧" - u:name="PARENTHESIZED LATIN SMALL LETTER L" - string="(l)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒨" - u:name="PARENTHESIZED LATIN SMALL LETTER M" - string="(m)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒩" - u:name="PARENTHESIZED LATIN SMALL LETTER N" - string="(n)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒪" - u:name="PARENTHESIZED LATIN SMALL LETTER O" - string="(o)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒫" - u:name="PARENTHESIZED LATIN SMALL LETTER P" - string="(p)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒬" - u:name="PARENTHESIZED LATIN SMALL LETTER Q" - string="(q)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒭" - u:name="PARENTHESIZED LATIN SMALL LETTER R" - string="(r)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒮" - u:name="PARENTHESIZED LATIN SMALL LETTER S" - string="(s)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒯" - u:name="PARENTHESIZED LATIN SMALL LETTER T" - string="(t)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒰" - u:name="PARENTHESIZED LATIN SMALL LETTER U" - string="(u)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒱" - u:name="PARENTHESIZED LATIN SMALL LETTER V" - string="(v)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒲" - u:name="PARENTHESIZED LATIN SMALL LETTER W" - string="(w)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒳" - u:name="PARENTHESIZED LATIN SMALL LETTER X" - string="(x)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒴" - u:name="PARENTHESIZED LATIN SMALL LETTER Y" - string="(y)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⒵" - u:name="PARENTHESIZED LATIN SMALL LETTER Z" - string="(z)" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓐ" - u:name="CIRCLED LATIN CAPITAL LETTER A" - string="A" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓑ" - u:name="CIRCLED LATIN CAPITAL LETTER B" - string="B" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓒ" - u:name="CIRCLED LATIN CAPITAL LETTER C" - string="C" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓓ" - u:name="CIRCLED LATIN CAPITAL LETTER D" - string="D" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓔ" - u:name="CIRCLED LATIN CAPITAL LETTER E" - string="E" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓕ" - u:name="CIRCLED LATIN CAPITAL LETTER F" - string="F" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓖ" - u:name="CIRCLED LATIN CAPITAL LETTER G" - string="G" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓗ" - u:name="CIRCLED LATIN CAPITAL LETTER H" - string="H" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓘ" - u:name="CIRCLED LATIN CAPITAL LETTER I" - string="I" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓙ" - u:name="CIRCLED LATIN CAPITAL LETTER J" - string="J" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓚ" - u:name="CIRCLED LATIN CAPITAL LETTER K" - string="K" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓛ" - u:name="CIRCLED LATIN CAPITAL LETTER L" - string="L" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓜ" - u:name="CIRCLED LATIN CAPITAL LETTER M" - string="M" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓝ" - u:name="CIRCLED LATIN CAPITAL LETTER N" - string="N" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓞ" - u:name="CIRCLED LATIN CAPITAL LETTER O" - string="O" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓟ" - u:name="CIRCLED LATIN CAPITAL LETTER P" - string="P" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓠ" - u:name="CIRCLED LATIN CAPITAL LETTER Q" - string="Q" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓡ" - u:name="CIRCLED LATIN CAPITAL LETTER R" - string="R" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓢ" - u:name="CIRCLED LATIN CAPITAL LETTER S" - u:entity="oS" - string="S" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓣ" - u:name="CIRCLED LATIN CAPITAL LETTER T" - string="T" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓤ" - u:name="CIRCLED LATIN CAPITAL LETTER U" - string="U" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓥ" - u:name="CIRCLED LATIN CAPITAL LETTER V" - string="V" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓦ" - u:name="CIRCLED LATIN CAPITAL LETTER W" - string="W" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓧ" - u:name="CIRCLED LATIN CAPITAL LETTER X" - string="X" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓨ" - u:name="CIRCLED LATIN CAPITAL LETTER Y" - string="Y" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="Ⓩ" - u:name="CIRCLED LATIN CAPITAL LETTER Z" - string="Z" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓐ" - u:name="CIRCLED LATIN SMALL LETTER A" - string="a" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓑ" - u:name="CIRCLED LATIN SMALL LETTER B" - string="b" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓒ" - u:name="CIRCLED LATIN SMALL LETTER C" - string="c" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓓ" - u:name="CIRCLED LATIN SMALL LETTER D" - string="d" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓔ" - u:name="CIRCLED LATIN SMALL LETTER E" - string="e" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓕ" - u:name="CIRCLED LATIN SMALL LETTER F" - string="f" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓖ" - u:name="CIRCLED LATIN SMALL LETTER G" - string="g" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓗ" - u:name="CIRCLED LATIN SMALL LETTER H" - string="h" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓘ" - u:name="CIRCLED LATIN SMALL LETTER I" - string="i" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓙ" - u:name="CIRCLED LATIN SMALL LETTER J" - string="j" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓚ" - u:name="CIRCLED LATIN SMALL LETTER K" - string="k" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓛ" - u:name="CIRCLED LATIN SMALL LETTER L" - string="l" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓜ" - u:name="CIRCLED LATIN SMALL LETTER M" - string="m" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓝ" - u:name="CIRCLED LATIN SMALL LETTER N" - string="n" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓞ" - u:name="CIRCLED LATIN SMALL LETTER O" - string="o" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓟ" - u:name="CIRCLED LATIN SMALL LETTER P" - string="p" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓠ" - u:name="CIRCLED LATIN SMALL LETTER Q" - string="q" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓡ" - u:name="CIRCLED LATIN SMALL LETTER R" - string="r" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓢ" - u:name="CIRCLED LATIN SMALL LETTER S" - string="s" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓣ" - u:name="CIRCLED LATIN SMALL LETTER T" - string="t" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓤ" - u:name="CIRCLED LATIN SMALL LETTER U" - string="u" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓥ" - u:name="CIRCLED LATIN SMALL LETTER V" - string="b" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓦ" - u:name="CIRCLED LATIN SMALL LETTER W" - string="w" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓧ" - u:name="CIRCLED LATIN SMALL LETTER X" - string="x" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓨ" - u:name="CIRCLED LATIN SMALL LETTER Y" - string="y" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="ⓩ" - u:name="CIRCLED LATIN SMALL LETTER Z" - string="z" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓪" - u:name="CIRCLED DIGIT ZERO" - string="0" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓫" - u:name="NEGATIVE CIRCLED NUMBER ELEVEN" - string="11" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓬" - u:name="NEGATIVE CIRCLED NUMBER TWELVE" - string="12" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓭" - u:name="NEGATIVE CIRCLED NUMBER THIRTEEN" - string="13" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓮" - u:name="NEGATIVE CIRCLED NUMBER FOURTEEN" - string="14" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓯" - u:name="NEGATIVE CIRCLED NUMBER FIFTEEN" - string="15" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓰" - u:name="NEGATIVE CIRCLED NUMBER SIXTEEN" - string="16" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓱" - u:name="NEGATIVE CIRCLED NUMBER SEVENTEEN" - string="17" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓲" - u:name="NEGATIVE CIRCLED NUMBER EIGHTEEN" - string="18" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓳" - u:name="NEGATIVE CIRCLED NUMBER NINETEEN" - string="19" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓴" - u:name="NEGATIVE CIRCLED NUMBER TWENTY" - string="20" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓵" - u:name="DOUBLE CIRCLED DIGIT ONE" - string="1" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓶" - u:name="DOUBLE CIRCLED DIGIT TWO" - string="2" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓷" - u:name="DOUBLE CIRCLED DIGIT THREE" - string="3" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓸" - u:name="DOUBLE CIRCLED DIGIT FOUR" - string="4" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓹" - u:name="DOUBLE CIRCLED DIGIT FIVE" - string="5" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓺" - u:name="DOUBLE CIRCLED DIGIT SIX" - string="6" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓻" - u:name="DOUBLE CIRCLED DIGIT SEVEN" - string="7" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓼" - u:name="DOUBLE CIRCLED DIGIT EIGHT" - string="8" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓽" - u:name="DOUBLE CIRCLED DIGIT NINE" - string="9" - u:block="Enclosed Alphanumerics" - /> - <xsl:output-character - character="⓾" - u:name="DOUBLE CIRCLED NUMBER TEN" - string="10" - u:block="Enclosed Alphanumerics" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Enclosed Alphanumerics --> - <!-- * ***************************************************************** --> - - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - <!-- * Box Drawing --> - <!-- * x2500 to x257f --> - <!-- * Block Elements --> - <!-- * x2580 to x259f --> - <!-- * - do nothing - --> - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Geometric Shapes --> - <!-- * x25a0 to x25f7 --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="□" - u:name="WHITE SQUARE" - u:entity="squ" - string="\(sq" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="▢" - u:name="WHITE SQUARE WITH ROUNDED CORNERS" - string="\(sq" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="▫" - u:name="WHITE SMALL SQUARE" - string="\(sq" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="►" - u:name="BLACK RIGHT-POINTING POINTER" - string="\fB>\fR" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="▻" - u:name="WHITE RIGHT-POINTING POINTER" - string=">" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="▼" - u:name="BLACK DOWN-POINTING TRIANGLE" - string="\fBv\fR" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="▽" - u:name="WHITE DOWN-POINTING TRIANGLE" - u:entity="xdtri" - string="v" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="◄" - u:name="BLACK LEFT-POINTING POINTER" - string="\fB<\fR" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="◅" - u:name="WHITE LEFT-POINTING POINTER" - string="<" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="◆" - u:name="BLACK DIAMOND" - string="\(DI" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="◇" - u:name="WHITE DIAMOND" - string="\(lz" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="◊" - u:name="LOZENGE" - u:entity="loz" - string="\(lz" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="○" - u:name="WHITE CIRCLE" - u:entity="cir" - string="\(ci" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="●" - u:name="BLACK CIRCLE" - string="\(bu" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="◦" - u:name="WHITE BULLET" - string="\(ci" - u:block="Geometric Shapes" - /> - <xsl:output-character - character="◯" - u:name="LARGE CIRCLE" - u:entity="xcirc" - string="\(ci" - u:block="Geometric Shapes" - /> - <!-- * ***************************************************************** --> - <!-- * End: Geometric Shapes --> - <!-- * x25a0 to x25f7 --> - <!-- * ***************************************************************** --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Miscellaneous Symbols --> - <!-- * x2600 to x26ff --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="☚" - u:name="BLACK LEFT POINTING INDEX" - string="\(lh" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="☛" - u:name="BLACK RIGHT POINTING INDEX" - string="\(rh)" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="☜" - u:name="WHITE LEFT POINTING INDEX" - string="\(lh" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="☞" - u:name="WHITE RIGHT POINTING INDEX" - string="\(rh)" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="♠" - u:name="BLACK SPADE SUIT" - u:entity="spades" - string="\(SP" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="♡" - u:name="WHITE HEART SUIT" - string="\(HE" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="♢" - u:name="WHITE DIAMOND SUIT" - string="\(DI" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="♣" - u:name="BLACK CLUB SUIT" - u:entity="clubs" - string="\(CL" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="♤" - u:name="WHITE SPADE SUIT" - string="\(SP" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="♥" - u:name="BLACK HEART SUIT" - u:entity="hearts" - string="\(HE" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="♦" - u:name="BLACK DIAMOND SUIT" - u:entity="diams" - string="\(DI" - u:block="Miscellaneous Symbols" - /> - <xsl:output-character - character="♧" - u:name="WHITE CLUB SUIT" - string="\(CL" - u:block="Miscellaneous Symbols" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Miscellaneous Symbols --> - <!-- * ***************************************************************** --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Dingbats --> - <!-- * x2700 to x27be --> - <!-- * No roff equiv for most of these; just map to something close --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="✓" - u:name="CHECK MARK" - u:entity="check" - string="\(OK" - u:block="Dingbats" - /> - <xsl:output-character - character="✔" - u:name="HEAVY CHECK MARK" - string="\fB\(OK\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✕" - u:name="MULTIPLICATION X" - string="\(mu" - u:block="Dingbats" - /> - <xsl:output-character - character="✖" - u:name="HEAVY MULTIPLICATION X" - string="\fB\(mu\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✗" - u:name="BALLOT X" - u:entity="cross" - string="\(mu" - u:block="Dingbats" - /> - <xsl:output-character - character="✘" - u:name="HEAVY BALLOT X" - string="\fB\(mu\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✙" - u:name="OUTLINED GREEK CROSS" - string="\fB+\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✚" - u:name="HEAVY GREEK CROSS" - string="\fB+\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✛" - u:name="OPEN CENTRE CROSS" - string="\fB+\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✜" - u:name="HEAVY OPEN CENTRE CROSS" - string="\fB+\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✝" - u:name="LATIN CROSS" - string="\fB+\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✞" - u:name="SHADOWED WHITE LATIN CROSS" - string="\fB+\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✟" - u:name="OUTLINED LATIN CROSS" - string="\fB+\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✠" - u:name="MALTESE CROSS" - u:entity="malt" - string="\fB+\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="✡" - u:name="STAR OF DAVID" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✢" - u:name="FOUR TEARDROP-SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✣" - u:name="FOUR BALLOON-SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✤" - u:name="HEAVY FOUR BALLOON-SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✥" - u:name="FOUR CLUB-SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✦" - u:name="BLACK FOUR POINTED STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✧" - u:name="WHITE FOUR POINTED STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✩" - u:name="STRESS OUTLINED WHITE STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✪" - u:name="CIRCLED WHITE STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✫" - u:name="OPEN CENTRE BLACK STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✬" - u:name="BLACK CENTRE WHITE STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✭" - u:name="OUTLINED BLACK STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✮" - u:name="HEAVY OUTLINED BLACK STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✯" - u:name="PINWHEEL STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✰" - u:name="SHADOWED WHITE STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✱" - u:name="HEAVY ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✲" - u:name="OPEN CENTRE ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✳" - u:name="EIGHT SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✴" - u:name="EIGHT POINTED BLACK STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✵" - u:name="EIGHT POINTED PINWHEEL STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✶" - u:name="SIX POINTED BLACK STAR" - u:entity="sext" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✷" - u:name="EIGHT POINTED RECTILINEAR BLACK STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✸" - u:name="HEAVY EIGHT POINTED RECTILINEAR BLACK STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✹" - u:name="TWELVE POINTED BLACK STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✺" - u:name="SIXTEEN POINTED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✻" - u:name="TEARDROP-SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✼" - u:name="OPEN CENTRE TEARDROP-SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✽" - u:name="HEAVY TEARDROP-SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✾" - u:name="SIX PETALLED BLACK AND WHITE FLORETTE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="✿" - u:name="BLACK FLORETTE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❀" - u:name="WHITE FLORETTE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❁" - u:name="EIGHT PETALLED OUTLINED BLACK FLORETTE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❂" - u:name="CIRCLED OPEN CENTRE EIGHT POINTED STAR" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❃" - u:name="HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❄" - u:name="SNOWFLAKE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❅" - u:name="TIGHT TRIFOLIATE SNOWFLAKE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❆" - u:name="HEAVY CHEVRON SNOWFLAKE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❇" - u:name="SPARKLE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❈" - u:name="HEAVY SPARKLE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❉" - u:name="BALLOON-SPOKED ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❊" - u:name="EIGHT TEARDROP-SPOKED PROPELLER ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❋" - u:name="HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❍" - u:name="SHADOWED WHITE CIRCLE" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❏" - u:name="LOWER RIGHT DROP-SHADOWED WHITE SQUARE" - string="\(sq" - u:block="Dingbats" - /> - <xsl:output-character - character="❐" - u:name="UPPER RIGHT DROP-SHADOWED WHITE SQUARE" - string="\(sq" - u:block="Dingbats" - /> - <xsl:output-character - character="❑" - u:name="LOWER RIGHT SHADOWED WHITE SQUARE" - string="\(sq" - u:block="Dingbats" - /> - <xsl:output-character - character="❒" - u:name="UPPER RIGHT SHADOWED WHITE SQUARE" - string="\(sq" - u:block="Dingbats" - /> - <xsl:output-character - character="❖" - u:name="BLACK DIAMOND MINUS WHITE X" - string="*" - u:block="Dingbats" - /> - <xsl:output-character - character="❘" - u:name="LIGHT VERTICAL BAR" - string="\(bv" - u:block="Dingbats" - /> - <xsl:output-character - character="❙" - u:name="MEDIUM VERTICAL BAR" - string="\fB\(bv\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❚" - u:name="HEAVY VERTICAL BAR" - string="\fB\(bv\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❛" - u:name="HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT" - string="\fB\(oq\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❜" - u:name="HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT" - string="\fB\(cq\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❝" - u:name="HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT" - string="\fB\(lq\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❞" - u:name="HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT" - string="\fB\(rq\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❡" - u:name="CURVED STEM PARAGRAPH SIGN ORNAMENT" - string="\(ps" - u:block="Dingbats" - /> - <xsl:output-character - character="❢" - u:name="HEAVY EXCLAMATION MARK ORNAMENT" - string="\fB!\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❣" - u:name="HEAVY HEART EXCLAMATION MARK ORNAMENT" - string="\fB!\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❤" - u:name="HEAVY BLACK HEART" - string="\fB\(HE\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❥" - u:name="ROTATED HEAVY BLACK HEART BULLET" - string="\fB\(HE\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❦" - u:name="FLORAL HEART" - string="\fB\(HE\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❧" - u:name="ROTATED FLORAL HEART BULLET" - string="\fB\(HE\fR" - u:block="Dingbats" - /> - <xsl:output-character - character="❶" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT ONE" - string="1" - u:block="Dingbats" - /> - <xsl:output-character - character="❷" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT TWO" - string="2" - u:block="Dingbats" - /> - <xsl:output-character - character="❸" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT THREE" - string="3" - u:block="Dingbats" - /> - <xsl:output-character - character="❹" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT FOUR" - string="4" - u:block="Dingbats" - /> - <xsl:output-character - character="❺" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT FIVE" - string="5" - u:block="Dingbats" - /> - <xsl:output-character - character="❻" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT SIX" - string="6" - u:block="Dingbats" - /> - <xsl:output-character - character="❼" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT SEVEN" - string="7" - u:block="Dingbats" - /> - <xsl:output-character - character="❽" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT EIGHT" - string="8" - u:block="Dingbats" - /> - <xsl:output-character - character="❾" - u:name="DINGBAT NEGATIVE CIRCLED DIGIT NINE" - string="9" - u:block="Dingbats" - /> - <xsl:output-character - character="❿" - u:name="DINGBAT NEGATIVE CIRCLED NUMBER TEN" - string="10" - u:block="Dingbats" - /> - <xsl:output-character - character="➀" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT ONE" - string="1" - u:block="Dingbats" - /> - <xsl:output-character - character="➁" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT TWO" - string="2" - u:block="Dingbats" - /> - <xsl:output-character - character="➂" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT THREE" - string="3" - u:block="Dingbats" - /> - <xsl:output-character - character="➃" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT FOUR" - string="4" - u:block="Dingbats" - /> - <xsl:output-character - character="➄" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT FIVE" - string="5" - u:block="Dingbats" - /> - <xsl:output-character - character="➅" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT SIX" - string="6" - u:block="Dingbats" - /> - <xsl:output-character - character="➆" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN" - string="7" - u:block="Dingbats" - /> - <xsl:output-character - character="➇" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT" - string="8" - u:block="Dingbats" - /> - <xsl:output-character - character="➈" - u:name="DINGBAT CIRCLED SANS-SERIF DIGIT NINE" - string="9" - u:block="Dingbats" - /> - <xsl:output-character - character="➉" - u:name="DINGBAT CIRCLED SANS-SERIF NUMBER TEN" - string="10" - u:block="Dingbats" - /> - <xsl:output-character - character="➊" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE" - string="1" - u:block="Dingbats" - /> - <xsl:output-character - character="➋" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO" - string="2" - u:block="Dingbats" - /> - <xsl:output-character - character="➌" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE" - string="3" - u:block="Dingbats" - /> - <xsl:output-character - character="➍" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR" - string="4" - u:block="Dingbats" - /> - <xsl:output-character - character="➎" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE" - string="5" - u:block="Dingbats" - /> - <xsl:output-character - character="➏" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX" - string="6" - u:block="Dingbats" - /> - <xsl:output-character - character="➐" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN" - string="7" - u:block="Dingbats" - /> - <xsl:output-character - character="➑" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT" - string="8" - u:block="Dingbats" - /> - <xsl:output-character - character="➒" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE" - string="9" - u:block="Dingbats" - /> - <xsl:output-character - character="➓" - u:name="DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN" - string="10" - u:block="Dingbats" - /> - <xsl:output-character - character="➔" - u:name="HEAVY WIDE-HEADED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➙" - u:name="HEAVY RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➛" - u:name="DRAFTING POINT RIGHTWARDS ARROW" - string="\(->" - u:block="Dingbats" - /> - <xsl:output-character - character="➜" - u:name="HEAVY ROUND-TIPPED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➝" - u:name="TRIANGLE-HEADED RIGHTWARDS ARROW" - string="\(->" - u:block="Dingbats" - /> - <xsl:output-character - character="➞" - u:name="HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➟" - u:name="DASHED TRIANGLE-HEADED RIGHTWARDS ARROW" - string="\(->" - u:block="Dingbats" - /> - <xsl:output-character - character="➠" - u:name="HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➡" - u:name="BLACK RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➢" - u:name="THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD" - string="\(->" - u:block="Dingbats" - /> - <xsl:output-character - character="➣" - u:name="THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD" - string="\(->" - u:block="Dingbats" - /> - <xsl:output-character - character="➤" - u:name="BLACK RIGHTWARDS ARROWHEAD" - string="\(->" - u:block="Dingbats" - /> - <xsl:output-character - character="➧" - u:name="SQUAT BLACK RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➨" - u:name="HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➩" - u:name="RIGHT-SHADED WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➪" - u:name="LEFT-SHADED WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➫" - u:name="BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➬" - u:name="FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➭" - u:name="HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➮" - u:name="HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➯" - u:name="NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➱" - u:name="NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➲" - u:name="CIRCLED HEAVY WHITE RIGHTWARDS ARROW" - string="\(rA" - u:block="Dingbats" - /> - <xsl:output-character - character="➳" - u:name="WHITE-FEATHERED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➴" - u:name="BLACK-FEATHERED SOUTH EAST ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➵" - u:name="BLACK-FEATHERED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➶" - u:name="BLACK-FEATHERED NORTH EAST ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➷" - u:name="HEAVY BLACK-FEATHERED SOUTH EAST ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➸" - u:name="HEAVY BLACK-FEATHERED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➹" - u:name="HEAVY BLACK-FEATHERED NORTH EAST ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➺" - u:name="TEARDROP-BARBED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➻" - u:name="HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➼" - u:name="WEDGE-TAILED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➽" - u:name="HEAVY WEDGE-TAILED RIGHTWARDS ARROW" - string="\fR\(->\fB" - u:block="Dingbats" - /> - <xsl:output-character - character="➾" - u:name="OPEN-OUTLINED RIGHTWARDS ARROW" - string="\fR\(rA\fB" - u:block="Dingbats" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Dingbats --> - <!-- * ***************************************************************** --> - - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - <!-- * Miscellaneous Mathematical Symbols --> - <!-- * x27c0 to x27ef --> - <!-- * Supplemental Arrows --> - <!-- * x27f0 to x297f --> - <!-- * Miscellaneous Mathematical Symbols --> - <!-- * x2980 to x29ff --> - <!-- * Supplemental Mathematical Operators --> - <!-- * x2a00 to x2aff --> - <!-- * - no nothing - --> - <!-- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> - - <!-- * ***************************************************************** --> - <!-- * Begin: Alphabetic Presentation Forms --> - <!-- * xfb00 to xfb04 --> - <!-- * ***************************************************************** --> - - <xsl:output-character - character="ff" - u:name="LATIN SMALL LIGATURE FF" - u:entity="fflig" - string="\(ff" - u:block="Alphabetic Presentation Forms" - /> - <xsl:output-character - character="fi" - u:name="LATIN SMALL LIGATURE FI" - u:entity="filig" - string="\(fi" - u:block="Alphabetic Presentation Forms" - /> - <xsl:output-character - character="fl" - u:name="LATIN SMALL LIGATURE FL" - u:entity="fllig" - string="\(fl" - u:block="Alphabetic Presentation Forms" - /> - <xsl:output-character - character="ffi" - u:name="LATIN SMALL LIGATURE FFI" - u:entity="ffilig" - string="\(Fi" - u:block="Alphabetic Presentation Forms" - /> - <xsl:output-character - character="ffl" - u:name="LATIN SMALL LIGATURE FFL" - u:entity="ffllig" - string="\(Fl" - u:block="Alphabetic Presentation Forms" - /> - - <!-- * ***************************************************************** --> - <!-- * End: Alphabetic Presentation Forms --> - <!-- * ***************************************************************** --> - - <!-- * ================================================================= --> - - <!-- * Regarding x2060 vs. xFEFF, the document "Unicode Standard Annex #14, --> - <!-- * Line Breaking Properties"[1] says: --> - <!-- * --> - <!-- * The word joiner character [x2060 a.k.a "WJ"] is the preferred --> - <!-- * choice for an invisible character to keep other characters --> - <!-- * together that would otherwise be split across the line at a direct --> - <!-- * break. The character FEFF has the same effect, but because it is --> - <!-- * also used in an unrelated way as a byte order mark, the use of the --> - <!-- * WJ as the preferred interword glue simplifies the handling of FEFF. --> - <!-- * --> - <!-- * [1] http://www.unicode.org/reports/tr14/ --> - <!-- * --> - <!-- * We include it here anyway & map to the roff zero-width no-break --> - <xsl:output-character - character="" - u:name="ZERO WIDTH NO-BREAK SPACE" - string="\&" - u:block="Arabic Presentation Forms-B" - /> -</xsl:character-map> -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/docbook.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/docbook.xsl deleted file mode 100644 index a0a4251ba..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/docbook.xsl +++ /dev/null @@ -1,311 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - xmlns:ng="http://docbook.org/docbook-ng" - xmlns:db="http://docbook.org/ns/docbook" - exclude-result-prefixes="exsl" - version='1.0'> - - <xsl:import href="../html/docbook.xsl"/> - <xsl:import href="../html/manifest.xsl"/> - <!-- * html-synop.xsl file is generated by build --> - <xsl:import href="html-synop.xsl"/> - <xsl:output method="text" - encoding="UTF-8" - indent="no"/> - <!-- ******************************************************************** - $Id: docbook.xsl 8841 2010-08-14 07:21:25Z mzjn $ - ******************************************************************** - - 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:include href="../common/refentry.xsl"/> - <xsl:include href="../common/charmap.xsl"/> - <xsl:include href="param.xsl"/> - <xsl:include href="utility.xsl"/> - <xsl:include href="info.xsl"/> - <xsl:include href="other.xsl"/> - <xsl:include href="refentry.xsl"/> - <xsl:include href="block.xsl"/> - <xsl:include href="inline.xsl"/> - <xsl:include href="synop.xsl"/> - <xsl:include href="lists.xsl"/> - <xsl:include href="endnotes.xsl"/> - <xsl:include href="table.xsl"/> - <xsl:include href="pi.xsl"/> - - <!-- * we rename the following just to avoid using params with "man" --> - <!-- * prefixes in the table.xsl stylesheet (because that stylesheet --> - <!-- * can potentially be reused for more than just man output) --> - <xsl:param name="tbl.font.headings" select="$man.font.table.headings"/> - <xsl:param name="tbl.font.title" select="$man.font.table.title"/> - - <xsl:param name="stylesheet.result.type" select="'manpages'"/> - - <!-- ==================================================================== --> - - <xsl:template match="/"> - <!-- * Get a title for current doc so that we let the user --> - <!-- * know what document we are processing at this point. --> - <xsl:variable name="doc.title"> - <xsl:call-template name="get.doc.title"/> - </xsl:variable> - <xsl:choose> - <!-- * when we find a namespaced document, strip the --> - <!-- * namespace and then continue processing it. --> - <xsl:when test="//self::db:*"> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Note</xsl:with-param> - <xsl:with-param name="source" select="$doc.title"/> - <xsl:with-param name="context-desc"> - <xsl:text>namesp. cut</xsl:text> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>stripped namespace before processing</xsl:text> - </xsl:with-param> - </xsl:call-template> - <xsl:variable name="stripns"> - <xsl:apply-templates mode="stripNS"/> - </xsl:variable> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Note</xsl:with-param> - <xsl:with-param name="source" select="$doc.title"/> - <xsl:with-param name="context-desc"> - <xsl:text>namesp. cut</xsl:text> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>processing stripped document</xsl:text> - </xsl:with-param> - </xsl:call-template> - <xsl:apply-templates select="exsl:node-set($stripns)"/> - </xsl:when> - <xsl:when test="//*[local-name() = 'refentry']"> - <!-- * Check to see if we have any refentry children in this --> - <!-- * document; if so, process them. The reason we use --> - <!-- * local-name()=refentry (instead of just //refentry) to to --> - <!-- * check for refentry children is because this stylsheet is --> - <!-- * also post-processed by the stylesheet build to create the --> - <!-- * manpages/profile-docbook.xsl, and the refentry child check --> - <!-- * in the profile-docbook.xsl stylesheet won't work if we do --> - <!-- * a simple //refentry check. --> - <xsl:apply-templates select="//refentry"/> - <!-- * if $man.output.manifest.enabled is non-zero, --> - <!-- * generate a manifest file --> - <xsl:if test="not($man.output.manifest.enabled = 0)"> - <xsl:call-template name="generate.manifest"> - <xsl:with-param name="filename"> - <xsl:choose> - <xsl:when test="not($man.output.manifest.filename = '')"> - <!-- * If a name for the manifest file is specified, --> - <!-- * use that name. --> - <xsl:value-of select="$man.output.manifest.filename"/> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise, if user has unset --> - <!-- * $man.output.manifest.filename, default to --> - <!-- * using "MAN.MANIFEST" as the filename. Because --> - <!-- * $man.output.manifest.enabled is non-zero and --> - <!-- * so we must have a filename in order to --> - <!-- * generate the manifest. --> - <xsl:text>MAN.MANIFEST</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise, the document does not contain any --> - <!-- * refentry elements, so log/emit message and stop. --> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Erro</xsl:with-param> - <xsl:with-param name="source" select="$doc.title"/> - <xsl:with-param name="context-desc"> - <xsl:text> no refentry</xsl:text> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>No refentry elements found</xsl:text> - <xsl:if test="$doc.title != ''"> - <xsl:text> in "</xsl:text> - <xsl:choose> - <xsl:when test="string-length($doc.title) > 30"> - <xsl:value-of select="substring($doc.title,1,30)"/> - <xsl:text>...</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$doc.title"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>"</xsl:text> - </xsl:if> - <xsl:text>.</xsl:text> - </xsl:with-param> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- ============================================================== --> - - <xsl:template match="refentry"> - <xsl:param name="lang"> - <xsl:call-template name="l10n.language"/> - </xsl:param> - <!-- * Just use the first refname found as the "name" of the man --> - <!-- * page (which may different from the "title"...) --> - <xsl:variable name="first.refname" select="refnamediv[1]/refname[1]"/> - - <xsl:call-template name="root.messages"> - <xsl:with-param name="refname" select="$first.refname"/> - </xsl:call-template> - - <!-- * Because there are several times when we need to check *info of --> - <!-- * each refentry and its ancestors, we get those and store the --> - <!-- * data from them as a node-set in memory. --> - - <!-- * Make a node-set with contents of *info --> - <xsl:variable name="get.info" - select="ancestor-or-self::*/*[substring(local-name(), - string-length(local-name()) - 3) = 'info']" - /> - <xsl:variable name="info" select="exsl:node-set($get.info)"/> - - <!-- * The get.refentry.metadata template is in --> - <!-- * ../common/refentry.xsl. It looks for metadata in $info --> - <!-- * and in various other places and then puts it into a form --> - <!-- * that's easier for us to digest. --> - <xsl:variable name="get.refentry.metadata"> - <xsl:call-template name="get.refentry.metadata"> - <xsl:with-param name="refname" select="$first.refname"/> - <xsl:with-param name="info" select="$info"/> - <xsl:with-param name="prefs" select="$refentry.metadata.prefs"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="refentry.metadata" select="exsl:node-set($get.refentry.metadata)"/> - - <!-- * Assemble the various parts into a complete page, then store into --> - <!-- * $manpage.contents so that we can manipluate them further. --> - <xsl:variable name="manpage.contents"> - <!-- * preprocessor invocation (need for legacy AT&T troff use) --> - <!-- * this tells troff to pre-process the page through tbl(1) --> - <!-- * (groff can figure it out automatically, but AT&T troff can't) --> - <xsl:text>'\" t </xsl:text> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * top.comment = commented-out section at top of roff source --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:call-template name="top.comment"> - <xsl:with-param name="info" select="$info"/> - <xsl:with-param name="date" select="$refentry.metadata/date"/> - <xsl:with-param name="title" select="$refentry.metadata/title"/> - <xsl:with-param name="manual" select="$refentry.metadata/manual"/> - <xsl:with-param name="source" select="$refentry.metadata/source"/> - <xsl:with-param name="refname" select="$first.refname"/> - </xsl:call-template> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * TH.title.line = title line in header/footer of man page --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:call-template name="TH.title.line"> - <!-- * .TH TITLE section extra1 extra2 extra3 --> - <!-- * --> - <!-- * According to the man(7) man page: --> - <!-- * --> - <!-- * extra1 = date, "the date of the last revision" --> - <!-- * extra2 = source, "the source of the command" --> - <!-- * extra3 = manual, "the title of the manual --> - <!-- * (e.g., Linux Programmer's Manual)" --> - <!-- * --> - <!-- * So, we end up with: --> - <!-- * --> - <!-- * .TH TITLE section date source manual --> - <!-- * --> - <xsl:with-param name="title" select="$refentry.metadata/title"/> - <xsl:with-param name="section" select="$refentry.metadata/section"/> - <xsl:with-param name="extra1" select="$refentry.metadata/date"/> - <xsl:with-param name="extra2" select="$refentry.metadata/source"/> - <xsl:with-param name="extra3" select="$refentry.metadata/manual"/> - </xsl:call-template> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * (re)define some macros --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:call-template name="define.portability.macros"/> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:call-template name="define.macros"/> - </xsl:if> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * Set default hyphenation, justification, indentation, and --> - <!-- * line-breaking --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:call-template name="set.default.formatting"/> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * Main body of man page --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:text>.\" ----------------------------------------------------------------- </xsl:text> - <xsl:text>.\" * MAIN CONTENT STARTS HERE * </xsl:text> - <xsl:text>.\" ----------------------------------------------------------------- </xsl:text> - <xsl:apply-templates/> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * AUTHOR section --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:if test="not($man.authors.section.enabled = 0)"> - <xsl:call-template name="author.section"> - <xsl:with-param name="info" select="$info"/> - </xsl:call-template> - </xsl:if> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * COPYRIGHT section --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:if test="not($man.copyright.section.enabled = 0)"> - <xsl:call-template name="copyright.section"> - <xsl:with-param name="info" select="$info"/> - </xsl:call-template> - </xsl:if> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * NOTES list (only if user wants endnotes numbered and/or listed) --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:if test="$man.endnotes.list.enabled != 0 or - $man.endnotes.are.numbered != 0"> - <xsl:call-template name="endnotes.list"/> - </xsl:if> - </xsl:variable> <!-- * end of manpage.contents --> - - <!-- * Prepare the page contents for final output, then store in --> - <!-- * $manpage.contents.prepared so the we can pass it on to the --> - <!-- * write.text.chunk() function --> - <xsl:variable name="manpage.contents.prepared"> - <!-- * "Preparing" the page contents involves, at a minimum, --> - <!-- * doubling any backslashes found (so they aren't interpreted --> - <!-- * as roff escapes). --> - <!-- * --> - <!-- * If $charmap.enabled is true, "preparing" the page contents also --> - <!-- * involves applying a character map to convert Unicode symbols and --> - <!-- * special characters into corresponding roff escape sequences. --> - <xsl:call-template name="prepare.manpage.contents"> - <xsl:with-param name="content" select="$manpage.contents"/> - </xsl:call-template> - </xsl:variable> - - <!-- * Write the prepared page contents to disk to create --> - <!-- * the final man page. --> - <xsl:call-template name="write.man.file"> - <xsl:with-param name="name" select="$first.refname"/> - <xsl:with-param name="section" select="$refentry.metadata/section"/> - <xsl:with-param name="lang" select="$lang"/> - <xsl:with-param name="content" select="$manpage.contents.prepared"/> - </xsl:call-template> - - <!-- * Generate "stub" (alias) pages (if any needed) --> - <xsl:call-template name="write.stubs"> - <xsl:with-param name="first.refname" select="$first.refname"/> - <xsl:with-param name="section" select="$refentry.metadata/section"/> - <xsl:with-param name="lang" select="$lang"/> - </xsl:call-template> - - </xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/endnotes.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/endnotes.xsl deleted file mode 100644 index 8e52e01c5..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/endnotes.xsl +++ /dev/null @@ -1,586 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - xmlns:ng="http://docbook.org/docbook-ng" - xmlns:db="http://docbook.org/ns/docbook" - xmlns:xlink="http://www.w3.org/1999/xlink" - exclude-result-prefixes="db ng exsl xlink" - version='1.0'> - -<!-- ******************************************************************** - $Id: endnotes.xsl 8703 2010-07-06 20:57:06Z nwalsh $ - ******************************************************************** - - 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. - - ******************************************************************** --> - -<!-- ==================================================================== --> -<!-- * --> -<!-- * The templates in this file handle elements whose contents can't --> -<!-- * be displayed completely within the main text flow in output, but --> -<!-- * instead need to be displayed "out of line". Those elements are: --> -<!-- * --> -<!-- * - elements providing annotative text (annotation|alt|footnote) --> -<!-- * - elements pointing at external resources (ulink, link, and --> -<!-- * any elements with xlink:href attributes; and imagedata, --> -<!-- * audiodata, and videodata - which (using their fileref --> -<!-- * attribute) reference external files --> -<!-- * --> -<!-- * Within this stylesheet, the above are collectively referred to as --> -<!-- * a "notesources". This stylesheet handles those notesources in --> -<!-- * this way: --> -<!-- * --> -<!-- * 1. Constructs a numbered in-memory index of all unique "earmarks“ --> -<!-- * of all notesources in the document. For each link, the --> -<!-- * earmark is the value of its url or xlink:href attribute; for --> -<!-- * each imagedata|audiodata|videodata: the value of its fileref --> -<!-- * attribute; for each annotative element: its content. --> -<!-- * --> -<!-- * Notesources with the same earmark are assigned the same --> -<!-- * number. --> -<!-- * --> -<!-- * By design, that index excludes any element whose string value --> -<!-- * is identical to the value of its url xlink:href attribute). --> -<!-- * --> -<!-- * 2. Puts a numbered marker inline to mark the place where the --> -<!-- * notesource occurs in the main text flow. --> -<!-- * --> -<!-- * 3. Generates a numbered endnotes list (titled NOTES in English) --> -<!-- * at the end of the man page, with the contents of each --> -<!-- * notesource. --> -<!-- * --> -<!-- * Note that table footnotes are not listed in the endnotes list, --> -<!-- * and are not handled by this stylesheet (they are instead handled --> -<!-- * by the table.xsl stylesheet). --> -<!-- * --> -<!-- * Also, we don't get notesources in *info sections or Refmeta or --> -<!-- * Refnamediv or Indexterm, because, in manpages output, contents of --> -<!-- * those are either suppressed or are displayed out of document --> -<!-- * order - for example, the Info/Author content gets moved to the --> -<!-- * end of the page. So, if we were to number notesources in the --> -<!-- * Author content, it would "throw off" the numbering at the --> -<!-- * beginning of the main text flow. --> -<!-- * --> -<!-- * And for the record, one reason we don't use xsl:key to index the --> -<!-- * earmarks is that we need to get and check the sets of --> -<!-- * earmarks for uniqueness per-Refentry (not per-document). --> -<!-- * --> -<!-- * FIXME: --> -<!-- * as with "repeat" URLS, alt instances that have the same string value --> -<!-- * as preceding ones (likely to occur for repeat acroynyms and --> -<!-- * abbreviations) should be listed only once in the endnotes list, --> -<!-- * and numbered accordingly inline; split man.indent.width into --> -<!-- * man.indent.width.value (default 4) and man.indent.width.units --> -<!-- * (default n); also, if the first child of notesource is some block --> -<!-- * content other than a (non-formal) paragraph, the current code --> -<!-- * will probably end up generating a blank line after the --> -<!-- * corresponding number in the endnotes list... we should probably --> -<!-- * try to instead display the title of that block content there (if --> -<!-- * there is one: e.g., the list title, admonition title, etc.) --> - -<!-- ==================================================================== --> - -<xsl:template name="get.all.earmark.indexes.in.current.document"> - <!-- * Here we create a tree to hold indexes of all earmarks in --> - <!-- * the current document. If the current document contains --> - <!-- * multiple refentry instances, then this tree will contain --> - <!-- * multiple indexes. --> - <xsl:if test="$man.endnotes.are.numbered != 0"> - <!-- * Only create earmark indexes if user wants numbered endnotes --> - <xsl:for-each select="//refentry"> - <earmark.index> - <xsl:attribute name="idref"> - <xsl:value-of select="generate-id()"/> - </xsl:attribute> - <xsl:for-each - select=".//*[self::*[@xlink:href] - or self::ulink - or self::imagedata - or self::audiodata - or self::videodata - or self::footnote[not(ancestor::table)] - or self::annotation - or self::alt] - [(node() - or self::imagedata - or self::audiodata - or self::videodata - ) - and not(ancestor::refentryinfo) - and not(ancestor::info) - and not(ancestor::docinfo) - and not(ancestor::refmeta) - and not(ancestor::refnamediv) - and not(ancestor::indexterm) - and not(. = @url) - and not(. = @xlink:href) - and not(@url = - preceding::ulink[node() - and not(ancestor::refentryinfo) - and not(ancestor::info) - and not(ancestor::docinfo) - and not(ancestor::refmeta) - and not(ancestor::refnamediv) - and not(ancestor::indexterm) - and (generate-id(ancestor::refentry) - = generate-id(current()))]/@url) - and not(@xlink:href = - preceding::*[@xlink:href][node() - and not(ancestor::refentryinfo) - and not(ancestor::info) - and not(ancestor::docinfo) - and not(ancestor::refmeta) - and not(ancestor::refnamediv) - and not(ancestor::indexterm) - and (generate-id(ancestor::refentry) - = generate-id(current()))]/@xlink:href) - and not(@fileref = - preceding::*[@fileref][ - not(ancestor::refentryinfo) - and not(ancestor::info) - and not(ancestor::docinfo) - and not(ancestor::refmeta) - and not(ancestor::refnamediv) - and not(ancestor::indexterm) - and (generate-id(ancestor::refentry) - = generate-id(current()))]/@fileref)]"> - <earmark> - <xsl:attribute name="id"> - <xsl:value-of select="generate-id()"/> - </xsl:attribute> - <xsl:attribute name="number"> - <xsl:value-of select="position()"/> - </xsl:attribute> - <xsl:if test="@url|@xlink:href|@fileref"> - <!-- * Only add a uri attribute if the notesource is --> - <!-- * a link or an element that references an external --> - <!-- * (an imagedata, audiodata, or videodata element) --> - <xsl:attribute name="uri"> - <xsl:value-of select="@url|@xlink:href|@fileref"/> - </xsl:attribute> - </xsl:if> - <xsl:copy> - <xsl:copy-of select="node()"/> - </xsl:copy> - </earmark> - </xsl:for-each> - </earmark.index> - </xsl:for-each> - </xsl:if> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template match="*[@xlink:href]|ulink - |imagedata|audiodata|videodata - |footnote[not(ancestor::table)] - |annotation|alt"> - <xsl:variable name="refname" select="ancestor::refentry/refnamediv[1]/refname[1]"/> - <xsl:variable name="all.earmark.indexes.in.current.document.rtf"> - <xsl:call-template name="get.all.earmark.indexes.in.current.document"/> - </xsl:variable> - <xsl:variable name="all.earmark.indexes.in.current.document" - select="exsl:node-set($all.earmark.indexes.in.current.document.rtf)"/> - <xsl:variable name="all.earmarks.in.current.refentry.rtf"> - <!-- * get the set of all earmarks for the ancestor Refentry of --> - <!-- * this notesource --> - <xsl:copy-of - select="$all.earmark.indexes.in.current.document/earmark.index - [@idref = - generate-id(current()/ancestor::refentry)]/earmark"/> - </xsl:variable> - <xsl:variable name="all.earmarks.in.current.refentry" - select="exsl:node-set($all.earmarks.in.current.refentry.rtf)"/> - - <!-- * identify the earmark for the current element --> - <xsl:variable name="earmark"> - <xsl:choose> - <xsl:when test="@url|@xlink:href"> - <xsl:value-of select="@url|@xlink:href"/> - </xsl:when> - <xsl:when test="@fileref"> - <xsl:value-of select="@fileref"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="generate-id()"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:variable name="notesource.number"> - <!-- * Get the number for this notesource --> - <!-- * --> - <!-- * If this is an imagedata, audiodata, or videodata element --> - <!-- * OR if it's a non-empty element AND its string value is not --> - <!-- * equal to the value of its url or xlink:href attribute (if --> - <!-- * it has one) AND user wants endnotes numbered, only then --> - <!-- * do we output a number for it --> - <xsl:if test="(self::imagedata or - self::audiodata or - self::videodata or - (node() - and not(. = @url) - and not(. = @xlink:href)) - ) - and $man.endnotes.are.numbered != 0"> - <!-- * To select the number for this notesource, we --> - <!-- * check the index of all earmarks for the current refentry --> - <!-- * and find the number of the indexed earmark which matches --> - <!-- * this notesource's earmark. --> - <!-- * Note that multiple notesources may share the same --> - <!-- * numbered earmark; in that case, they get the same number. --> - <!-- * --> - <xsl:choose> - <xsl:when test="self::ulink or - self::*[@xlink:href] or - self::imagedata or - self::audiodata or - self::videodata"> - <xsl:value-of select="$all.earmarks.in.current.refentry/earmark[@uri = $earmark]/@number"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$all.earmarks.in.current.refentry/earmark[@id = $earmark]/@number"/> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:variable> - - <xsl:variable name="notesource.contents"> - <xsl:choose> - <!-- * check to see if the element is empty or not --> - <xsl:when test="node()"> - <!-- * this is a non-empty node, so process its contents --> - <xsl:apply-templates/> - <xsl:if test="../footnote or ../annotation"> - <!-- * if this element is a footnote or annotation, we need to --> - <!-- * do some further checking on it, so we can emit warnings --> - <!-- * about potential problems --> - <xsl:for-each select="node()"> - <xsl:if test="local-name() != 'para' and - local-name() != 'simpara' and - local-name() !=''"> - <!-- * for each node we find as a child of a footnote or --> - <!-- * annotation, if it's not a para or a text node, emit a --> - <!-- * warning... because in manpages output, we can't render --> - <!-- * block-level child content of an endnote properly unless --> - <!-- * it's wrapped in a para that has some "prefatory" text --> - <xsl:variable name="parent-name" select="local-name(..)"/> - <xsl:variable name="endnote-number"> - <xsl:call-template name="pad-string"> - <!-- * endnote number may be 2 digits, so pad it with a space --> - <!-- * if we have only 1 digit --> - <xsl:with-param name="padVar" select="concat('#',$notesource.number)"/> - <xsl:with-param name="length" select="3"/> - </xsl:call-template> - </xsl:variable> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Warn</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc"> - <xsl:text>endnote </xsl:text> - <xsl:value-of select="$endnote-number"/> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>Bad: </xsl:text> - <xsl:value-of select="$parent-name"/> - <!-- * figure out which occurance of this element type this --> - <!-- * instance is and output a number in square brackets so --> - <!-- * that end-user can know which element to fix --> - <xsl:text>[</xsl:text> - <xsl:value-of select="count(preceding::*[local-name() = $parent-name]) + 1"/> - <xsl:text>]</xsl:text> - <xsl:text> in source</xsl:text> - </xsl:with-param> - </xsl:call-template> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Note</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc"> - <xsl:text>endnote </xsl:text> - <xsl:value-of select="$endnote-number"/> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>Has: </xsl:text> - <xsl:value-of select="$parent-name"/> - <xsl:text>/</xsl:text> - <xsl:value-of select="local-name(.)"/> - </xsl:with-param> - </xsl:call-template> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Note</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc"> - <xsl:text>endnote </xsl:text> - <xsl:value-of select="$endnote-number"/> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>Fix: </xsl:text> - <xsl:value-of select="$parent-name"/> - <xsl:text>/</xsl:text> - <xsl:text>para/</xsl:text> - <xsl:value-of select="local-name(.)"/> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:for-each> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise this is an empty link or an empty imagedata, --> - <!-- * audiodata, or videodata element, so we just get the --> - <!-- * value of its url, xlink:href, or fileref attribute. --> - <xsl:if test="$man.hyphenate.urls = 0 - and $man.break.after.slash = 0"> - <!-- * Add hyphenation suppression in URL output only if --> - <!-- * break.after.slash is also non-zero --> - <xsl:call-template name="suppress.hyphenation"/> - <xsl:text>\%</xsl:text> - </xsl:if> - <xsl:value-of select="$earmark"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:if test="self::ulink or self::*[@xlink:href]"> - <xsl:variable name="link.wrapper"> - <xsl:value-of select="normalize-space($notesource.contents)"/> - </xsl:variable> - <xsl:text>\m[blue]</xsl:text> - <!-- * This is a hyperlink, so we need to determine if the user wants --> - <!-- * font formatting applied to it, and if so, what font --> - <xsl:choose> - <xsl:when test="$man.font.links = 'B'"> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="exsl:node-set($link.wrapper)"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - </xsl:when> - <xsl:when test="$man.font.links = 'I'"> - <xsl:call-template name="italic"> - <xsl:with-param name="node" select="exsl:node-set($link.wrapper)"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - </xsl:when> - <xsl:when test="$man.font.links = ''"> - <!-- * if man.font.links is empty, user doesn't want links --> - <!-- * underlined, so just display content --> - <xsl:value-of select="$notesource.contents"/> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise the user has specified an unsupported value for --> - <!-- * man.font.links, so emit a warning and don't apply any font --> - <!-- * formatting --> - <xsl:message> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Warn</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc"> - <xsl:text>link font</xsl:text> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>invalid $man.font.links value: </xsl:text> - <xsl:text>'</xsl:text> - <xsl:value-of select="$man.font.links"/> - <xsl:text>'</xsl:text> - </xsl:with-param> - </xsl:call-template> - </xsl:message> - <xsl:value-of select="$notesource.contents"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>\m[]</xsl:text> - </xsl:if> - - <xsl:if test="$notesource.number != ''"> - <!-- * Format the number by placing it in square brackets. --> - <!-- * Also, set the number in font-size -2, and superscripted (\u --> - <!-- * means to move up half a line vertically) --> - <xsl:text>\&\s-2\u[</xsl:text> - <xsl:value-of select="$notesource.number"/> - <xsl:text>]\d\s+2</xsl:text> - <!-- * Revert superscripting (\d means to move down half a line), and --> - <!-- * move the font-size back to what it was before. --> - <!-- * Note that the reason for the \& before the opening bracket --> - <!-- * is to prevent any possible linebreak from being introduced --> - <!-- * between the opening bracket and the following text. --> - </xsl:if> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template name="endnotes.list"> - <!-- We have stored earmark indexes for all refentry instances in the --> - <!-- current document, with the ID for each index being the same ID as --> - <!-- its corresponding refentry; so we now need to get the ID for the --> - <!-- current refentry so we can grab its corresponding earmark index --> - <xsl:variable name="current.refentry.id"> - <xsl:value-of select="generate-id(.)"/> - </xsl:variable> - - <xsl:variable name="endnotes.rtf"> - <xsl:variable name="all.earmark.indexes.in.current.document.rtf"> - <xsl:call-template name="get.all.earmark.indexes.in.current.document"/> - </xsl:variable> - <xsl:variable name="all.earmark.indexes.in.current.document" - select="exsl:node-set($all.earmark.indexes.in.current.document.rtf)"/> - <xsl:copy-of - select="$all.earmark.indexes.in.current.document/earmark.index - [@idref = $current.refentry.id]/earmark"/> - </xsl:variable> - - <xsl:variable name="endnotes" select="exsl:node-set($endnotes.rtf)"/> - - <!-- * check to see if we have actually found any content to use as --> - <!-- * endnotes; if we have, we generate the endnotes list, if not, --> - <!-- * we do nothing --> - <xsl:if test="$endnotes/node()"> - <xsl:call-template name="format.endnotes.list"> - <xsl:with-param name="endnotes" select="$endnotes"/> - </xsl:call-template> - </xsl:if> - -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template name="format.endnotes.list"> - <xsl:param name="endnotes"/> - - <!-- * ======= make the endnotes-list section heading ============= --> - <xsl:call-template name="make.subheading"> - <xsl:with-param name="title"> - <xsl:choose> - <!-- * if user has specified a heading, use that --> - <xsl:when test="$man.endnotes.list.heading != ''"> - <xsl:value-of select="$man.endnotes.list.heading"/> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise, get localized heading from gentext --> - <!-- * (in English, NOTES) --> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'Notes'"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - </xsl:call-template> - - <!-- * ================ process each earmark ====================== --> - <xsl:for-each select="$endnotes/earmark"> - <!-- * make paragraph with hanging indent, and starting with a --> - <!-- * number in the form " 1." (padded to $man.indent.width - 1) --> - <xsl:text>.IP</xsl:text> - <xsl:text> "</xsl:text> - <xsl:variable name="endnote.number"> - <xsl:value-of select="@number"/> - <xsl:text>.</xsl:text> - </xsl:variable> - <xsl:call-template name="pad-string"> - <xsl:with-param name="padVar" select="$endnote.number"/> - <!-- FIXME: the following assumes that $man.indent.width is in --> - <!-- en's; also, this should probably use $list.indent instead --> - <xsl:with-param name="length" select="$man.indent.width - 1"/> - </xsl:call-template> - <xsl:text>"</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - - <!-- * ========================================================= --> - <!-- * print the notesource/endnote contents --> - <!-- * ========================================================= --> - <xsl:choose> - <xsl:when test="*/node()"> - <!-- * if the earmark has non-empty child content, then --> - <!-- * its corresponding notesource is either a link or --> - <!-- * an instance of annotative text, so we want to --> - <!-- * display that content --> - <xsl:choose> - <xsl:when test="*/node()[name(.)!='']"> - <!-- * if node is not text only, then process it as-is --> - <xsl:apply-templates select="*/node()"/> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise node is text-only, so normalize it --> - <xsl:value-of select="normalize-space(*/node())"/> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise, this earmark has empty content, --> - <!-- * which means its corresponding notesource is an --> - <!-- * imagedata, audiodata, or videodata instance; in --> - <!-- * that case, we use the value of the notesource's --> - <!-- * @fileref attribute (which is stored in the --> - <!-- * earmark uri attribute) as the "contents" for --> - <!-- * this endnote/notesource --> - <xsl:call-template name="display.uri"> - <xsl:with-param name="uri" select="@uri"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - <xsl:text> </xsl:text> - - <!-- * ========================================================= --> - <!-- * print the URL for links --> - <!-- * ========================================================= --> - <!-- * In addition to the notesource contents, if the --> - <!-- * notesource is a link, we display the URL for the link. --> - <!-- * But for notesources that are imagedata, audiodata, or --> - <!-- * videodata instances, we don't want to (re)display the --> - <!-- * URL for those here, because for those elements, the --> - <!-- * notesource contents are the URL (the value of the --> - <!-- * @fileref attribute), and we have already rendered them. --> - <!-- * --> - <!-- * We know an earmark is a link if it has non-empty child --> - <!-- * content and a uri attribute; so we check for that --> - <!-- * condition here. --> - <xsl:if test="*/node() and @uri"> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <!-- * Add hyphenation suppression in URL output only if --> - <!-- * $break.after.slash is also non-zero --> - <xsl:if test="$man.hyphenate.urls = 0 - and $man.break.after.slash = 0"> - <xsl:call-template name="suppress.hyphenation"/> - <xsl:text>\%</xsl:text> - </xsl:if> - <xsl:call-template name="display.uri"> - <xsl:with-param name="uri" select="@uri"/> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:text>.RE</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - - </xsl:for-each> -</xsl:template> - -<xsl:template name="display.uri"> - <xsl:param name="uri"/> - <xsl:choose> - <xsl:when test="contains($uri, ':')"> - <!-- * if this URI contains a colon character, it’s probably --> - <!-- * an absolute URI with a scheme, so we output it as-is --> - <xsl:value-of select="$uri"/> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise this is probably not an absolute URI, so we --> - <!-- * need to prepend $man.base.url.for.relative.links to --> - <!-- * give the URI some "context" in man-page output --> - <xsl:value-of - select="concat($man.base.url.for.relative.links, $uri)"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/html-synop.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/html-synop.xsl deleted file mode 100644 index 2137619b2..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/html-synop.xsl +++ /dev/null @@ -1,1668 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - -<!-- ******************************************************************** - $Id: synop.xsl 9357 2012-05-12 23:36:14Z bobstayton $ - ******************************************************************** - - 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. - - ******************************************************************** --> - -<!-- ==================================================================== --> - -<!-- synopsis is in verbatim --> - -<!-- ==================================================================== --> - -<xsl:template match="cmdsynopsis"> - <div> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <p> - <xsl:call-template name="id.attribute"> - <xsl:with-param name="conditional" select="0"/> - </xsl:call-template> - <xsl:if test="..//processing-instruction('dbcmdlist')"> - <!-- * Placing a dbcmdlist PI as a child of a particular element --> - <!-- * creates a hyperlinked list of all cmdsynopsis instances --> - <!-- * that are descendants of that element; so for any --> - <!-- * cmdsynopsis that is a descendant of an element containing --> - <!-- * a dbcmdlist PI, we need to output an a@id instance so that --> - <!-- * we will have something to link to --> - <xsl:call-template name="anchor"> - <xsl:with-param name="conditional" select="0"/> - </xsl:call-template> - </xsl:if> - <xsl:apply-templates/> - </p> - </div> -</xsl:template> - -<xsl:template match="cmdsynopsis/command"> - <xsl:text> -. -</xsl:text> - <xsl:call-template name="inline.monoseq"/> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="cmdsynopsis/command[1]" priority="2"> - <xsl:call-template name="inline.monoseq"/> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="group|arg" name="group-or-arg"> - <xsl:variable name="choice" select="@choice"/> - <xsl:variable name="rep" select="@rep"/> - <xsl:variable name="sepchar"> - <xsl:choose> - <xsl:when test="ancestor-or-self::*/@sepchar"> - <xsl:value-of select="ancestor-or-self::*/@sepchar"/> - </xsl:when> - <xsl:otherwise> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:if test="preceding-sibling::*"> - <xsl:value-of select="$sepchar"/> - </xsl:if> - <xsl:choose> - <xsl:when test="$choice='plain'"> - <xsl:value-of select="$arg.choice.plain.open.str"/> - </xsl:when> - <xsl:when test="$choice='req'"> - <xsl:value-of select="$arg.choice.req.open.str"/> - </xsl:when> - <xsl:when test="$choice='opt'"> - <xsl:value-of select="$arg.choice.opt.open.str"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$arg.choice.def.open.str"/> - </xsl:otherwise> - </xsl:choose> - <xsl:apply-templates/> - <xsl:choose> - <xsl:when test="$rep='repeat'"> - <xsl:value-of select="$arg.rep.repeat.str"/> - </xsl:when> - <xsl:when test="$rep='norepeat'"> - <xsl:value-of select="$arg.rep.norepeat.str"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$arg.rep.def.str"/> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="$choice='plain'"> - <xsl:value-of select="$arg.choice.plain.close.str"/> - </xsl:when> - <xsl:when test="$choice='req'"> - <xsl:value-of select="$arg.choice.req.close.str"/> - </xsl:when> - <xsl:when test="$choice='opt'"> - <xsl:value-of select="$arg.choice.opt.close.str"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$arg.choice.def.close.str"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="group/arg"> - <xsl:variable name="choice" select="@choice"/> - <xsl:variable name="rep" select="@rep"/> - <xsl:if test="preceding-sibling::*"> - <xsl:value-of select="$arg.or.sep"/> - </xsl:if> - <xsl:call-template name="group-or-arg"/> -</xsl:template> - -<xsl:template match="sbr"> - <xsl:text> -. -</xsl:text> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template match="synopfragmentref"> - <xsl:variable name="target" select="key('id',@linkend)"/> - <xsl:variable name="snum"> - <xsl:apply-templates select="$target" mode="synopfragment.number"/> - </xsl:variable> - <i> - <a href="#{@linkend}"> - <xsl:text>(</xsl:text> - <xsl:value-of select="$snum"/> - <xsl:text>)</xsl:text> - </a> - <xsl:text> </xsl:text> - <xsl:apply-templates/> - </i> -</xsl:template> - -<xsl:template match="synopfragment" mode="synopfragment.number"> - <xsl:number format="1"/> -</xsl:template> - -<xsl:template match="synopfragment"> - <xsl:variable name="snum"> - <xsl:apply-templates select="." mode="synopfragment.number"/> - </xsl:variable> - <!-- You can't introduce another <p> here, because you're - already in a <p> from cmdsynopsis--> - <span> - <xsl:variable name="id"> - <xsl:call-template name="object.id"/> - </xsl:variable> - <a name="{$id}"> - <xsl:text>(</xsl:text> - <xsl:value-of select="$snum"/> - <xsl:text>)</xsl:text> - </a> - <xsl:text> </xsl:text> - <xsl:apply-templates/> - </span> -</xsl:template> - -<xsl:template match="funcsynopsis"> - <xsl:if test="..//processing-instruction('dbfunclist')"> - <!-- * Placing a dbfunclist PI as a child of a particular element --> - <!-- * creates a hyperlinked list of all funcsynopsis instances that --> - <!-- * are descendants of that element; so for any funcsynopsis that is --> - <!-- * a descendant of an element containing a dbfunclist PI, we need --> - <!-- * to output an a@id instance so that we will have something to --> - <!-- * link to --> - <span> - <xsl:call-template name="id.attribute"> - <xsl:with-param name="conditional" select="0"/> - </xsl:call-template> - </span> - <xsl:call-template name="anchor"> - <xsl:with-param name="conditional" select="0"/> - </xsl:call-template> - </xsl:if> - <xsl:call-template name="informal.object"/> -</xsl:template> - -<xsl:template match="funcsynopsisinfo"> - <xsl:text>.sp -</xsl:text><xsl:text>.nf -</xsl:text><pre> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates/> - </pre><xsl:text/><xsl:text>.fi -</xsl:text> -</xsl:template> - -<!-- ====================================================================== --> -<!-- funcprototype --> -<!-- - -funcprototype ::= (funcdef, - (void|varargs|paramdef+)) - -funcdef ::= (#PCDATA|type|replaceable|function)* - -paramdef ::= (#PCDATA|type|replaceable|parameter|funcparams)* ---> - -<xsl:template match="funcprototype"> - <xsl:variable name="html-style"> - <xsl:call-template name="pi.dbhtml_funcsynopsis-style"> - <xsl:with-param name="node" select="ancestor::funcsynopsis/descendant-or-self::*"/> - </xsl:call-template> - </xsl:variable> - - <xsl:variable name="style"> - <xsl:choose> - <xsl:when test="$html-style != ''"> - <xsl:value-of select="$html-style"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$funcsynopsis.style"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - -<!-- * 2008-02-17. the code no longer relies on the funcsynopsis.tabular.threshold --> -<!-- * param at all (the stuff below has been commented out since mid --> -<!-- * 2006), so I completely removed the funcsynopsis.tabular.threshold param --> -<!-- * .. MikeSmith --> -<!-- - <xsl:variable name="tabular-p" - select="$funcsynopsis.tabular.threshold > 0 - and string-length(.) > $funcsynopsis.tabular.threshold"/> ---> - - <xsl:variable name="tabular-p" select="true()"/> - - <xsl:choose> - <xsl:when test="$style = 'kr' and $tabular-p"> - <xsl:apply-templates select="." mode="kr-tabular"/> - </xsl:when> - <xsl:when test="$style = 'kr'"> - <xsl:apply-templates select="." mode="kr-nontabular"/> - </xsl:when> - <xsl:when test="$style = 'ansi' and $tabular-p"> - <xsl:apply-templates select="." mode="ansi-tabular"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select="." mode="ansi-nontabular"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ====================================================================== --> -<!-- funcprototype: kr, non-tabular --> - -<xsl:template match="funcprototype" mode="kr-nontabular"> - <p> - <xsl:apply-templates mode="kr-nontabular"/> - <xsl:if test="paramdef"> - <xsl:text> -. -</xsl:text> - <xsl:apply-templates select="paramdef" mode="kr-funcsynopsis-mode"/> - </xsl:if> - </p> -</xsl:template> - -<xsl:template match="funcdef" mode="kr-nontabular"> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="kr-nontabular"/> - <xsl:text>(</xsl:text> - </code> -</xsl:template> - -<xsl:template match="funcdef/function" mode="kr-nontabular"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <b class="fsfunc"><xsl:apply-templates mode="kr-nontabular"/></b> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="kr-nontabular"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="void" mode="kr-nontabular"> - <code>)</code> - <xsl:text>;</xsl:text> -</xsl:template> - -<xsl:template match="varargs" mode="kr-nontabular"> - <xsl:text>...</xsl:text> - <code>)</code> - <xsl:text>;</xsl:text> -</xsl:template> - -<xsl:template match="paramdef" mode="kr-nontabular"> - <xsl:apply-templates select="parameter" mode="kr-nontabular"/> - <xsl:choose> - <xsl:when test="following-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:when> - <xsl:otherwise> - <code>)</code> - <xsl:text>;</xsl:text> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="paramdef/parameter" mode="kr-nontabular"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <var class="pdparam"> - <xsl:apply-templates mode="kr-nontabular"/> - </var> - </xsl:when> - <xsl:otherwise> - <code> - <xsl:apply-templates mode="kr-nontabular"/> - </code> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="paramdef" mode="kr-funcsynopsis-mode"> - <xsl:if test="preceding-sibling::paramdef"><xsl:text> -. -</xsl:text></xsl:if> - <code> - <xsl:apply-templates mode="kr-funcsynopsis-mode"/> - </code> - <xsl:text>;</xsl:text> -</xsl:template> - -<xsl:template match="paramdef/parameter" mode="kr-funcsynopsis-mode"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <var class="pdparam"> - <xsl:apply-templates mode="kr-funcsynopsis-mode"/> - </var> - </xsl:when> - <xsl:otherwise> - <code> - <xsl:apply-templates mode="kr-funcsynopsis-mode"/> - </code> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="funcparams" mode="kr-funcsynopsis-mode"> - <code>(</code> - <xsl:apply-templates mode="kr-funcsynopsis-mode"/> - <code>)</code> -</xsl:template> - -<!-- ====================================================================== --> -<!-- funcprototype: kr, tabular --> - -<xsl:template match="funcprototype" mode="kr-tabular"> - <table border="{$table.border.off}" class="funcprototype-table"> - <xsl:if test="$div.element != 'section'"> - <xsl:attribute name="summary">Function synopsis</xsl:attribute> - </xsl:if> - <xsl:if test="$css.decoration != 0"> - <xsl:attribute name="style">cellspacing: 0; cellpadding: 0;</xsl:attribute> - </xsl:if> - <tr> - <td> - <xsl:apply-templates select="funcdef" mode="kr-tabular"/> - </td> - <xsl:apply-templates select="(void|varargs|paramdef)[1]" mode="kr-tabular"/> - </tr> - <xsl:for-each select="(void|varargs|paramdef)[preceding-sibling::*[not(self::funcdef)]]"> - <tr> - <td> </td> - <xsl:apply-templates select="." mode="kr-tabular"/> - </tr> - </xsl:for-each> - </table> - <xsl:if test="paramdef"> - <div class="paramdef-list"> - <xsl:apply-templates select="paramdef" mode="kr-funcsynopsis-mode"/> - </div> - </xsl:if> - <div class="funcprototype-spacer"> </div> <!-- hACk: blank div for vertical spacing --> -</xsl:template> - -<xsl:template match="funcdef" mode="kr-tabular"> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="kr-tabular"/> - <xsl:text>(</xsl:text> - </code> -</xsl:template> - -<xsl:template match="funcdef/function" mode="kr-tabular"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <b class="fsfunc"><xsl:apply-templates mode="kr-nontabular"/></b> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="kr-tabular"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="void" mode="kr-tabular"> - <td> - <code>)</code> - <xsl:text>;</xsl:text> - </td> - <td> </td> -</xsl:template> - -<xsl:template match="varargs" mode="kr-tabular"> - <td> - <xsl:text>...</xsl:text> - <code>)</code> - <xsl:text>;</xsl:text> - </td> - <td> </td> -</xsl:template> - -<xsl:template match="paramdef" mode="kr-tabular"> - <td> - <xsl:apply-templates select="parameter" mode="kr-tabular"/> - <xsl:choose> - <xsl:when test="following-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:when> - <xsl:otherwise> - <code>)</code> - <xsl:text>;</xsl:text> - </xsl:otherwise> - </xsl:choose> - </td> - <td> </td> -</xsl:template> - -<xsl:template match="paramdef/parameter" mode="kr-tabular"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <var class="pdparam"> - <xsl:apply-templates mode="kr-tabular"/> - </var> - </xsl:when> - <xsl:otherwise> - <code> - <xsl:apply-templates mode="kr-tabular"/> - </code> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="paramdef" mode="kr-tabular-funcsynopsis-mode"> - <xsl:variable name="type"> - <xsl:choose> - <xsl:when test="type"> - <xsl:apply-templates select="type" mode="kr-tabular-funcsynopsis-mode"/> - </xsl:when> - <xsl:when test="normalize-space(parameter/preceding-sibling::node()[not(self::parameter)]) != ''"> - <xsl:copy-of select="parameter/preceding-sibling::node()[not(self::parameter)]"/> - </xsl:when> - </xsl:choose> - </xsl:variable> - - <tr> - <xsl:choose> - <xsl:when test="$type != '' and funcparams"> - <td> - <code> - <xsl:copy-of select="$type"/> - </code> - <xsl:text> </xsl:text> - </td> - <td> - <code> - <xsl:choose> - <xsl:when test="type"> - <xsl:apply-templates select="type/following-sibling::*" mode="kr-tabular-funcsynopsis-mode"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select="*" mode="kr-tabular-funcsynopsis-mode"/> - </xsl:otherwise> - </xsl:choose> - </code> - </td> - </xsl:when> - - <xsl:when test="funcparams"> - <td colspan="2"> - <code> - <xsl:apply-templates mode="kr-tabular-funcsynopsis-mode"/> - </code> - </td> - </xsl:when> - - <xsl:otherwise> - <td> - <code> - <xsl:apply-templates select="parameter/preceding-sibling::node()[not(self::parameter)]" mode="kr-tabular-funcsynopsis-mode"/> - </code> - <xsl:text> </xsl:text> - </td> - <td> - <code> - <xsl:apply-templates select="parameter" mode="kr-tabular"/> - <xsl:apply-templates select="parameter/following-sibling::*[not(self::parameter)]" mode="kr-tabular-funcsynopsis-mode"/> - <xsl:text>;</xsl:text> - </code> - </td> - </xsl:otherwise> - </xsl:choose> - </tr> -</xsl:template> - -<xsl:template match="paramdef/parameter" mode="kr-tabular-funcsynopsis-mode"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <var class="pdparam"> - <xsl:apply-templates mode="kr-tabular-funcsynopsis-mode"/> - </var> - </xsl:when> - <xsl:otherwise> - <code> - <xsl:apply-templates mode="kr-tabular-funcsynopsis-mode"/> - </code> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="funcparams" mode="kr-tabular-funcsynopsis-mode"> - <code>(</code> - <xsl:apply-templates mode="kr-tabular-funcsynopsis-mode"/> - <code>)</code> - <xsl:text>;</xsl:text> -</xsl:template> - -<!-- ====================================================================== --> -<!-- funcprototype: ansi, non-tabular --> - -<xsl:template match="funcprototype" mode="ansi-nontabular"> - <p> - <xsl:apply-templates mode="ansi-nontabular"/> - </p> -</xsl:template> - -<xsl:template match="funcdef" mode="ansi-nontabular"> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="ansi-nontabular"/> - <xsl:text>(</xsl:text> - </code> -</xsl:template> - -<xsl:template match="funcdef/function" mode="ansi-nontabular"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <b class="fsfunc"><xsl:apply-templates mode="ansi-nontabular"/></b> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="ansi-nontabular"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="void" mode="ansi-nontabular"> - <code>void)</code> - <xsl:text>;</xsl:text> -</xsl:template> - -<xsl:template match="varargs" mode="ansi-nontabular"> - <xsl:text>...</xsl:text> - <code>)</code> - <xsl:text>;</xsl:text> -</xsl:template> - -<xsl:template match="paramdef" mode="ansi-nontabular"> - <xsl:apply-templates mode="ansi-nontabular"/> - <xsl:choose> - <xsl:when test="following-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:when> - <xsl:otherwise> - <code>)</code> - <xsl:text>;</xsl:text> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="paramdef/parameter" mode="ansi-nontabular"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <var class="pdparam"> - <xsl:apply-templates mode="ansi-nontabular"/> - </var> - </xsl:when> - <xsl:otherwise> - <code> - <xsl:apply-templates mode="ansi-nontabular"/> - </code> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="funcparams" mode="ansi-nontabular"> - <code>(</code> - <xsl:apply-templates mode="ansi-nontabular"/> - <code>)</code> -</xsl:template> - -<!-- ====================================================================== --> -<!-- funcprototype: ansi, tabular --> - -<xsl:template match="funcprototype" mode="ansi-tabular"> - <table border="{$table.border.off}" class="funcprototype-table"> - <xsl:if test="$div.element != 'section'"> - <xsl:attribute name="summary">Function synopsis</xsl:attribute> - </xsl:if> - <xsl:if test="$css.decoration != 0"> - <xsl:attribute name="style">cellspacing: 0; cellpadding: 0;</xsl:attribute> - </xsl:if> - <tr> - <td> - <xsl:apply-templates select="funcdef" mode="ansi-tabular"/> - </td> - <xsl:apply-templates select="(void|varargs|paramdef)[1]" mode="ansi-tabular"/> - </tr> - <xsl:for-each select="(void|varargs|paramdef)[preceding-sibling::*[not(self::funcdef)]]"> - <tr> - <td> </td> - <xsl:apply-templates select="." mode="ansi-tabular"/> - </tr> - </xsl:for-each> - </table> - <div class="funcprototype-spacer"> </div> <!-- hACk: blank div for vertical spacing --> -</xsl:template> - -<xsl:template match="funcdef" mode="ansi-tabular"> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="ansi-tabular"/> - <xsl:text>(</xsl:text> - </code> -</xsl:template> - -<xsl:template match="funcdef/function" mode="ansi-tabular"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <b class="fsfunc"><xsl:apply-templates mode="ansi-nontabular"/></b> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="kr-tabular"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="void" mode="ansi-tabular"> - <td> - <code>void)</code> - <xsl:text>;</xsl:text> - </td> - <td> </td> -</xsl:template> - -<xsl:template match="varargs" mode="ansi-tabular"> - <td> - <xsl:text>...</xsl:text> - <code>)</code> - <xsl:text>;</xsl:text> - </td> - <td> </td> -</xsl:template> - -<xsl:template match="paramdef" mode="ansi-tabular"> - <td> - <xsl:apply-templates mode="ansi-tabular"/> - <xsl:choose> - <xsl:when test="following-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:when> - <xsl:otherwise> - <code>)</code> - <xsl:text>;</xsl:text> - </xsl:otherwise> - </xsl:choose> - </td> -</xsl:template> - -<xsl:template match="paramdef/parameter" mode="ansi-tabular"> - <xsl:choose> - <xsl:when test="$funcsynopsis.decoration != 0"> - <var class="pdparam"> - <xsl:apply-templates mode="ansi-tabular"/> - </var> - </xsl:when> - <xsl:otherwise> - <code> - <xsl:apply-templates mode="ansi-tabular"/> - </code> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="funcparams" mode="ansi-tabular"> - <code>(</code> - <xsl:apply-templates/> - <code>)</code> -</xsl:template> - -<!-- ====================================================================== --> - -<xsl:variable name="default-classsynopsis-language">java</xsl:variable> - -<xsl:template match="classsynopsis |fieldsynopsis |methodsynopsis |constructorsynopsis |destructorsynopsis"> - <xsl:param name="language"> - <xsl:choose> - <xsl:when test="@language"> - <xsl:value-of select="@language"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$default-classsynopsis-language"/> - </xsl:otherwise> - </xsl:choose> - </xsl:param> - - <xsl:choose> - <xsl:when test="$language='java' or $language='Java'"> - <xsl:apply-templates select="." mode="java"/> - </xsl:when> - <xsl:when test="$language='perl' or $language='Perl'"> - <xsl:apply-templates select="." mode="perl"/> - </xsl:when> - <xsl:when test="$language='idl' or $language='IDL'"> - <xsl:apply-templates select="." mode="idl"/> - </xsl:when> - <xsl:when test="$language='cpp' or $language='c++' or $language='C++'"> - <xsl:apply-templates select="." mode="cpp"/> - </xsl:when> - <xsl:otherwise> - <xsl:message> - <xsl:text>Unrecognized language on </xsl:text> - <xsl:value-of select="local-name(.)"/> - <xsl:text>: </xsl:text> - <xsl:value-of select="$language"/> - </xsl:message> - <xsl:apply-templates select="."> - <xsl:with-param name="language" select="$default-classsynopsis-language"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="synop-break"> - <xsl:if test="parent::classsynopsis or (following-sibling::fieldsynopsis |following-sibling::methodsynopsis |following-sibling::constructorsynopsis |following-sibling::destructorsynopsis)"> - <xsl:text> -. -</xsl:text> - </xsl:if> -</xsl:template> - - -<!-- ===== Java ======================================================== --> - -<xsl:template match="classsynopsis" mode="java"> - <xsl:text>.sp -</xsl:text><xsl:text>.nf -</xsl:text><pre> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates select="ooclass[1]" mode="java"/> - <xsl:if test="ooclass[preceding-sibling::*]"> - <xsl:text> extends</xsl:text> - <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="java"/> - <xsl:if test="oointerface|ooexception"> - <xsl:text> -. -</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - <xsl:if test="oointerface"> - <xsl:text>implements</xsl:text> - <xsl:apply-templates select="oointerface" mode="java"/> - <xsl:if test="ooexception"> - <xsl:text> -. -</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - <xsl:if test="ooexception"> - <xsl:text>throws</xsl:text> - <xsl:apply-templates select="ooexception" mode="java"/> - </xsl:if> - <xsl:text> {</xsl:text> - <xsl:text> -. -</xsl:text> - <xsl:apply-templates select="constructorsynopsis |destructorsynopsis |fieldsynopsis |methodsynopsis |classsynopsisinfo" mode="java"/> - <xsl:text>}</xsl:text> - </pre><xsl:text/><xsl:text>.fi -</xsl:text> -</xsl:template> - -<xsl:template match="classsynopsisinfo" mode="java"> - <xsl:apply-templates mode="java"/> -</xsl:template> - -<xsl:template match="ooclass|oointerface|ooexception" mode="java"> - <xsl:choose> - <xsl:when test="preceding-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - </span> -</xsl:template> - -<xsl:template match="modifier|package" mode="java"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - <xsl:if test="following-sibling::*"> - <xsl:text> </xsl:text> - </xsl:if> - </span> -</xsl:template> - -<xsl:template match="classname" mode="java"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - </span> -</xsl:template> - -<xsl:template match="interfacename" mode="java"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - </span> -</xsl:template> - -<xsl:template match="exceptionname" mode="java"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - </span> -</xsl:template> - -<xsl:template match="fieldsynopsis" mode="java"> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:if test="parent::classsynopsis"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates mode="java"/> - <xsl:text>;</xsl:text> - </code> - <xsl:call-template name="synop-break"/> -</xsl:template> - -<xsl:template match="type" mode="java"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - <xsl:text> </xsl:text> - </span> -</xsl:template> - -<xsl:template match="varname" mode="java"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - <xsl:text> </xsl:text> - </span> -</xsl:template> - -<xsl:template match="initializer" mode="java"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>= </xsl:text> - <xsl:apply-templates mode="java"/> - </span> -</xsl:template> - -<xsl:template match="void" mode="java"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>void </xsl:text> - </span> -</xsl:template> - -<xsl:template match="methodname" mode="java"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - </span> -</xsl:template> - -<xsl:template match="methodparam" mode="java"> - <xsl:param name="indent">0</xsl:param> - <xsl:if test="preceding-sibling::methodparam"> - <xsl:text>,</xsl:text> - <xsl:text> -. -</xsl:text> - <xsl:if test="$indent > 0"> - <xsl:call-template name="copy-string"> - <xsl:with-param name="string"> </xsl:with-param> - <xsl:with-param name="count" select="$indent + 1"/> - </xsl:call-template> - </xsl:if> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - </span> -</xsl:template> - -<xsl:template match="parameter" mode="java"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="java"/> - </span> -</xsl:template> - -<xsl:template mode="java" match="constructorsynopsis|destructorsynopsis|methodsynopsis"> - <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/> - <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/> - <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/> - <xsl:variable name="decl"> - <xsl:if test="parent::classsynopsis"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates select="$start-modifiers" mode="java"/> - - <!-- type --> - <xsl:if test="local-name($notmod[1]) != 'methodname'"> - <xsl:apply-templates select="$notmod[1]" mode="java"/> - </xsl:if> - - <xsl:apply-templates select="methodname" mode="java"/> - </xsl:variable> - - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:copy-of select="$decl"/> - <xsl:text>(</xsl:text> - <xsl:apply-templates select="methodparam" mode="java"> - <xsl:with-param name="indent" select="string-length($decl)"/> - </xsl:apply-templates> - <xsl:text>)</xsl:text> - <xsl:if test="exceptionname"> - <xsl:text> -. -</xsl:text> - <xsl:text> throws </xsl:text> - <xsl:apply-templates select="exceptionname" mode="java"/> - </xsl:if> - <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"> - <xsl:text> </xsl:text> - <xsl:apply-templates select="$end-modifiers" mode="java"/> - </xsl:if> - <xsl:text>;</xsl:text> - </code> - <xsl:call-template name="synop-break"/> -</xsl:template> - -<!-- ===== C++ ========================================================= --> - -<xsl:template match="classsynopsis" mode="cpp"> - <xsl:text>.sp -</xsl:text><xsl:text>.nf -</xsl:text><pre> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates select="ooclass[1]" mode="cpp"/> - <xsl:if test="ooclass[preceding-sibling::*]"> - <xsl:text>: </xsl:text> - <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="cpp"/> - <xsl:if test="oointerface|ooexception"> - <xsl:text> -. -</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - <xsl:if test="oointerface"> - <xsl:text> implements</xsl:text> - <xsl:apply-templates select="oointerface" mode="cpp"/> - <xsl:if test="ooexception"> - <xsl:text> -. -</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - <xsl:if test="ooexception"> - <xsl:text> throws</xsl:text> - <xsl:apply-templates select="ooexception" mode="cpp"/> - </xsl:if> - <xsl:text> {</xsl:text> - <xsl:text> -. -</xsl:text> - <xsl:apply-templates select="constructorsynopsis |destructorsynopsis |fieldsynopsis |methodsynopsis |classsynopsisinfo" mode="cpp"/> - <xsl:text>}</xsl:text> - </pre><xsl:text/><xsl:text>.fi -</xsl:text> -</xsl:template> - -<xsl:template match="classsynopsisinfo" mode="cpp"> - <xsl:apply-templates mode="cpp"/> -</xsl:template> - -<xsl:template match="ooclass|oointerface|ooexception" mode="cpp"> - <xsl:if test="preceding-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - </span> -</xsl:template> - -<xsl:template match="modifier|package" mode="cpp"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - <xsl:if test="following-sibling::*"> - <xsl:text> </xsl:text> - </xsl:if> - </span> -</xsl:template> - -<xsl:template match="classname" mode="cpp"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - </span> -</xsl:template> - -<xsl:template match="interfacename" mode="cpp"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - </span> -</xsl:template> - -<xsl:template match="exceptionname" mode="cpp"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - </span> -</xsl:template> - -<xsl:template match="fieldsynopsis" mode="cpp"> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:if test="parent::classsynopsis"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates mode="cpp"/> - <xsl:text>;</xsl:text> - </code> - <xsl:call-template name="synop-break"/> -</xsl:template> - -<xsl:template match="type" mode="cpp"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - <xsl:text> </xsl:text> - </span> -</xsl:template> - -<xsl:template match="varname" mode="cpp"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - <xsl:text> </xsl:text> - </span> -</xsl:template> - -<xsl:template match="initializer" mode="cpp"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>= </xsl:text> - <xsl:apply-templates mode="cpp"/> - </span> -</xsl:template> - -<xsl:template match="void" mode="cpp"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>void </xsl:text> - </span> -</xsl:template> - -<xsl:template match="methodname" mode="cpp"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - </span> -</xsl:template> - -<xsl:template match="methodparam" mode="cpp"> - <xsl:if test="preceding-sibling::methodparam"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - </span> -</xsl:template> - -<xsl:template match="parameter" mode="cpp"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="cpp"/> - </span> -</xsl:template> - -<xsl:template mode="cpp" match="constructorsynopsis|destructorsynopsis|methodsynopsis"> - <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/> - <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/> - <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/> - - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:if test="parent::classsynopsis"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates select="$start-modifiers" mode="cpp"/> - - <!-- type --> - <xsl:if test="local-name($notmod[1]) != 'methodname'"> - <xsl:apply-templates select="$notmod[1]" mode="cpp"/> - </xsl:if> - - <xsl:apply-templates select="methodname" mode="cpp"/> - <xsl:text>(</xsl:text> - <xsl:apply-templates select="methodparam" mode="cpp"/> - <xsl:text>)</xsl:text> - <xsl:if test="exceptionname"> - <xsl:text> -. -</xsl:text> - <xsl:text> throws </xsl:text> - <xsl:apply-templates select="exceptionname" mode="cpp"/> - </xsl:if> - <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"> - <xsl:text> </xsl:text> - <xsl:apply-templates select="$end-modifiers" mode="cpp"/> - </xsl:if> - <xsl:text>;</xsl:text> - </code> - <xsl:call-template name="synop-break"/> -</xsl:template> - -<!-- ===== IDL ========================================================= --> - -<xsl:template match="classsynopsis" mode="idl"> - <xsl:text>.sp -</xsl:text><xsl:text>.nf -</xsl:text><pre> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>interface </xsl:text> - <xsl:apply-templates select="ooclass[1]" mode="idl"/> - <xsl:if test="ooclass[preceding-sibling::*]"> - <xsl:text>: </xsl:text> - <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="idl"/> - <xsl:if test="oointerface|ooexception"> - <xsl:text> -. -</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - <xsl:if test="oointerface"> - <xsl:text> implements</xsl:text> - <xsl:apply-templates select="oointerface" mode="idl"/> - <xsl:if test="ooexception"> - <xsl:text> -. -</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - <xsl:if test="ooexception"> - <xsl:text> throws</xsl:text> - <xsl:apply-templates select="ooexception" mode="idl"/> - </xsl:if> - <xsl:text> {</xsl:text> - <xsl:text> -. -</xsl:text> - <xsl:apply-templates select="constructorsynopsis |destructorsynopsis |fieldsynopsis |methodsynopsis |classsynopsisinfo" mode="idl"/> - <xsl:text>}</xsl:text> - </pre><xsl:text/><xsl:text>.fi -</xsl:text> -</xsl:template> - -<xsl:template match="classsynopsisinfo" mode="idl"> - <xsl:apply-templates mode="idl"/> -</xsl:template> - -<xsl:template match="ooclass|oointerface|ooexception" mode="idl"> - <xsl:if test="preceding-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - </span> -</xsl:template> - -<xsl:template match="modifier|package" mode="idl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - <xsl:if test="following-sibling::*"> - <xsl:text> </xsl:text> - </xsl:if> - </span> -</xsl:template> - -<xsl:template match="classname" mode="idl"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - </span> -</xsl:template> - -<xsl:template match="interfacename" mode="idl"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - </span> -</xsl:template> - -<xsl:template match="exceptionname" mode="idl"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - </span> -</xsl:template> - -<xsl:template match="fieldsynopsis" mode="idl"> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:if test="parent::classsynopsis"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates mode="idl"/> - <xsl:text>;</xsl:text> - </code> - <xsl:call-template name="synop-break"/> -</xsl:template> - -<xsl:template match="type" mode="idl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - <xsl:text> </xsl:text> - </span> -</xsl:template> - -<xsl:template match="varname" mode="idl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - <xsl:text> </xsl:text> - </span> -</xsl:template> - -<xsl:template match="initializer" mode="idl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>= </xsl:text> - <xsl:apply-templates mode="idl"/> - </span> -</xsl:template> - -<xsl:template match="void" mode="idl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>void </xsl:text> - </span> -</xsl:template> - -<xsl:template match="methodname" mode="idl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - </span> -</xsl:template> - -<xsl:template match="methodparam" mode="idl"> - <xsl:if test="preceding-sibling::methodparam"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - </span> -</xsl:template> - -<xsl:template match="parameter" mode="idl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="idl"/> - </span> -</xsl:template> - -<xsl:template mode="idl" match="constructorsynopsis|destructorsynopsis|methodsynopsis"> - <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/> - <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/> - <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:if test="parent::classsynopsis"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates select="$start-modifiers" mode="idl"/> - - <!-- type --> - <xsl:if test="local-name($notmod[1]) != 'methodname'"> - <xsl:apply-templates select="$notmod[1]" mode="idl"/> - </xsl:if> - - <xsl:apply-templates select="methodname" mode="idl"/> - <xsl:text>(</xsl:text> - <xsl:apply-templates select="methodparam" mode="idl"/> - <xsl:text>)</xsl:text> - <xsl:if test="exceptionname"> - <xsl:text> -. -</xsl:text> - <xsl:text> raises(</xsl:text> - <xsl:apply-templates select="exceptionname" mode="idl"/> - <xsl:text>)</xsl:text> - </xsl:if> - <xsl:if test="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"> - <xsl:text> </xsl:text> - <xsl:apply-templates select="$end-modifiers" mode="idl"/> - </xsl:if> - <xsl:text>;</xsl:text> - </code> - <xsl:call-template name="synop-break"/> -</xsl:template> - -<!-- ===== Perl ======================================================== --> - -<xsl:template match="classsynopsis" mode="perl"> - <xsl:text>.sp -</xsl:text><xsl:text>.nf -</xsl:text><pre> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>package </xsl:text> - <xsl:apply-templates select="ooclass[1]" mode="perl"/> - <xsl:text>;</xsl:text> - <xsl:text> -. -</xsl:text> - - <xsl:if test="ooclass[preceding-sibling::*]"> - <xsl:text>@ISA = (</xsl:text> - <xsl:apply-templates select="ooclass[preceding-sibling::*]" mode="perl"/> - <xsl:text>);</xsl:text> - <xsl:text> -. -</xsl:text> - </xsl:if> - - <xsl:apply-templates select="constructorsynopsis |destructorsynopsis |fieldsynopsis |methodsynopsis |classsynopsisinfo" mode="perl"/> - </pre><xsl:text/><xsl:text>.fi -</xsl:text> -</xsl:template> - -<xsl:template match="classsynopsisinfo" mode="perl"> - <xsl:apply-templates mode="perl"/> -</xsl:template> - -<xsl:template match="ooclass|oointerface|ooexception" mode="perl"> - <xsl:if test="preceding-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - </span> -</xsl:template> - -<xsl:template match="modifier|package" mode="perl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - <xsl:if test="following-sibling::*"> - <xsl:text> </xsl:text> - </xsl:if> - </span> -</xsl:template> - -<xsl:template match="classname" mode="perl"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'classname'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - </span> -</xsl:template> - -<xsl:template match="interfacename" mode="perl"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'interfacename'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - </span> -</xsl:template> - -<xsl:template match="exceptionname" mode="perl"> - <xsl:if test="local-name(preceding-sibling::*[1]) = 'exceptionname'"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - </span> -</xsl:template> - -<xsl:template match="fieldsynopsis" mode="perl"> - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:if test="parent::classsynopsis"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates mode="perl"/> - <xsl:text>;</xsl:text> - </code> - <xsl:call-template name="synop-break"/> -</xsl:template> - -<xsl:template match="type" mode="perl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - <xsl:text> </xsl:text> - </span> -</xsl:template> - -<xsl:template match="varname" mode="perl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - <xsl:text> </xsl:text> - </span> -</xsl:template> - -<xsl:template match="initializer" mode="perl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>= </xsl:text> - <xsl:apply-templates mode="perl"/> - </span> -</xsl:template> - -<xsl:template match="void" mode="perl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>void </xsl:text> - </span> -</xsl:template> - -<xsl:template match="methodname" mode="perl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - </span> -</xsl:template> - -<xsl:template match="methodparam" mode="perl"> - <xsl:if test="preceding-sibling::methodparam"> - <xsl:text>, </xsl:text> - </xsl:if> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - </span> -</xsl:template> - -<xsl:template match="parameter" mode="perl"> - <span> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:apply-templates mode="perl"/> - </span> -</xsl:template> - -<xsl:template mode="perl" match="constructorsynopsis|destructorsynopsis|methodsynopsis"> - <xsl:variable name="start-modifiers" select="modifier[following-sibling::*[local-name(.) != 'modifier']]"/> - <xsl:variable name="notmod" select="*[local-name(.) != 'modifier']"/> - <xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/> - - <code> - <xsl:apply-templates select="." mode="common.html.attributes"/> - <xsl:call-template name="id.attribute"/> - <xsl:text>sub </xsl:text> - - <xsl:apply-templates select="methodname" mode="perl"/> - <xsl:text> { ... };</xsl:text> - </code> - <xsl:call-template name="synop-break"/> -</xsl:template> - -<!-- Used when not occurring as a child of classsynopsis --> -<xsl:template match="ooclass|oointerface|ooexception"> - <xsl:apply-templates/> -</xsl:template> - -<!-- ==================================================================== --> - -<!-- * DocBook 5 allows linking elements (link, olink, and xref) --> -<!-- * within the OO *synopsis elements (classsynopsis, fieldsynopsis, --> -<!-- * methodsynopsis, constructorsynopsis, destructorsynopsis) and --> -<!-- * their children. So we need to have mode="java|cpp|idl|perl" --> -<!-- * per-mode matches for those linking elements in order for them --> -<!-- * to be processed as expected. --> - -<xsl:template match="link|olink|xref" mode="java"> - <xsl:apply-templates select="."/> -</xsl:template> - -<xsl:template match="link|olink|xref" mode="cpp"> - <xsl:apply-templates select="."/> -</xsl:template> - -<xsl:template match="link|olink|xref" mode="idl"> - <xsl:apply-templates select="."/> -</xsl:template> - -<xsl:template match="link|olink|xref" mode="perl"> - <xsl:apply-templates select="."/> -</xsl:template> - -<xsl:template match="link|olink|xref" mode="ansi-nontabular"> - <xsl:apply-templates select="."/> -</xsl:template> - -<xsl:template match="link|olink|xref" mode="ansi-tabular"> - <xsl:apply-templates select="."/> -</xsl:template> - -<xsl:template match="link|olink|xref" mode="kr-nontabular"> - <xsl:apply-templates select="."/> -</xsl:template> - -<xsl:template match="link|olink|xref" mode="kr-tabular"> - <xsl:apply-templates select="."/> -</xsl:template> - -</xsl:stylesheet> - diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/info.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/info.xsl deleted file mode 100644 index 6698fb991..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/info.xsl +++ /dev/null @@ -1,800 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:date="http://exslt.org/dates-and-times" - xmlns:exsl="http://exslt.org/common" - exclude-result-prefixes="date exsl" - version='1.0'> - -<!-- ******************************************************************** - $Id: info.xsl 7883 2008-03-08 17:59:39Z 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:variable name="blurb-indent"> - <xsl:choose> - <xsl:when test="not($man.indent.blurbs = 0)"> - <xsl:value-of select="$man.indent.width"/> - </xsl:when> - <xsl:when test="not($man.indent.refsect = 0)"> - <!-- * "zq" is the name of a register we set for --> - <!-- * preserving the original default indent value --> - <!-- * when $man.indent.refsect is non-zero; --> - <!-- * "u" is a roff unit specifier --> - <xsl:text>\n(zqu</xsl:text> - </xsl:when> - <xsl:otherwise/> <!-- * otherwise, just leave it empty --> - </xsl:choose> - </xsl:variable> - - <!-- ================================================================== --> - <!-- * About the $info param used in this stylesheet --> - <!-- * --> - <!-- * The $info param is a "master info" node set that contains --> - <!-- * the entire contents of the *info child of the current --> - <!-- * Refentry, plus the entire contents of the *info children of --> - <!-- * all ancestors of the current Refentry, in document order. --> - <!-- * --> - <!-- * We try to find a "best match" for selecting content from --> - <!-- * $infor; we look through it in reverse document order until we --> - <!-- * can find something usable. --> - <!-- * --> - <!-- * Specifically what the basic metadata-gathering XPath expression --> - <!-- * in this stylesheet does is: --> - <!-- * --> - <!-- * 1. Look through the entire "master info" node set.--> - <!-- * 2. Get the last node in the set that contains, for --> - <!-- * example, an Author element. That amounts to being the --> - <!-- * closest *info node to the Refentry - either its *info --> - <!-- * child, or the *info node of its closest ancestor that --> - <!-- * contains an Author. --> - - <!-- ================================================================== --> - <!-- * Get user "refentry metadata" preferences --> - <!-- ================================================================== --> - <!-- * The DocBook XSL stylesheets include several user-configurable --> - <!-- * global stylesheet parameters for controlling refentry metadata --> - <!-- * gathering. Those parameters are not read directly by the other --> - <!-- * refentry metadata-gathering templates. Instead, they are read --> - <!-- * only by the get.refentry.metadata.prefs template, which --> - <!-- * assembles them into a structure that is then passed to the --> - <!-- * other refentry metadata-gathering template. --> - - <xsl:variable name="get.refentry.metadata.prefs"> - <!-- * get.refentry.metadata.prefs is in common/refentry.xsl --> - <xsl:call-template name="get.refentry.metadata.prefs"/> - </xsl:variable> - - <xsl:variable name="refentry.metadata.prefs" - select="exsl:node-set($get.refentry.metadata.prefs)"/> - - <!-- * ============================================================== --> - <!-- * Get content for Author metadata field. --> - <!-- * ============================================================== --> - - <!-- * The make.roff.metatada.author template and metadata.author --> - <!-- * mode are used only for populating the Author field in the --> - <!-- * metadata "top comment" we embed in roff source of each page. --> - <xsl:template name="make.roff.metadata.author"> - <xsl:param name="info"/> - <xsl:param name="refname"/> - <xsl:choose> - <xsl:when test="$info//author"> - <xsl:apply-templates - select="(($info[//author])[last()]//author)[1]" - mode="metadata.author"/> - </xsl:when> - <xsl:when test="$info//corpauthor"> - <xsl:apply-templates - select="(($info[//corpauthor])[last()]//corpauthor)[1]" - mode="metadata.author"/> - </xsl:when> - <xsl:when test="$info//editor"> - <xsl:apply-templates - select="(($info[//editor])[last()]//editor)[1]" - mode="metadata.author"/> - </xsl:when> - <xsl:when test="$info//corpcredit"> - <xsl:apply-templates - select="(($info[//corpcredit])[last()]//corpcredit)[1]" - mode="metadata.author"/> - </xsl:when> - <xsl:when test="$info//othercredit"> - <xsl:apply-templates - select="(($info[//othercredit])[last()]//othercredit)[1]" - mode="metadata.author"/> - </xsl:when> - <xsl:when test="$info//collab"> - <xsl:apply-templates - select="(($info[//collab])[last()]//collab)[1]" - mode="metadata.author"/> - </xsl:when> - <xsl:when test="$info//orgname"> - <xsl:apply-templates - select="(($info[//orgname])[last()]//orgname)[1]" - mode="metadata.author"/> - </xsl:when> - <xsl:when test="$info//publishername"> - <xsl:apply-templates - select="(($info[//publishername])[last()]//publishername)[1]" - mode="metadata.author"/> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise, we need to check to see if we have an "Author" --> - <!-- * or "Authors" section in the refentry --> - <xsl:variable name="gentext.author"> - <xsl:text>"</xsl:text> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'Author'"/> - </xsl:call-template> - <xsl:text>"</xsl:text> - </xsl:variable> - <xsl:variable name="gentext.AUTHOR"> - <xsl:if test="not($gentext.author = '')"> - <xsl:call-template name="string.upper"> - <xsl:with-param name="string" select="$gentext.author"/> - </xsl:call-template> - </xsl:if> - </xsl:variable> - <xsl:variable name="gentext.authors"> - <xsl:text>"</xsl:text> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'Authors'"/> - </xsl:call-template> - <xsl:text>"</xsl:text> - </xsl:variable> - <xsl:variable name="gentext.AUTHORS"> - <xsl:if test="not($gentext.authors = '')"> - <xsl:call-template name="string.upper"> - <xsl:with-param name="string" select="$gentext.authors"/> - </xsl:call-template> - </xsl:if> - </xsl:variable> - <!-- * get all refentry/refsect1/title & refentry/refsection/title --> - <!-- * instances, delimit each with double quotes, and put them --> - <!-- * into a single refsect1.titles string --> - <xsl:variable name="refsect1.titles"> - <xsl:for-each select="refsect1/title"> - <xsl:text>"</xsl:text> - <xsl:value-of select="normalize-space(.)"/> - <xsl:text>"</xsl:text> - <xsl:text> </xsl:text> - </xsl:for-each> - <xsl:for-each select="refsection/title"> - <xsl:text>"</xsl:text> - <xsl:value-of select="normalize-space(.)"/> - <xsl:text>"</xsl:text> - <xsl:text> </xsl:text> - </xsl:for-each> - </xsl:variable> - <xsl:variable name="author.section.title"> - <xsl:choose> - <xsl:when test="not($gentext.authors = '') and - contains($refsect1.titles,$gentext.authors)"> - <xsl:value-of select="$gentext.authors"/> - </xsl:when> - <xsl:when test="not($gentext.AUTHORS = '') and - contains($refsect1.titles,$gentext.AUTHORS)"> - <xsl:value-of select="$gentext.AUTHORS"/> - </xsl:when> - <xsl:when test="not($gentext.author = '') and - contains($refsect1.titles,$gentext.author)"> - <xsl:value-of select="$gentext.author"/> - </xsl:when> - <xsl:when test="not($gentext.AUTHOR = '') and - contains($refsect1.titles,$gentext.AUTHOR)"> - <xsl:value-of select="$gentext.AUTHOR"/> - </xsl:when> - <!-- * git docs (for one) use "DOCUMENTATION" for their authors section --> - <xsl:when test="contains($refsect1.titles,'Documentation')"> - <xsl:text>Documentation</xsl:text> - </xsl:when> - <xsl:when test="contains($refsect1.titles,'DOCUMENTATION')"> - <xsl:text>DOCUMENTATION</xsl:text> - </xsl:when> - <xsl:otherwise/> <!-- * otherwise, leave empty --> - </xsl:choose> - </xsl:variable> - <xsl:choose> - <xsl:when test="not($author.section.title = '')"> - <!-- * if we have a non-empty $author.section.title value, --> - <!-- * then reference that title (instead of putting a --> - <!-- * specific author name) --> - <xsl:text>[see the </xsl:text> - <xsl:value-of select="$author.section.title"/> - <xsl:text> section]</xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise we have no info/author content and no Author --> - <!-- * or Authors section, so we insert a fixme and report --> - <!-- * the problem to the user --> - <xsl:text>[FIXME: author] [see http://docbook.sf.net/el/author]</xsl:text> - <xsl:if test="$refentry.meta.get.quietly = 0"> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Warn</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc">meta author</xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>no refentry/info/author</xsl:text> - </xsl:with-param> - </xsl:call-template> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Note</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc">meta author</xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>see http://docbook.sf.net/el/author</xsl:text> - </xsl:with-param> - </xsl:call-template> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Warn</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc">meta author</xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>no author data, so inserted a fixme</xsl:text> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="author|editor|othercredit|collab" mode="metadata.author"> - <xsl:choose> - <xsl:when test="collabname"> - <!-- * If this node is a Collab, then it should have a --> - <!-- * Collabname child, so get that. --> - <xsl:variable name="contents"> - <xsl:apply-templates select="collabname"/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise, this node is not a Collab, but instead --> - <!-- * an author|editor|othercredit, which must have a name --> - <!-- * of some kind; so get that name --> - <xsl:call-template name="person.name.normalized"/> - </xsl:otherwise> - </xsl:choose> - <xsl:if test=".//email|address/otheraddr/ulink"> - <xsl:text> </xsl:text> - <!-- * For each attribution found, use only the first e-mail --> - <!-- * address or ulink value found --> - <xsl:apply-templates select="(.//email|address/otheraddr/ulink)[1]" - mode="metadata.author"/> - </xsl:if> - </xsl:template> - - <xsl:template match="email|address/otheraddr/ulink" mode="metadata.author"> - <xsl:text><</xsl:text> - <xsl:choose> - <xsl:when test="self::email"> - <xsl:variable name="contents"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - </xsl:when> - <xsl:when test="self::ulink"> - <xsl:variable name="contents"> - <xsl:apply-templates select="."/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - </xsl:when> - </xsl:choose> - <xsl:text>></xsl:text> - </xsl:template> - - <xsl:template match="corpauthor|corpcredit|orgname|publishername" mode="metadata.author"> - <xsl:variable name="contents"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - </xsl:template> - - <!-- * ============================================================== --> - <!-- * Assemble the AUTHOR/AUTHORS section --> - <!-- * ============================================================== --> - - <xsl:template name="author.section"> - <xsl:param name="info"/> - <!-- * The $info param is a "master info" node set that contains --> - <!-- * the entires contents of the *info child of the current --> - <!-- * Refentry, plus the entire contents of the *info children of --> - <!-- * all ancestors of the current Refentry, in document order. --> - <xsl:choose> - <xsl:when test="$info//author|$info//editor|$info//collab| - $info//corpauthor|$info//corpcredit| - $info//othercredit|$info/orgname| - $info/publishername|$info/publisher"> - <xsl:variable name="authorcount"> - <xsl:value-of - select="count( - $info//author|$info//editor|$info//collab| - $info//corpauthor|$info//corpcredit| - $info//othercredit)"> - </xsl:value-of> - </xsl:variable> - <xsl:call-template name="make.subheading"> - <xsl:with-param name="title"> - <xsl:call-template name="make.authorsecttitle"> - <xsl:with-param name="authorcount" select="$authorcount"/> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - <!-- * Now output all the actual author, editor, etc. content --> - <xsl:for-each - select="$info//author|$info//editor|$info//collab| - $info//corpauthor|$info//corpcredit| - $info//othercredit|$info/orgname| - $info/publishername|$info/publisher"> - <xsl:apply-templates select="." mode="authorsect"/> - </xsl:for-each> - </xsl:when> - <xsl:otherwise/> <!-- * do nothing, no author info found --> - </xsl:choose> - </xsl:template> - - <xsl:template name="make.authorsecttitle"> - <!-- * If we have exactly one attributable person/entity, then output --> - <!-- * localized gentext for 'Author'; otherwise, output 'Authors'. --> - <xsl:param name="authorcount"/> - <xsl:param name="authorsecttitle"> - <xsl:choose> - <xsl:when test="$authorcount = 1"> - <xsl:text>Author</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>Authors</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:param> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="$authorsecttitle"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="author|editor|othercredit" mode="authorsect"> - <xsl:variable name="person-name"> - <xsl:call-template name="person.name.normalized"/> - </xsl:variable> - <!-- * If we have a person-name or email or ulink content, then --> - <!-- * output name and email or ulink content on the same line --> - <xsl:choose> - <xsl:when test="not($person-name = '') or .//email or address/otheraddr/ulink"> - <xsl:text>.PP </xsl:text> - <!-- * Display person name in bold --> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="exsl:node-set($person-name)"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <!-- * Display e-mail address(es) and ulink(s) on same line as name --> - <xsl:apply-templates select=".//email|address/otheraddr/ulink" mode="authorsect"/> - <xsl:text> </xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>.br </xsl:text> - </xsl:otherwise> - </xsl:choose> - <!-- * Display affiliation(s) on separate lines --> - <xsl:apply-templates select="affiliation" mode="authorsect"/> - <!-- * Display direct-child addresses on separate lines --> - <xsl:apply-templates select="address" mode="authorsect"/> - <!-- * Call template for handling various attribution possibilities --> - <xsl:call-template name="attribution"> - <xsl:with-param name="person-name" select="$person-name"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="collab" mode="authorsect"> - <xsl:text>.PP </xsl:text> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="collabname"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <!-- * Display e-mail address(es) and ulink(s) on same line as name --> - <xsl:apply-templates select=".//email|address/otheraddr/ulink" mode="authorsect"/> - <xsl:text> </xsl:text> - <!-- * Display affilition(s) on separate lines --> - <xsl:apply-templates select="affiliation" mode="authorsect"/> - </xsl:template> - - <xsl:template match="corpauthor|corpcredit|orgname|publishername" mode="authorsect"> - <xsl:text>.PP </xsl:text> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="."/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:if test="self::publishername"> - <!-- * Display localized "Publisher" gentext --> - <xsl:call-template name="publisher.attribution"/> - </xsl:if> - </xsl:template> - - <xsl:template match="publisher" mode="authorsect"> - <xsl:text>.PP </xsl:text> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="publishername"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <!-- * Display e-mail address(es) and ulink(s) on same line as name --> - <xsl:apply-templates select=".//email|address/otheraddr/ulink" mode="authorsect"/> - <!-- * Display addresses on separate lines --> - <xsl:apply-templates select="address" mode="authorsect"/> - <!-- * Display localized "Publisher" literal --> - <xsl:call-template name="publisher.attribution"/> - </xsl:template> - - <xsl:template name="publisher.attribution"> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($blurb-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$blurb-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'Publisher'"/> - </xsl:call-template> - <xsl:text>. </xsl:text> - <xsl:text>.RE </xsl:text> - </xsl:template> - - <xsl:template match="email|address/otheraddr/ulink" mode="authorsect"> - <xsl:choose> - <xsl:when test="preceding-sibling::*[descendant-or-self::email] - or preceding-sibling::address/otheraddr/ulink - or ancestor::address[preceding-sibling::*[descendant-or-self::email]] - or ancestor::address[preceding-sibling::address/otheraddr/ulink]"> - <!-- * This is not the first instance, so do nothing. --> - </xsl:when> - <xsl:otherwise> - <!-- * This is first instances of an e-mail address or ulink, --> - <!-- * so put a space before it. --> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - <!-- * Note that the reason for the \& character after the opening --> - <!-- * angle bracket and before the closing angle bracket is to --> - <!-- * prevent groff from inserting a linebreak at those points and --> - <!-- * outputting a hyphen character where the break occurs --> - <xsl:text><\&</xsl:text> - <xsl:choose> - <xsl:when test="self::email"> - <xsl:variable name="contents"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - </xsl:when> - <xsl:when test="self::ulink"> - <xsl:variable name="contents"> - <xsl:apply-templates select="."/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - </xsl:when> - </xsl:choose> - <xsl:text>\&></xsl:text> - <xsl:choose> - <xsl:when test="not(following-sibling::*[descendant-or-self::email] - or following-sibling::address/otheraddr/ulink - or ancestor::address[following-sibling::*[descendant-or-self::email]] - or ancestor::address[following-sibling::address/otheraddr/ulink])"> - <!-- * This is the final instance, so do nothing. --> - </xsl:when> - <xsl:otherwise> - <!-- * Separate multiple e-mail addresses or ulinks with a comma --> - <xsl:text>, </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="affiliation" mode="authorsect"> - <!-- * Get the string value of the contents of this Affiliation. If the --> - <!-- * affiliation only contains an Address child whose only content is --> - <!-- * an email address or ulink, then these contents will end up empty. --> - <xsl:variable name="contents"> - <xsl:apply-templates mode="authorsect"/> - </xsl:variable> - <!-- * If contents are actually empty except for an email address --> - <!-- * or ulink, then output nothing. --> - <xsl:if test="$contents != ''"> - <xsl:text>.br </xsl:text> - <xsl:for-each select="shortaffil|jobtitle|orgname|orgdiv|address"> - <!-- * only display output of nodes other than email or ulink --> - <xsl:apply-templates select="node()[not(self::email) and not(self::otheraddr/ulink)]"/> - <xsl:choose> - <xsl:when test="position() = last()"/> <!-- do nothing --> - <xsl:otherwise> - <!-- * only add comma if the node has a child node other than --> - <!-- * an email address or ulink --> - <xsl:if test="child::node()[not(self::email) and not(self::otheraddr/ulink)]"> - <xsl:text>, </xsl:text> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - <xsl:text> </xsl:text> - <xsl:choose> - <xsl:when test="position() = last()"/> <!-- do nothing --> - <xsl:otherwise> - <!-- * put a line break after every Affiliation instance except --> - <!-- * the last one in the set --> - <xsl:text>.br </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:template> - - <xsl:template match="address" mode="authorsect"> - <xsl:variable name="contents" - select="normalize-space(node()[not(self::email) - and not(self::otheraddr/ulink)])"/> - <!-- * If this contents of this Address do not contain anything except --> - <!-- * an email address or ulink, then output nothing. --> - <xsl:if test="$contents != ''"> - <xsl:text> </xsl:text> - <xsl:text>.br </xsl:text> - <!--* Skip email and ulink descendants of Address (rendered elsewhere) --> - <xsl:apply-templates select="node()[not(self::email) and not(self::otheraddr/ulink)]"/> - </xsl:if> - </xsl:template> - - <xsl:template name="attribution"> - <xsl:param name="person-name"/> - <xsl:param name="refname" select="ancestor::refentry/refnamediv[1]/refname[1]"/> - <!-- * Determine appropriate attribution for a particular person's role. --> - <xsl:choose> - <!-- * if we have a *blurb or contrib, just use that --> - <xsl:when test="contrib|personblurb|authorblurb"> - <xsl:apply-templates select="contrib|personblurb|authorblurb" mode="authorsect"/> - <xsl:text> </xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise we have no attribution information to use... --> - <xsl:if test="not($person-name = '')"> - <!-- * if we have a person name or organization name --> - <!-- * ($person-name can actually be an orgname, not just a --> - <!-- * person name), then report to the user that we are --> - <!-- * lacking attribution information for that person --> - <xsl:if test="$refentry.meta.get.quietly = 0"> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Warn</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc">AUTHOR sect.</xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>no personblurb|contrib for </xsl:text> - <xsl:value-of select="$person-name"/> - </xsl:with-param> - </xsl:call-template> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Note</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc">AUTHOR sect.</xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>see see http://docbook.sf.net/el/contrib</xsl:text> - </xsl:with-param> - </xsl:call-template> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Note</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc">AUTHOR sect.</xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>see see http://docbook.sf.net/el/personblurb</xsl:text> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:if> - <xsl:choose> - <!-- * If we have no *blurb or contrib, but this is an Author or --> - <!-- * Editor, then render the corresponding localized gentext --> - <xsl:when test="self::author"> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($blurb-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$blurb-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'Author'"/> - </xsl:call-template> - <xsl:text>. </xsl:text> - <xsl:text>.RE </xsl:text> - </xsl:when> - <xsl:when test="self::editor"> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($blurb-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$blurb-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'Editor'"/> - </xsl:call-template> - <xsl:text>. </xsl:text> - <xsl:text>.RE </xsl:text> - </xsl:when> - <!-- * If we have no *blurb or contrib, but this is an Othercredit, --> - <!-- * check value of Class attribute and use corresponding gentext. --> - <xsl:when test="self::othercredit"> - <xsl:choose> - <xsl:when test="@class and @class != 'other'"> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($blurb-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$blurb-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="@class"/> - </xsl:call-template> - <xsl:text>. </xsl:text> - <xsl:text>.RE </xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * We have an Othercredit, but no usable value for the Class --> - <!-- * attribute, so nothing to show, do nothing --> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <!-- * We have no *blurb or contrib or anything else we can use to --> - <!-- * display appropriate attribution for this person, so do nothing --> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="personblurb|authorblurb" mode="authorsect"> - <xsl:call-template name="mark.up.blurb.or.contrib"/> - <!-- * yeah, it's possible for a *blurb to have a "title" --> - <xsl:apply-templates select="title"/> - <xsl:apply-templates select="*[not(self::title)]"/> - <!-- * If this *blurb has a sibling "name" element of some kind, then --> - <!-- * the mark.up.blurb.or.contrib template will generated an "RS" --> - <!-- * call that will cause it to be indented; so we need to call --> - <!-- * "RE" to restore the previous indent level --> - <xsl:if test="../personname|../surname|../firstname - |../othername|../lineage|../honorific - |../affiliation|../email|../address"> - <xsl:text>.RE </xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template match="personblurb/title|authorblurb/title"> - <!-- * always render period after title --> - <xsl:variable name="contents"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - <xsl:text>.</xsl:text> - <!-- * render space after Title+period if the title is followed --> - <!-- * by something element content --> - <xsl:if test="following-sibling::*[name() != '']"> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template match="contrib" mode="authorsect"> - <xsl:call-template name="mark.up.blurb.or.contrib"/> - <xsl:variable name="contents"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - <xsl:text> </xsl:text> - <xsl:if test="../personname|../surname|../firstname - |../othername|../lineage|../honorific - |../affiliation|../email|../address"> - <xsl:text>.RE </xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="mark.up.blurb.or.contrib"> - <xsl:choose> - <!-- * If this *blurb has a sibling "name" element of some kind, then --> - <!-- * we are already outputting the name content, and we need to --> - <!-- * indent the *blurb content after that. --> - <xsl:when - test="../personname|../surname|../firstname - |../othername|../lineage|../honorific - |../affiliation|../email|../address"> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($blurb-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$blurb-indent"/> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise, we have no "name" content, so don't indent; --> - <!-- * instead, decide if we need a .PP or just a .br --> - <xsl:choose> - <xsl:when test="not(preceding-sibling::*)"> - <!-- * if this *blurb or contrib has no preceding --> - <!-- * siblings, then we need to start a new paragraph --> - <xsl:text>.PP</xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * otherwise, this has no preceding siblings, so --> - <!-- * just put a linebreak --> - <xsl:text>.br</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - <xsl:text> </xsl:text> - </xsl:template> - - <!-- * ============================================================== --> - <!-- * Assemble the COPYRIGHT section --> - <!-- * ============================================================== --> - <!-- * The COPYRIGHT section is output only if a copyright or --> - <!-- * legalnotice is found. It contains the copyright contents --> - <!-- * followed by the legalnotice contents. --> - <xsl:template name="copyright.section"> - <xsl:param name="info"/> - <xsl:choose> - <xsl:when test="$info//copyright|$info//legalnotice"> - <xsl:call-template name="make.subheading"> - <xsl:with-param name="title"> - <xsl:call-template name="gentext"> - <xsl:with-param name="key">Copyright</xsl:with-param> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - <xsl:text>.br </xsl:text> - <!-- * the copyright mode="titlepage.mode" template is --> - <!-- * imported from the HTML stylesheets --> - <xsl:for-each select=" - (($info[//copyright])[last()]//copyright) - | (($info[//legalnotice])[last()]//legalnotice)"> - <xsl:choose> - <xsl:when test="local-name(.) = 'copyright'"> - <xsl:variable name="contents"> - <xsl:apply-templates select="." mode="titlepage.mode"/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - <xsl:text> </xsl:text> - <xsl:text>.br </xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select="." mode="titlepage.mode"/> - <xsl:text> </xsl:text> - <xsl:text>.sp </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </xsl:when> - <xsl:otherwise/> <!-- * do nothing, no copyright or legalnotice found --> - </xsl:choose> - </xsl:template> - - <xsl:template match="legalnotice"> - <xsl:apply-templates/> - </xsl:template> - - <!-- * ============================================================== --> - - <!-- * suppress refmeta and all *info (we grab what we need from them --> - <!-- * elsewhere) --> - - <xsl:template match="refmeta"/> - - <xsl:template match="info|refentryinfo|referenceinfo|refsynopsisdivinfo - |refsectioninfo|refsect1info|refsect2info|refsect3info - |setinfo|bookinfo|articleinfo|chapterinfo|sectioninfo - |sect1info|sect2info|sect3info|sect4info|sect5info - |partinfo|prefaceinfo|appendixinfo|docinfo"/> - - <!-- ============================================================== --> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/inline.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/inline.xsl deleted file mode 100644 index 56ca4c506..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/inline.xsl +++ /dev/null @@ -1,219 +0,0 @@ -<?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> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/lists.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/lists.xsl deleted file mode 100644 index d5ee7a88e..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/lists.xsl +++ /dev/null @@ -1,615 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version='1.0'> - -<!-- ******************************************************************** - $Id: lists.xsl 9684 2012-12-12 17:05:54Z bobstayton $ - ******************************************************************** - - 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:variable name="list-indent"> - <xsl:choose> - <xsl:when test="not($man.indent.lists = 0)"> - <xsl:value-of select="$man.indent.width"/> - </xsl:when> - <xsl:when test="not($man.indent.refsect = 0)"> - <!-- * "zq" is the name of a register we set for --> - <!-- * preserving the original default indent value --> - <!-- * when $man.indent.refsect is non-zero; --> - <!-- * "u" is a roff unit specifier --> - <xsl:text>\n(zqu</xsl:text> - </xsl:when> - <xsl:otherwise/> <!-- * otherwise, just leave it empty --> - </xsl:choose> -</xsl:variable> - -<!-- ================================================================== --> - -<xsl:template match="para[ancestor::listitem or ancestor::step or ancestor::glossdef]| - simpara[ancestor::listitem or ancestor::step or ancestor::glossdef]| - remark[ancestor::listitem or ancestor::step or ancestor::glossdef]"> - <xsl:call-template name="mixed-block"/> - <xsl:text> </xsl:text> - <xsl:if test="following-sibling::*[1][ - self::para or - self::simpara or - self::remark - ]"> - <!-- * Make sure multiple paragraphs within a list item don't --> - <!-- * merge together. --> - <xsl:text>.sp </xsl:text> - </xsl:if> -</xsl:template> - -<xsl:template match="bibliolist"> - <xsl:apply-templates/> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="variablelist|glosslist"> - <xsl:text> </xsl:text> - <xsl:if test="title"> - <xsl:text>.PP </xsl:text> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="title"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates/> -</xsl:template> - -<xsl:template match="varlistentry|glossentry"> - <xsl:text>.PP </xsl:text> - <xsl:for-each select="term|glossterm"> - <xsl:variable name="content"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($content)"/> - <xsl:choose> - <xsl:when test="position() = last()"/> <!-- do nothing --> - <xsl:otherwise> - <!-- * if we have multiple terms in the same varlistentry, generate --> - <!-- * a separator (", " by default) and/or an additional line --> - <!-- * break after each one except the last --> - <!-- * --> - <!-- * note that it is not valid to have multiple glossterms --> - <!-- * within a glossentry, so this logic never gets exercised --> - <!-- * for glossterms (every glossterm is always the last in --> - <!-- * its parent glossentry) --> - <xsl:value-of select="$variablelist.term.separator"/> - <xsl:if test="not($variablelist.term.break.after = '0')"> - <xsl:text> </xsl:text> - <xsl:text>.br </xsl:text> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:apply-templates/> - <xsl:text>.RE </xsl:text> -</xsl:template> - -<xsl:template match="varlistentry/term"/> -<xsl:template match="glossentry/glossterm"/> - -<xsl:template match="variablelist[ancestor::listitem or ancestor::step or ancestor::glossdef]| - glosslist[ancestor::listitem or ancestor::step or ancestor::glossdef]"> - <xsl:apply-templates/> - <xsl:if test="following-sibling::node() or - parent::para[following-sibling::node()] or - parent::simpara[following-sibling::node()] or - parent::remark[following-sibling::node()]"> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> -</xsl:template> - -<xsl:template match="varlistentry/listitem|glossentry/glossdef"> - <xsl:apply-templates/> -</xsl:template> - -<xsl:template match="itemizedlist/listitem"> - <!-- * We output a real bullet here (rather than, "\(bu", --> - <!-- * the roff bullet) because, when we do character-map --> - <!-- * processing before final output, the character-map will --> - <!-- * handle conversion of the • to "\(bu" for us --> - <xsl:text> </xsl:text> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <!-- * if "n" then we are using "nroff", which means the output is for --> - <!-- * TTY; so we do some fixed-width-font hackery with \h to make a --> - <!-- * hanging indent (instead of using .IP, which has some --> - <!-- * undesirable side effects under certain circumstances) --> - <xsl:call-template name="roff-if-else-start"/> - <xsl:text>\h'-</xsl:text> - <xsl:choose> - <xsl:when test="not($list-indent = '')"> - <xsl:text>0</xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:when> - <xsl:otherwise> - <xsl:text>\n(INu</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:text>'</xsl:text> - <xsl:text>•</xsl:text> - <xsl:text>\h'+</xsl:text> - <xsl:choose> - <xsl:when test="not($list-indent = '')"> - <xsl:text>0</xsl:text> - <xsl:value-of select="$list-indent - 1"/> - </xsl:when> - <xsl:otherwise> - <xsl:text>\n(INu-1</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:text>'\c </xsl:text> - <!-- * else, we are not using for "nroff", but instead "troff" - which --> - <!-- * means not for TTY, but for PS or whatever; so we’re not using a --> - <!-- * fixed-width font, so use a real .IP instead --> - <xsl:call-template name="roff-else"/> - <!-- * .IP generates a blank like of space, so let’s go backwards one --> - <!-- * line up to compensate for that --> - <xsl:text>.sp -1 </xsl:text> - <xsl:text>.IP \(bu 2.3 </xsl:text> - <!-- * The value 2.3 is the amount of indentation; we use 2.3 instead --> - <!-- * of 2 because when the font family is New Century Schoolbook it --> - <!-- * seems to require the extra space. --> - <xsl:call-template name="roff-if-end"/> - <xsl:apply-templates/> - <xsl:text>.RE </xsl:text> -</xsl:template> - -<xsl:template match="orderedlist/listitem/title| - procedure/step/title"> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="."/> - <xsl:with-param name="context" select=".."/> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:text>.PP </xsl:text> -</xsl:template> - -<xsl:template match="orderedlist/listitem|procedure/step"> - <xsl:text> </xsl:text> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <!-- * if "n" then we are using "nroff", which means the output is for --> - <!-- * TTY; so we do some fixed-width-font hackery with \h to make a --> - <!-- * hanging indents (instead of using .IP, which has some --> - <!-- * undesirable side effects under certain circumstances) --> - <xsl:call-template name="roff-if-else-start"/> - <xsl:text>\h'-</xsl:text> - <xsl:choose> - <xsl:when test="not($list-indent = '')"> - <xsl:text>0</xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:when> - <xsl:otherwise> - <xsl:text>\n(INu+3n</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:text>'</xsl:text> - <xsl:if test="count(preceding-sibling::listitem) < 9"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:number format="1."/> - <xsl:text>\h'+</xsl:text> - <xsl:choose> - <xsl:when test="not($list-indent = '')"> - <xsl:text>0</xsl:text> - <xsl:value-of select="$list-indent - 3"/> - </xsl:when> - <xsl:otherwise> - <xsl:text>1n</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:text>'\c </xsl:text> - <!-- * else, we are not using for "nroff", but instead "troff" - which --> - <!-- * means not for TTY, but for PS or whatever; so we’re not using a --> - <!-- * fixed-width font, so use a real .IP instead --> - <xsl:call-template name="roff-else"/> - <!-- * .IP generates a blank line of space, so let’s go backwards one --> - <!-- * line up to compensate for that --> - <xsl:text>.sp -1 </xsl:text> - <xsl:text>.IP "</xsl:text> - <xsl:if test="count(preceding-sibling::listitem) < 9"> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:number format="1."/> - <xsl:text>" 4.2 </xsl:text> - <!-- * The value 4.2 is the amount of indentation; we use 4.2 instead --> - <!-- * of 4 because when the font family is Bookman it seems to require --> - <!-- * the extra space. --> - <xsl:call-template name="roff-if-end"/> - <xsl:apply-templates/> - <xsl:text>.RE </xsl:text> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="itemizedlist|orderedlist|procedure"> - <xsl:if test="title"> - <xsl:text>.PP </xsl:text> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="title"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <xsl:text> </xsl:text> - </xsl:if> - <!-- * DocBook allows just about any block content to appear in --> - <!-- * lists before the actual list items, so we need to get that --> - <!-- * content (if any) before getting the list items --> - <xsl:apply-templates - select="*[not(self::listitem) and not(self::title)]"/> - <xsl:apply-templates select="listitem"/> - <!-- * If this list is a child of para and has content following --> - <!-- * it, within the same para, then add a blank line and move --> - <!-- * the left margin back to where it was --> - <xsl:if test="parent::para and following-sibling::node()"> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> -</xsl:template> - -<xsl:template match="itemizedlist[ancestor::listitem or ancestor::step or ancestor::glossdef]| - orderedlist[ancestor::listitem or ancestor::step or ancestor::glossdef]| - procedure[ancestor::listitem or ancestor::step or ancestor::glossdef]"> - <xsl:if test="title"> - <xsl:text>.PP </xsl:text> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="title"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:apply-templates/> - <xsl:if test="following-sibling::node() or - parent::para[following-sibling::node()] or - parent::simpara[following-sibling::node()] or - parent::remark[following-sibling::node()]"> - <xsl:text>.sp</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> -</xsl:template> - -<!-- ================================================================== --> - -<!-- * for simplelist type="inline", render it as a comma-separated list --> -<xsl:template match="simplelist[@type='inline']"> - <!-- * if dbchoice PI exists, use that to determine the choice separator --> - <!-- * (that is, equivalent of "and" or "or" in current locale), or literal --> - <!-- * value of "choice" otherwise --> - <xsl:variable name="localized-choice-separator"> - <xsl:choose> - <xsl:when test="processing-instruction('dbchoice')"> - <xsl:call-template name="select.choice.separator"/> - </xsl:when> - <xsl:otherwise> - <!-- * empty --> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <xsl:for-each select="member"> - <xsl:apply-templates/> - <xsl:choose> - <xsl:when test="position() = last()"/> <!-- do nothing --> - <xsl:otherwise> - <xsl:text>, </xsl:text> - <xsl:if test="position() = last() - 1"> - <xsl:if test="$localized-choice-separator != ''"> - <xsl:value-of select="$localized-choice-separator"/> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - <xsl:text> </xsl:text> -</xsl:template> - -<!-- * if simplelist type is not inline, render it as a one-column vertical --> -<!-- * list (ignoring the values of the type and columns attributes) --> -<xsl:template match="simplelist"> - <xsl:for-each select="member"> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:apply-templates/> - <xsl:text> </xsl:text> - <xsl:text>.RE </xsl:text> - </xsl:for-each> -</xsl:template> - -<!-- ================================================================== --> - -<!-- * We output Segmentedlist as a table, using tbl(1) markup. There --> -<!-- * is no option for outputting it in manpages in "list" form. --> -<xsl:template match="segmentedlist"> - <xsl:if test="title"> - <xsl:text>.PP </xsl:text> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="title"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:text>.\" line length increase to cope w/ tbl weirdness </xsl:text> - <xsl:text>.ll +(\n(LLu * 62u / 100u) </xsl:text> - <!-- * .TS = "Table Start" --> - <xsl:text>.TS </xsl:text> - <!-- * first output the table "format" spec, which tells tbl(1) how --> - <!-- * how to format each row and column. --> - <xsl:for-each select=".//segtitle"> - <!-- * l = "left", which hard-codes left-alignment for tabular --> - <!-- * output of all segmentedlist content --> - <xsl:text>l</xsl:text> - </xsl:for-each> - <!-- * last line of table format section must end with a dot --> - <xsl:text>. </xsl:text> - <!-- * optionally suppress output of segtitle --> - <xsl:choose> - <xsl:when test="$man.segtitle.suppress != 0"> - <!-- * non-zero = "suppress", so do nothing --> - </xsl:when> - <xsl:otherwise> - <!-- * "0" = "do not suppress", so output the segtitle(s) --> - <xsl:apply-templates select=".//segtitle" mode="table-title"/> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:apply-templates/> - <!-- * .TE = "Table End" --> - <xsl:text>.TE </xsl:text> - <xsl:text>.\" line length decrease back to previous value </xsl:text> - <xsl:text>.ll -(\n(LLu * 62u / 100u) </xsl:text> - <!-- * put a blank line of space below the table --> - <xsl:text>.sp </xsl:text> -</xsl:template> - -<xsl:template match="segmentedlist/segtitle" mode="table-title"> - <xsl:call-template name="italic"> - <xsl:with-param name="node" select="."/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <xsl:choose> - <xsl:when test="position() = last()"/> <!-- do nothing --> - <xsl:otherwise> - <!-- * tbl(1) treats tab characters as delimiters between --> - <!-- * cells; so we need to output a tab after each --> - <!-- * segtitle except the last one --> - <xsl:text>	</xsl:text> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="segmentedlist/seglistitem"> - <xsl:apply-templates/> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="segmentedlist/seglistitem/seg"> - <!-- * the T{ and T} stuff are delimiters to tell tbl(1) that --> - <!-- * the delimited contents are "text blocks" that groff(1) --> - <!-- * needs to process --> - <xsl:text>T{ </xsl:text> - <xsl:variable name="contents"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - <xsl:text> T}</xsl:text> - <xsl:choose> - <xsl:when test="position() = last()"/> <!-- do nothing --> - <xsl:otherwise> - <!-- * tbl(1) treats tab characters as delimiters between --> - <!-- * cells; so we need to output a tab after each --> - <!-- * segtitle except the last one --> - <xsl:text>	</xsl:text> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template match="calloutlist"> - <xsl:if test="title|info/title"> - <xsl:call-template name="formal.object.heading"/> - </xsl:if> - <!-- * This template was originally copied over from the HTML --> - <!-- * calloutlist template, which precedes the following --> - <!-- * apply-templates with the comment "Preserve order of PIs and --> - <!-- * comments"; I'm not certain that it will actually have that --> - <!-- * effect for all cases, and it seems like there is probably a --> - <!-- * better way to do it, but anyway, I’m preserving it here for --> - <!-- * consistency. --> - <xsl:apply-templates - select="*[not(self::callout or self::title or self::titleabbrev)] - |comment()[not(preceding-sibling::callout)] - |processing-instruction()[not(preceding-sibling::callout)]"/> - <!-- * put callout list into a table --> - <xsl:text>.TS </xsl:text> - <xsl:text>tab(:); </xsl:text> - <!-- * the following defines the row layout for the table: two columns, --> - <!-- * with the first cell in each row right-aligned, and the second --> - <!-- * cell left aligned with a width of 75% of the line length --> - <xsl:text>r lw(\n(.lu*75u/100u). </xsl:text> - <xsl:apply-templates select="callout - |comment()[preceding-sibling::callout] - |processing-instruction()[preceding-sibling::callout]"/> - <xsl:text>.TE </xsl:text> -</xsl:template> - -<xsl:template match="calloutlist/title"/> - -<xsl:template match="callout"> - <!-- * first cell of each row is the set of callout numbers for this --> - <!-- * particular callout --> - <xsl:call-template name="callout.arearefs"> - <xsl:with-param name="arearefs" select="@arearefs"/> - </xsl:call-template> - <!-- * end of the first cell in the row; the \h hackery is to correct --> - <!-- * for the excessive horizontal whitespace that tbl(1) adds between --> - <!-- * cells in the same row --> - <xsl:text>\h'-2n':</xsl:text> - <!-- * start the next cell in the row, which has the prose contents --> - <!-- * (description/explanation) for the callout --> - <xsl:text>T{ </xsl:text> - <xsl:apply-templates/> - <xsl:text>T} </xsl:text> - <!-- * end of the last cell and end of the row --> -</xsl:template> - -<xsl:template name="callout.arearefs"> - <xsl:param name="arearefs"></xsl:param> - <!-- * callout can have multiple values in its arearefs attribute, so --> - <!-- * we use the position param to track the postion of each value --> - <xsl:param name="position">1</xsl:param> - <xsl:if test="$arearefs!=''"> - <xsl:choose> - <xsl:when test="substring-before($arearefs,' ')=''"> - <xsl:call-template name="callout.arearef"> - <xsl:with-param name="arearef" select="$arearefs"/> - <xsl:with-param name="position" select="$position"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="callout.arearef"> - <xsl:with-param name="arearef" - select="substring-before($arearefs,' ')"/> - <xsl:with-param name="position" select="$position"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - <xsl:call-template name="callout.arearefs"> - <xsl:with-param name="arearefs" - select="substring-after($arearefs,' ')"/> - <xsl:with-param name="position" select="$position + 1"/> - </xsl:call-template> - </xsl:if> -</xsl:template> - -<xsl:template name="callout.arearef"> - <xsl:param name="arearef"></xsl:param> - <!-- * callout can have multiple values in its arearefs attribute, so --> - <!-- * we use the position param to track the postion of each value --> - <xsl:param name="position"></xsl:param> - <xsl:variable name="targets" select="key('id',$arearef)"/> - <xsl:variable name="target" select="$targets[1]"/> - - <xsl:call-template name="check.id.unique"> - <xsl:with-param name="linkend" select="$arearef"/> - </xsl:call-template> - - <xsl:choose> - <xsl:when test="count($target)=0"> - <xsl:text>???</xsl:text> - </xsl:when> - <xsl:when test="local-name($target)='co'"> - <!-- * if this is not the first value in the set of values in the --> - <!-- * arearef attribute for this callout, then we prepend a groff --> - <!-- * non-breaking space to it, to prevent groff from injecting --> - <!-- * linebreaks into the output. For callout instances with --> - <!-- * multiple values in their arearefs attributes, that results --> - <!-- * in all of callout numbers beings listed on the same line. --> - <xsl:if test="not($position = 1)"> - <xsl:text>\ </xsl:text> - </xsl:if> - <xsl:apply-templates select="$target" - mode="calloutlist-callout-number"/> - </xsl:when> - <!-- * the manpages stylesheet does not really support areaset and --> - <!-- * area (because we can't/don't actually render the callout bugs --> - <!-- * at the specified coordinates); however, the following (for --> - <!-- * what it's worth) might cause the callout numbers in the --> - <!-- * calloutlist to be render at least (then again, maybe it won't; --> - <!-- * it's not actually been tested... --> - <xsl:when test="local-name($target)='areaset'"> - <xsl:call-template name="callout-bug"> - <xsl:with-param name="conum"> - <xsl:apply-templates select="$target" mode="conumber"/> - </xsl:with-param> - </xsl:call-template> - </xsl:when> - <xsl:when test="local-name($target)='area'"> - <xsl:choose> - <xsl:when test="$target/parent::areaset"> - <xsl:call-template name="callout-bug"> - <xsl:with-param name="conum"> - <xsl:apply-templates - select="$target/parent::areaset" mode="conumber"/> - </xsl:with-param> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="callout-bug"> - <xsl:with-param name="conum"> - <xsl:apply-templates select="$target" - mode="conumber"/> - </xsl:with-param> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:text>???</xsl:text> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- * we bold the actual callout bugs and put --> -<!-- * parenthesis around them --> -<xsl:template name="callout-bug"> - <xsl:param name="conum" select='1'/> - <xsl:text>\fB(</xsl:text> - <xsl:value-of select="$conum"/> - <xsl:text>)\fR</xsl:text> -</xsl:template> - -<!-- * we bold the callout numbers and follow each --> -<!-- * with a period --> -<xsl:template name="calloutlist-callout-number"> - <xsl:param name="conum" select='1'/> - <xsl:text>\fB</xsl:text> - <xsl:value-of select="$conum"/> - <xsl:text>.\fR</xsl:text> -</xsl:template> - -<xsl:template match="co" mode="calloutlist-callout-number"> - <xsl:call-template name="calloutlist-callout-number"> - <xsl:with-param name="conum"> - <xsl:number count="co" - level="any" - from="programlisting|screen|literallayout|synopsis" - format="1"/> - </xsl:with-param> - </xsl:call-template> -</xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/other.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/other.xsl deleted file mode 100644 index 543192500..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/other.xsl +++ /dev/null @@ -1,888 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - xmlns:ng="http://docbook.org/docbook-ng" - xmlns:db="http://docbook.org/ns/docbook" - xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" - exclude-result-prefixes="exsl" - version='1.0'> - -<!-- ******************************************************************** - $Id: other.xsl 8865 2010-08-20 18:22:06Z mzjn $ - ******************************************************************** - - 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. - - ******************************************************************** --> - -<!-- * This file contains named templates related to things other than --> -<!-- * just assembling the actual text of the main text flow of each man --> -<!-- * page. This "other" stuff currently amounts to these steps: --> -<!-- * --> -<!-- * - get contents of the "map" used to convert special characters --> -<!-- * - output boilerplate messages --> -<!-- * - escape backslash, dot, dash, and apostrophe characters --> -<!-- * - convert non-breaking spaces --> -<!-- * - add a comment to top part of roff source of each page --> -<!-- * - make a .TH title line (for controlling page header/footer) --> -<!-- * - set hyphenation, alignment, indent & line-breaking defaults --> -<!-- * - "prepare" the complete man page contents for final output --> -<!-- * - write the actual man file to the filesystem --> -<!-- * - write any "stub" pages to the filesystem --> -<!-- * --> -<!-- * The templates in this file are actually called only once per --> -<!-- * each Refentry; they are just in a separate file for the purpose --> -<!-- * of keeping things modular. --> - -<!-- ==================================================================== --> - -<xsl:preserve-space elements="*"/> - -<xsl:strip-space elements=" -abstract affiliation anchor answer appendix area areaset areaspec -artheader article audiodata audioobject author authorblurb authorgroup -beginpage bibliodiv biblioentry bibliography biblioset blockquote book -bookbiblio bookinfo callout calloutlist caption caution chapter -citerefentry cmdsynopsis co collab colophon colspec confgroup -copyright dedication docinfo editor entrytbl epigraph equation -example figure footnote footnoteref formalpara funcprototype -funcsynopsis glossary glossdef glossdiv glossentry glosslist graphicco -group highlights imagedata imageobject imageobjectco important index -indexdiv indexentry indexterm informalequation informalexample -informalfigure informaltable inlineequation inlinemediaobject -itemizedlist itermset keycombo keywordset legalnotice listitem lot -mediaobject mediaobjectco menuchoice msg msgentry msgexplan msginfo -msgmain msgrel msgset msgsub msgtext note objectinfo -orderedlist othercredit part partintro preface printhistory procedure -programlistingco publisher qandadiv qandaentry qandaset question -refentry reference refmeta refnamediv refsection refsect1 refsect1info refsect2 -refsect2info refsect3 refsect3info refsynopsisdiv refsynopsisdivinfo -revhistory revision row sbr screenco screenshot sect1 sect1info sect2 -sect2info sect3 sect3info sect4 sect4info sect5 sect5info section -sectioninfo seglistitem segmentedlist seriesinfo set setindex setinfo -shortcut sidebar simplelist simplesect spanspec step subject -subjectset substeps synopfragment table tbody textobject tfoot tgroup -thead tip toc tocchap toclevel1 toclevel2 toclevel3 toclevel4 -toclevel5 tocpart varargs variablelist varlistentry videodata -videoobject void warning subjectset - -classsynopsis -constructorsynopsis -destructorsynopsis -fieldsynopsis -methodparam -methodsynopsis -ooclass -ooexception -oointerface -simplemsgentry -manvolnum -"/> - -<!-- ==================================================================== --> -<!-- * Get character map contents --> -<!-- ==================================================================== --> - - <xsl:variable name="man.charmap.contents"> - <xsl:if test="$man.charmap.enabled != 0"> - <xsl:variable name="lang"> - <xsl:call-template name="l10n.language"> - <xsl:with-param name="target" select="//refentry[1]"/> - </xsl:call-template> - </xsl:variable> - <xsl:call-template name="read-character-map"> - <xsl:with-param name="use.subset" select="$man.charmap.use.subset"/> - <xsl:with-param name="subset.profile"> - <xsl:choose> - <xsl:when test="$lang = 'en'"> - <xsl:value-of select="$man.charmap.subset.profile.english"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$man.charmap.subset.profile"/> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="uri"> - <xsl:choose> - <xsl:when test="$man.charmap.uri != ''"> - <xsl:value-of select="$man.charmap.uri"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="'../manpages/charmap.groff.xsl'"/> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:variable> - -<!-- ==================================================================== --> - -<xsl:template name="root.messages"> - <xsl:param name="refname"/> - <!-- redefine this any way you'd like to output messages --> - <!-- DO NOT OUTPUT ANYTHING FROM THIS TEMPLATE --> - <!-- Example: - <xsl:if test="//foo"> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Warn</xsl:with-param> - <xsl:with-param name="source" select="$refname"/> - <xsl:with-param name="context-desc"> - <xsl:text>limitation</xsl:text> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>Output for foo element is not yet supported.</xsl:text> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - --> -</xsl:template> - -<!-- ==================================================================== --> -<!-- * Escape roff special chars --> -<!-- ==================================================================== --> - -<!-- ******************************************************************** --> -<!-- * --> -<!-- * The backslash, dot, dash, and apostrophe (\, ., -, ') characters --> -<!-- * have special meaning for roff, so before we do any other --> -<!-- * processing, we must escape those characters where they appear in --> -<!-- * the source content. --> -<!-- * --> -<!-- * Here we also deal with replacing U+00a0 (non-breaking space) with --> -<!-- * its roff equivalent --> -<!-- * --> -<!-- ******************************************************************** --> - -<xsl:template match="//refentry//text()"> - <xsl:call-template name="escape.roff.specials"> - <xsl:with-param name="content"> - <xsl:value-of select="."/> - </xsl:with-param> - </xsl:call-template> -</xsl:template> - -<xsl:template name="escape.roff.specials"> - <xsl:param name="content"/> - <xsl:call-template name="convert.nobreak-space"> - <xsl:with-param name="content"> - <xsl:call-template name="escape.apostrophe"> - <xsl:with-param name="content"> - <xsl:call-template name="escape.dash"> - <xsl:with-param name="content"> - <xsl:call-template name="escape.dot"> - <xsl:with-param name="content"> - <xsl:call-template name="escape.backslash"> - <xsl:with-param name="content" select="$content"/> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> -</xsl:template> - -<xsl:template name="escape.backslash"> - <xsl:param name="content"/> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="$content"/> - <xsl:with-param name="target">\</xsl:with-param> - <!-- * we use "\e" instead of "\\" because the groff docs say --> - <!-- * that's the correct thing to do; also because testing --> - <!-- * shows that "\\" doesn't always work as expected; for --> - <!-- * example, "\\" within a table seems to mess things up --> - <xsl:with-param name="replacement">\e</xsl:with-param> - </xsl:call-template> -</xsl:template> - -<xsl:template name="escape.dot"> - <xsl:param name="content"/> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="$content"/> - <xsl:with-param name="target">.</xsl:with-param> - <xsl:with-param name="replacement">\&.</xsl:with-param> - </xsl:call-template> -</xsl:template> - -<xsl:template name="escape.dash"> - <xsl:param name="content"/> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="$content"/> - <xsl:with-param name="target">-</xsl:with-param> - <xsl:with-param name="replacement">\-</xsl:with-param> - </xsl:call-template> -</xsl:template> - -<xsl:template name="escape.apostrophe"> - <xsl:param name="content"/> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="$content"/> - <xsl:with-param name="target">'</xsl:with-param> - <xsl:with-param name="replacement">\*(Aq</xsl:with-param> - </xsl:call-template> -</xsl:template> - -<xsl:template name="convert.nobreak-space"> - <xsl:param name="content"/> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="$content"/> - <xsl:with-param name="target"> </xsl:with-param> - <!-- * A no-break space can be written two ways in roff; the --> - <!-- * difference, according to the "Page Motions" node in the --> - <!-- * groff info page, is: --> - <!-- * --> - <!-- * "\ " = --> - <!-- * An unbreakable and unpaddable (i.e. not expanded --> - <!-- * during filling) space. --> - <!-- * --> - <!-- * "\~" = --> - <!-- * An unbreakable space that stretches like a normal --> - <!-- * inter-word space when a line is adjusted." --> - <!-- * --> - <!-- * Unfortunately, roff seems to do some weird things with --> - <!-- * long lines that only have words separated by "\~" --> - <!-- * spaces, so it's safer just to stick with the "\ " space --> - <!-- * --> - <!-- * We append a "\&" to handle the case of a no-break space that --> - <!-- * appears at the end of a line - because later processing will --> - <!-- * cause that space to get eaten otherwise. --> - <xsl:with-param name="replacement">\ \&</xsl:with-param> - </xsl:call-template> -</xsl:template> - -<!-- ==================================================================== --> - -<!-- * top.comment generates a comment containing metadata for the man --> -<!-- * page; for example, Author, Generator, and Date information --> - - <xsl:template name="top.comment"> - <xsl:param name="info"/> - <xsl:param name="date"/> - <xsl:param name="title"/> - <xsl:param name="manual"/> - <xsl:param name="source"/> - <xsl:param name="refname"/> - <xsl:text>.\" Title: </xsl:text> - <xsl:call-template name="replace.dots.and.dashes"> - <xsl:with-param name="content" select="$title"/> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:text>.\" Author: </xsl:text> - <xsl:call-template name="replace.dots.and.dashes"> - <xsl:with-param name="content"> - <xsl:call-template name="make.roff.metadata.author"> - <xsl:with-param name="info" select="$info"/> - <xsl:with-param name="refname" select="$refname"/> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:text>.\" Generator: DocBook </xsl:text> - <xsl:value-of select="$DistroTitle"/> - <xsl:text> v</xsl:text> - <xsl:call-template name="replace.dots.and.dashes"> - <xsl:with-param name="content" select="$VERSION"/> - </xsl:call-template> - <xsl:text> <http://docbook.sf.net/></xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.\" Date: </xsl:text> - <xsl:call-template name="replace.dots.and.dashes"> - <xsl:with-param name="content" select="$date"/> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:text>.\" Manual: </xsl:text> - <xsl:call-template name="replace.dots.and.dashes"> - <xsl:with-param name="content" select="$manual"/> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:text>.\" Source: </xsl:text> - <xsl:call-template name="replace.dots.and.dashes"> - <xsl:with-param name="content" select="$source"/> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:text>.\" Language: </xsl:text> - <xsl:call-template name="l10n.language.name"/> - <xsl:text> </xsl:text> - <xsl:text>.\"</xsl:text> - <xsl:text> </xsl:text> - </xsl:template> - -<!-- ==================================================================== --> - - <xsl:template name="TH.title.line"> - - <!-- * The exact way that .TH contents are displayed is system- --> - <!-- * dependent; it varies somewhat between OSes and roff --> - <!-- * versions. Below is a description of how Linux systems with --> - <!-- * a modern groff seem to render .TH contents. --> - <!-- * --> - <!-- * title(section) extra3 title(section) <- page header --> - <!-- * extra2 extra1 title(section) <- page footer--> - <!-- * --> - <!-- * Or, using the names with which the man(7) man page refers --> - <!-- * to the various fields: --> - <!-- * --> - <!-- * title(section) manual title(section) <- page header --> - <!-- * source date title(section) <- page footer--> - <!-- * --> - <!-- * Note that while extra1, extra2, and extra3 are all (nominally) --> - <!-- * optional, in practice almost all pages include an "extra1" --> - <!-- * field, which is, universally, a date (in some form), and it is --> - <!-- * always rendered in the same place (the middle footer position) --> - <!-- * --> - <!-- * Here are a couple of examples of real-world man pages that --> - <!-- * have somewhat useful page headers/footers: --> - <!-- * --> - <!-- * gtk-options(7) GTK+ User's Manual gtk-options(7) --> - <!-- * GTK+ 1.2 2003-10-20 gtk-options(7) --> - <!-- * --> - <!-- * svgalib(7) Svgalib User Manual svgalib(7) --> - <!-- * Svgalib 1.4.1 16 December 1999 svgalib(7) --> - <!-- * --> - <xsl:param name="title"/> - <xsl:param name="section"/> - <xsl:param name="extra1"/> - <xsl:param name="extra2"/> - <xsl:param name="extra3"/> - - <xsl:call-template name="mark.subheading"/> - <!-- * Note that we generate quotes around _every_ field in the --> - <!-- * .TH title line, including the "title" and "section" --> - <!-- * fields. That is because we use the contents of those "as --> - <!-- * is", unchanged from the DocBook source; and DTD-based --> - <!-- * validation does not provide a way to constrain them to be --> - <!-- * "space free" --> - <xsl:text>.TH "</xsl:text> - <xsl:call-template name="string.upper"> - <xsl:with-param name="string"> - <xsl:choose> - <xsl:when test="$man.th.title.max.length != ''"> - <xsl:value-of - select="normalize-space(substring($title, 1, $man.th.title.max.length))"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="normalize-space($title)"/> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - </xsl:call-template> - <xsl:text>" "</xsl:text> - <xsl:value-of select="normalize-space($section)"/> - <xsl:text>" "</xsl:text> - <xsl:if test="$man.th.extra1.suppress = 0"> - <!-- * there is no max.length for the extra1 field; the reason --> - <!-- * is, it is almost always a date, and it is not possible --> - <!-- * to truncate dates without changing their meaning --> - <xsl:value-of select="normalize-space($extra1)"/> - </xsl:if> - <xsl:text>" "</xsl:text> - <xsl:if test="$man.th.extra2.suppress = 0"> - <xsl:choose> - <!-- * if max.length is non-empty, use value to truncate field --> - <xsl:when test="$man.th.extra2.max.length != ''"> - <xsl:value-of - select="normalize-space(substring($extra2, 1, $man.th.extra2.max.length))"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="normalize-space($extra2)"/> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - <xsl:text>" "</xsl:text> - <xsl:if test="$man.th.extra3.suppress = 0"> - <xsl:choose> - <!-- * if max.length is non-empty, use value to truncate field --> - <xsl:when test="$man.th.extra3.max.length != ''"> - <xsl:value-of - select="normalize-space(substring($extra3, 1, $man.th.extra3.max.length))"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="normalize-space($extra3)"/> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - <xsl:text>" </xsl:text> - <xsl:call-template name="mark.subheading"/> - </xsl:template> - - <!-- ============================================================== --> - - <xsl:template name="set.default.formatting"> - <!-- * Set default hyphenation, justification, indentation and --> - <!-- * line-breaking --> - <!-- * --> - <!-- * If the value of man.hypenate is zero (the default), then --> - <!-- * disable hyphenation (".nh" = "no hyphenation") --> - <xsl:text>.\" ----------------------------------------------------------------- </xsl:text> - <xsl:text>.\" * set default formatting </xsl:text> - <xsl:text>.\" ----------------------------------------------------------------- </xsl:text> - <xsl:if test="$man.hyphenate = 0"> - <xsl:text>.\" disable hyphenation </xsl:text> - <xsl:text>.nh </xsl:text> - </xsl:if> - <!-- * If the value of man.justify is zero (the default), then --> - <!-- * disable justification (".ad l" means "adjust to left only") --> - <xsl:if test="$man.justify = 0"> - <xsl:text>.\" disable justification</xsl:text> - <xsl:text> (adjust text to left margin only) </xsl:text> - <xsl:text>.ad l </xsl:text> - </xsl:if> - <xsl:if test="not($man.indent.refsect = 0)"> - <xsl:text>.\" store initial "default indentation value" </xsl:text> - <xsl:text>.nr zq \n(IN </xsl:text> - <xsl:text>.\" adjust default indentation </xsl:text> - <xsl:text>.nr IN </xsl:text> - <xsl:value-of select="$man.indent.width"/> - <xsl:text> </xsl:text> - <xsl:text>.\" adjust indentation of SS headings </xsl:text> - <xsl:text>.nr SN \n(IN </xsl:text> - </xsl:if> - <!-- * Unless the value of man.break.after.slash is zero (the --> - <!-- * default), tell groff that it is OK to break a line --> - <!-- * after a slash when needed. --> - <xsl:if test="$man.break.after.slash != 0"> - <xsl:text>.\" enable line breaks after slashes </xsl:text> - <xsl:text>.cflags 4 / </xsl:text> - </xsl:if> - </xsl:template> - - <!-- ================================================================== --> - - <!-- * The prepare.manpage.contents template is called after all --> - <!-- * other processing has been done, before serializing the --> - <!-- * result of all the other processing. It basically works on --> - <!-- * the result as one big string. --> - <xsl:template name="prepare.manpage.contents"> - <xsl:param name="content" select="''"/> - - <!-- * If user has provided a "local" string-substitution map to --> - <!-- * be applied /before/ the standard string-substitution map, --> - <!-- * apply it. --> - <xsl:variable name="pre.adjusted.content"> - <xsl:choose> - <xsl:when test="$man.string.subst.map.local.pre"> - <!-- * normalized value of man.string.subst.map.local.pre --> - <!-- * is non-empty, so get contents of map and apply them --> - <xsl:call-template name="apply-string-subst-map"> - <xsl:with-param name="content" select="$content"/> - <xsl:with-param name="map.contents" - select="exsl:node-set($man.string.subst.map.local.pre)/*"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <!-- * value of man.string.subst.map.local.pre is empty, --> - <!-- * so just copy original contents --> - <xsl:value-of select="$content"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <!-- * Apply standard string-substitution map. The main purpose --> - <!-- * of this map is to escape certain characters that have --> - <!-- * special meaning in roff, and to replace certain characters --> - <!-- * used within the stylesheet internally to represent roff --> - <!-- * markup characters. --> - <xsl:variable name="adjusted.content"> - <xsl:call-template name="apply-string-subst-map"> - <xsl:with-param name="content" select="$pre.adjusted.content"/> - <xsl:with-param name="map.contents" - select="exsl:node-set($man.string.subst.map)/*"/> - </xsl:call-template> - </xsl:variable> - - <!-- * If user has provided a "local" string-substitution map to --> - <!-- * be applied /after/ the standard string-substitution map, --> - <!-- * apply it. --> - <xsl:variable name="post.adjusted.content"> - <xsl:choose> - <xsl:when test="$man.string.subst.map.local.post"> - <!-- * normalized value of man.string.subst.map.local.post --> - <!-- * is non-empty, so get contents of map and apply them --> - <xsl:call-template name="apply-string-subst-map"> - <xsl:with-param name="content" select="$adjusted.content"/> - <xsl:with-param name="map.contents" - select="exsl:node-set($man.string.subst.map.local.post)/*"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <!-- * value of man.string.subst.map.local.post is empty, --> - <!-- * so just copy original contents --> - <xsl:value-of select="$adjusted.content"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - - <!-- * Optionally, apply a character map to replace Unicode --> - <!-- * symbols and special characters. --> - <xsl:choose> - <xsl:when test="$man.charmap.enabled != 0"> - <xsl:call-template name="apply-character-map"> - <xsl:with-param name="content" select="$post.adjusted.content"/> - <xsl:with-param name="map.contents" - select="exsl:node-set($man.charmap.contents)/*"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <!-- * if we reach here, value of $man.charmap.enabled is zero, --> - <!-- * so we just pass the adjusted contents through "as is" --> - <xsl:value-of select="$adjusted.content"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- ================================================================== --> - - <xsl:template name="write.man.file"> - <xsl:param name="name"/> - <xsl:param name="section"/> - <xsl:param name="lang"/> - <xsl:param name="content"/> - <xsl:param name="filename"> - <xsl:call-template name="make.adjusted.man.filename"> - <xsl:with-param name="name" select="$name"/> - <xsl:with-param name="section" select="$section"/> - <xsl:with-param name="lang" select="$lang"/> - </xsl:call-template> - </xsl:param> - <xsl:call-template name="write.text.chunk"> - <xsl:with-param name="filename" select="$filename"/> - <xsl:with-param name="suppress-context-node-name" select="1"/> - <xsl:with-param name="quiet" select="$man.output.quietly"/> - <xsl:with-param - name="message-prolog" - >Note: </xsl:with-param> - <xsl:with-param name="encoding" select="$man.output.encoding"/> - <xsl:with-param name="content" select="$content"/> - </xsl:call-template> - </xsl:template> - - <!-- ============================================================== --> - - <!-- * A "stub" is sort of alias for another file, intended to be read --> - <!-- * and expanded by soelim(1); it's simply a file whose complete --> - <!-- * contents are just a single line of the following form: --> - <!-- * --> - <!-- * .so manX/realname.X --> - <!-- * --> - <!-- * "realname" is a name of another man-page file. That .so line is --> - <!-- * basically a roff "include" statement. When the man command finds --> - <!-- * it, it calls soelim(1) and includes and displays the contents of --> - <!-- * the manX/realqname.X file. --> - <!-- * --> - <!-- * If a refentry has multiple refnames, we generate a "stub" page for --> - <!-- * each refname found, except for the first one. --> - <xsl:template name="write.stubs"> - <xsl:param name="first.refname"/> - <xsl:param name="section"/> - <xsl:param name="lang"/> - <xsl:for-each select="refnamediv/refname"> - <xsl:if test=". != $first.refname"> - <xsl:call-template name="write.text.chunk"> - <xsl:with-param name="filename"> - <xsl:call-template name="make.adjusted.man.filename"> - <xsl:with-param name="name" select="."/> - <xsl:with-param name="section" select="$section"/> - <xsl:with-param name="lang" select="$lang"/> - </xsl:call-template> - </xsl:with-param> - <xsl:with-param name="quiet" select="$man.output.quietly"/> - <xsl:with-param name="suppress-context-node-name" select="1"/> - <xsl:with-param name="message-prolog">Note: </xsl:with-param> - <xsl:with-param name="message-epilog"> (soelim stub)</xsl:with-param> - <xsl:with-param name="content"> - <xsl:value-of select="'.so '"/> - <xsl:call-template name="make.adjusted.man.filename"> - <xsl:with-param name="name" select="$first.refname"/> - <xsl:with-param name="section" select="$section"/> - <xsl:with-param name="lang" select="$lang"/> - </xsl:call-template> - <xsl:text> </xsl:text> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:for-each> - </xsl:template> - - <!-- ============================================================== --> - - <!-- * A manifest file is useful for doing "make clean" during --> - <!-- * builds and for other purposes. When we make the manifest --> - <!-- * file, we need to include in it a filename for each man-page --> - <!-- * generated, including any "stub" pages. --> - <xsl:template name="generate.manifest"> - <xsl:variable name="filelist"> - <xsl:for-each select="//refentry"> - <!-- * all refname instances in a Refentry inherit their section --> - <!-- * numbers from the parent Refentry; so we only need to get --> - <!-- * the section once per Refentry, not once per Refname --> - <xsl:variable name="section"> - <xsl:call-template name="get.refentry.section"> - <xsl:with-param name="quiet" select="1"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="lang"> - <xsl:call-template name="l10n.language"/> - </xsl:variable> - <xsl:for-each select="refnamediv/refname"> - <xsl:call-template name="make.adjusted.man.filename"> - <xsl:with-param name="name" select="."/> - <xsl:with-param name="section" select="$section"/> - <xsl:with-param name="lang" select="$lang"/> - </xsl:call-template> - <xsl:text> </xsl:text> - </xsl:for-each> - </xsl:for-each> - </xsl:variable> - - <!-- * we write the manifest file once per document, not once per --> - <!-- * Refentry --> - <xsl:call-template name="write.text.chunk"> - <xsl:with-param name="filename"> - <xsl:value-of select="$man.output.manifest.filename"/> - </xsl:with-param> - <xsl:with-param name="quiet" select="1"/> - <xsl:with-param name="message-prolog">Note: </xsl:with-param> - <xsl:with-param name="message-epilog"> (manifest file)</xsl:with-param> - <xsl:with-param name="content"> - <xsl:value-of select="$filelist"/> - </xsl:with-param> - </xsl:call-template> - <xsl:if test="$man.output.quietly = 0"> - <xsl:message><xsl:text> </xsl:text></xsl:message> - </xsl:if> - </xsl:template> - - <!-- ============================================================== --> - - <!-- There is some stuff, that is not portable between groff/troff. --> - <xsl:template name="define.portability.macros"> - <xsl:text>.\" ----------------------------------------------------------------- </xsl:text> - <xsl:text>.\" * Define some portability stuff </xsl:text> - <xsl:text>.\" ----------------------------------------------------------------- </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.\" http://bugs.debian.org/507673 </xsl:text> - <xsl:text>.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.ie \n(.g .ds Aq \(aq</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.el .ds Aq '</xsl:text> - <xsl:text> </xsl:text> - </xsl:template> - - <!-- ============================================================== --> - - <xsl:template name="define.macros"> - <xsl:text>.\" ----------------------------------------------------------------- </xsl:text> - <xsl:text>.\" * (re)Define some macros </xsl:text> - <xsl:text>.\" ----------------------------------------------------------------- </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.\" toupper - uppercase a string (locale-aware) </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.de toupper </xsl:text> - <xsl:text>.tr</xsl:text> - <xsl:text> </xsl:text> - <xsl:call-template name="make.tr.uppercase.arg"/> - <xsl:text>\\$* </xsl:text> - <xsl:text>.tr</xsl:text> - <xsl:text> </xsl:text> - <xsl:call-template name="make.tr.normalcase.arg"/> - <xsl:text>.. </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.\" SH-xref - format a cross-reference to an SH section </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.de SH-xref -.ie n \{\ -.\} -.toupper \\$* -.el \{\ -\\$* -.\} -.. </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.\" SH - level-one heading that works better for non-TTY output </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.de1 SH </xsl:text> - <xsl:text>.\" put an extra blank line of space above the head in non-TTY output </xsl:text> - <xsl:call-template name="roff-if-start"> - <xsl:with-param name="condition">t</xsl:with-param> - </xsl:call-template> - <xsl:text>.sp 1 </xsl:text> - <xsl:call-template name="roff-if-end"/> - <xsl:text>.sp \\n[PD]u -.nr an-level 1 -.set-an-margin -.nr an-prevailing-indent \\n[IN] -.fi -.in \\n[an-margin]u -.ti 0 -.HTML-TAG ".NH \\n[an-level]" -.it 1 an-trap -.nr an-no-space-flag 1 -.nr an-break-flag 1 -\." make the size of the head bigger -.ps +3 -.ft B -.ne (2v + 1u) -.ie n \{\ -.\" if n (TTY output), use uppercase -.toupper \\$* -.\} -.el \{\ -.nr an-break-flag 0 -.\" if not n (not TTY), use normal case (not uppercase) -\\$1 -.in \\n[an-margin]u -.ti 0 -.\" if not n (not TTY), put a border/line under subheading -.sp -.6 -\l'\n(.lu' -.\} -.. </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.\" SS - level-two heading that works better for non-TTY output </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.de1 SS -.sp \\n[PD]u -.nr an-level 1 -.set-an-margin -.nr an-prevailing-indent \\n[IN] -.fi -.in \\n[IN]u -.ti \\n[SN]u -.it 1 an-trap -.nr an-no-space-flag 1 -.nr an-break-flag 1 -.ps \\n[PS-SS]u -\." make the size of the head bigger -.ps +2 -.ft B -.ne (2v + 1u) -.if \\n[.$] \&\\$* -.. </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.\" BB/EB - put background/screen (filled box) around block of text </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.de BB -.if t \{\ -.sp -.5 -.br -.in +2n -.ll -2n -.gcolor red -.di BX -.\} -.. -.de EB -.if t \{\ -.if "\\$2"adjust-for-leading-newline" \{\ -.sp -1 -.\} -.br -.di -.in -.ll -.gcolor -.nr BW \\n(.lu-\\n(.i -.nr BH \\n(dn+.5v -.ne \\n(BHu+.5v -.ie "\\$2"adjust-for-leading-newline" \{\ -\M[\\$1]\h'1n'\v'+.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[] -.\} -.el \{\ -\M[\\$1]\h'1n'\v'-.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[] -.\} -.in 0 -.sp -.5v -.nf -.BX -.in -.sp .5v -.fi -.\} -.. </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.\" BM/EM - put colored marker in margin next to block of text </xsl:text> - <xsl:text>.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </xsl:text> - <xsl:text>.de BM -.if t \{\ -.br -.ll -2n -.gcolor red -.di BX -.\} -.. -.de EM -.if t \{\ -.br -.di -.ll -.gcolor -.nr BH \\n(dn -.ne \\n(BHu -\M[\\$1]\D'P -.75n 0 0 \\n(BHu -(\\n[.i]u - \\n(INu - .75n) 0 0 -\\n(BHu'\M[] -.in 0 -.nf -.BX -.in -.fi -.\} -.. </xsl:text> -</xsl:template> - -<xsl:template name="make.tr.uppercase.arg"> - <xsl:call-template name="string.shuffle"> - <xsl:with-param name="string1"> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'lowercase.alpha'"/> - </xsl:call-template> - </xsl:with-param> - <xsl:with-param name="string2"> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'uppercase.alpha'"/> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template name="make.tr.normalcase.arg"> - <xsl:call-template name="string.shuffle"> - <xsl:with-param name="string1"> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'lowercase.alpha'"/> - </xsl:call-template> - </xsl:with-param> - <xsl:with-param name="string2"> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'lowercase.alpha'"/> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template name="string.shuffle"> - <!-- * given two strings, "shuffle" them together into one --> - <xsl:param name="string1"/> - <xsl:param name="string2"/> - <xsl:value-of select="substring($string1, 1, 1)"/> - <xsl:value-of select="substring($string2, 1, 1)"/> - <xsl:if test="string-length($string1) > 1"> - <xsl:call-template name="string.shuffle"> - <xsl:with-param name="string1"> - <xsl:value-of select="substring($string1, 2)"/> - </xsl:with-param> - <xsl:with-param name="string2"> - <xsl:value-of select="substring($string2, 2)"/> - </xsl:with-param> - </xsl:call-template> - </xsl:if> -</xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/param.xml b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/param.xml deleted file mode 100644 index db8fb843d..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/param.xml +++ /dev/null @@ -1,3220 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> -<book version="5.0"> - <info> - <title>Manpages Parameter Reference</title> - <releaseinfo role="meta"> - $Id: param.xweb 9130 2011-10-11 08:05:37Z dpawson $ - </releaseinfo> - <author> - <orgname>The DocBook Project</orgname> - </author> - <copyright> - <year>2005-2011</year> - <holder>The DocBook Project</holder> - </copyright> - <abstract> - <para>This is reference documentation for all user-configurable - parameters in the DocBook XSL "manpages" stylesheet (for - generating groff/nroff output). Note that the manpages - stylesheet is a customization layer of the DocBook XSL HTML - stylesheet. Therefore, you can also use a number of <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../html/">HTML stylesheet parameters</link> - to control manpages output (in addition to the - manpages-specific parameters listed in this section).</para> - </abstract> - </info> - <reference xml:id="general"> - <title>Hyphenation, justification, and breaking</title> -<refentry version="5.0" xml:id="man.hyphenate"> -<refmeta> -<refentrytitle>man.hyphenate</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.hyphenate</refname> -<refpurpose>Enable hyphenation?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.hyphenate.frag"> -<xsl:param name="man.hyphenate">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If non-zero, hyphenation is enabled.</para> - -<note> -<para>The default value for this parameter is zero because groff is -not particularly smart about how it does hyphenation; it can end up -hyphenating a lot of things that you don't want hyphenated. To -mitigate that, the default behavior of the stylesheets is to suppress -hyphenation of computer inlines, filenames, and URLs. (You can -override the default behavior by setting non-zero values for the -<parameter>man.hyphenate.urls</parameter>, -<parameter>man.hyphenate.filenames</parameter>, and -<parameter>man.hyphenate.computer.inlines</parameter> parameters.) But -the best way is still to just globally disable hyphenation, as the -stylesheets do by default.</para> - -<para>The only good reason to enabled hyphenation is if you have also -enabled justification (which is disabled by default). The reason is -that justified text can look very bad unless you also hyphenate it; to -quote the <quote>Hypenation</quote> node from the groff info page: - -<blockquote> - <para><emphasis>Since the odds are not great for finding a set of - words, for every output line, which fit nicely on a line without - inserting excessive amounts of space between words, 'gtroff' - hyphenates words so that it can justify lines without inserting too - much space between words.</emphasis></para> -</blockquote> - -So, if you set a non-zero value for the -<parameter>man.justify</parameter> parameter (to enable -justification), then you should probably also set a non-zero value for -<parameter>man.hyphenate</parameter> (to enable hyphenation).</para> -</note> - - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.hyphenate.urls"> -<refmeta> -<refentrytitle>man.hyphenate.urls</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.hyphenate.urls</refname> -<refpurpose>Hyphenate URLs?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.hyphenate.urls.frag"> -<xsl:param name="man.hyphenate.urls">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If zero (the default), hyphenation is suppressed for output of -the <tag>ulink</tag> <tag class="attribute">url</tag> attribute.</para> - -<note> - <para>If hyphenation is already turned off globally (that is, if - <parameter>man.hyphenate</parameter> is zero, setting - <parameter>man.hyphenate.urls</parameter> is not necessary.</para> -</note> - -<para>If <parameter>man.hyphenate.urls</parameter> is non-zero, URLs -will not be treated specially and are subject to hyphenation just like -other words.</para> - -<note> - <para>If you are thinking about setting a non-zero value for - <parameter>man.hyphenate.urls</parameter> in order to make long - URLs break across lines, you'd probably be better off - experimenting with setting the - <parameter>man.break.after.slash</parameter> parameter first. That - will cause long URLs to be broken after slashes.</para> -</note> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.hyphenate.filenames"> -<refmeta> -<refentrytitle>man.hyphenate.filenames</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.hyphenate.filenames</refname> -<refpurpose>Hyphenate filenames?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.hyphenate.filenames.frag"> -<xsl:param name="man.hyphenate.filenames">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If zero (the default), hyphenation is suppressed for -<tag>filename</tag> output.</para> - -<note> - <para>If hyphenation is already turned off globally (that is, if - <parameter>man.hyphenate</parameter> is zero, setting - <parameter>man.hyphenate.filenames</parameter> is not - necessary.</para> -</note> - -<para>If <parameter>man.hyphenate.filenames</parameter> is non-zero, -filenames will not be treated specially and are subject to hyphenation -just like other words.</para> - -<note> - <para>If you are thinking about setting a non-zero value for - <parameter>man.hyphenate.filenames</parameter> in order to make long - filenames/pathnames break across lines, you'd probably be better off - experimenting with setting the - <parameter>man.break.after.slash</parameter> parameter first. That - will cause long pathnames to be broken after slashes.</para> -</note> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.hyphenate.computer.inlines"> -<refmeta> -<refentrytitle>man.hyphenate.computer.inlines</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.hyphenate.computer.inlines</refname> -<refpurpose>Hyphenate computer inlines?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.hyphenate.computer.inlines.frag"> -<xsl:param name="man.hyphenate.computer.inlines">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If zero (the default), hyphenation is suppressed for -<quote>computer inlines</quote> such as environment variables, -constants, etc. This parameter current affects output of the following -elements: -<simplelist type="inline"> - - <member><tag>classname</tag></member> - <member><tag>constant</tag></member> - <member><tag>envar</tag></member> - <member><tag>errorcode</tag></member> - <member><tag>option</tag></member> - <member><tag>replaceable</tag></member> - <member><tag>userinput</tag></member> - <member><tag>type</tag></member> - <member><tag>varname</tag></member> -</simplelist> -</para> - -<note> - <para>If hyphenation is already turned off globally (that is, if - <parameter>man.hyphenate</parameter> is zero, setting the - <parameter>man.hyphenate.computer.inlines</parameter> is not - necessary.</para> -</note> - -<para>If <parameter>man.hyphenate.computer.inlines</parameter> is -non-zero, computer inlines will not be treated specially and will be -hyphenated like other words when needed.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.justify"> -<refmeta> -<refentrytitle>man.justify</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.justify</refname> -<refpurpose>Justify text to both right and left margins?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.justify.frag"> -<xsl:param name="man.justify">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If non-zero, text is justified to both the right and left -margins (or, in roff terminology, "adjusted and filled" to both the -right and left margins). If zero (the default), text is adjusted to -the left margin only -- producing what is traditionally called -"ragged-right" text.</para> - -<note> -<para>The default value for this parameter is zero because justified -text looks good only when it is also hyphenated. Without hyphenation, -excessive amounts of space often end up getting between words, in -order to "pad" lines out to align on the right margin.</para> - -<para>The problem is that groff is not particularly smart about how it -does hyphenation; it can end up hyphenating a lot of things that you -don't want hyphenated. So, disabling both justification and -hyphenation ensures that hyphens won't get inserted where you don't -want to them, and you don't end up with lines containing excessive -amounts of space between words.</para> - -<para>However, if do you decide to set a non-zero value for the -<parameter>man.justify</parameter> parameter (to enable -justification), then you should probably also set a non-zero value for -<parameter>man.hyphenate</parameter> (to enable hyphenation).</para> - -<para>Yes, these default settings run counter to how most existing man -pages are formatted. But there are some notable exceptions, such as -the <literal>perl</literal> man pages.</para> -</note> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.break.after.slash"> -<refmeta> -<refentrytitle>man.break.after.slash</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.break.after.slash</refname> -<refpurpose>Enable line-breaking after slashes?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.break.after.slash.frag"> -<xsl:param name="man.break.after.slash">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If non-zero, line-breaking after slashes is enabled. This is -mainly useful for causing long URLs or pathnames/filenames to be -broken up or "wrapped" across lines (though it also has the side -effect of sometimes causing relatively short URLs and pathnames to be -broken up across lines too).</para> - -<para>If zero (the default), line-breaking after slashes is -disabled. In that case, strings containing slashes (for example, URLs -or filenames) are not broken across lines, even if they exceed the -maximum column widith.</para> - -<warning> - <para>If you set a non-zero value for this parameter, check your - man-page output carefuly afterwards, in order to make sure that the - setting has not introduced an excessive amount of breaking-up of URLs - or pathnames. If your content contains mostly short URLs or - pathnames, setting a non-zero value for - <parameter>man.break.after.slash</parameter> will probably result in - in a significant number of relatively short URLs and pathnames being - broken across lines, which is probably not what you want.</para> -</warning> - -</refsection> -</refentry> - - </reference> - <reference xml:id="indent"> - <title>Indentation</title> -<refentry version="5.0" xml:id="man.indent.width"> -<refmeta> -<refentrytitle>man.indent.width</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">length</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.indent.width</refname> -<refpurpose>Specifies width used for adjusted indents</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.indent.width.frag"> -<xsl:param name="man.indent.width">4</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> -<para>The <parameter>man.indent.width</parameter> parameter specifies -the width used for adjusted indents. The value of -<parameter>man.indent.width</parameter> is used for indenting of -lists, verbatims, headings, and elsewhere, depending on whether the -values of certain <literal>man.indent.*</literal> boolean parameters -are non-zero.</para> - -<para>The value of <parameter>man.indent.width</parameter> should -include a valid roff measurement unit (for example, -<literal>n</literal> or <literal>u</literal>). The default value of -<literal>4n</literal> specifies a 4-en width; when viewed on a -console, that amounts to the width of four characters. For details -about roff measurment units, see the <literal>Measurements</literal> -node in the groff info page.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.indent.refsect"> -<refmeta> -<refentrytitle>man.indent.refsect</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.indent.refsect</refname> -<refpurpose>Adjust indentation of refsect* and refsection?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.indent.refsect.frag"> -<xsl:param name="man.indent.refsect" select="0"></xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.indent.refsect</parameter> is -non-zero, the width of the left margin for -<tag>refsect1</tag>, <tag>refsect2</tag> and -<tag>refsect3</tag> contents and titles (and first-level, -second-level, and third-level nested -<tag>refsection</tag>instances) is adjusted by the value of -the <parameter>man.indent.width</parameter> parameter. With -<parameter>man.indent.width</parameter> set to its default value of -<literal>3n</literal>, the main results are that: - -<itemizedlist> - <listitem> - <para>contents of <tag>refsect1</tag> are output with a - left margin of three characters instead the roff default of seven - or eight characters</para> - </listitem> - <listitem> - <para>contents of <tag>refsect2</tag> are displayed in - console output with a left margin of six characters instead the of - the roff default of seven characters</para> - </listitem> - <listitem> - <para> the contents of <tag>refsect3</tag> and nested - <tag>refsection</tag> instances are adjusted - accordingly.</para> - </listitem> -</itemizedlist> - -If instead the value of <parameter>man.indent.refsect</parameter> is -zero, no margin adjustment is done for <literal>refsect*</literal> -output.</para> - -<tip> - <para>If your content is primarly comprised of - <tag>refsect1</tag> and <tag>refsect2</tag> content - (or the <tag>refsection</tag> equivalent) – with few or - no <tag>refsect3</tag> or lower nested sections , you may be - able to “conserve” space in your output by setting - <parameter>man.indent.refsect</parameter> to a non-zero value. Doing - so will “squeeze” the left margin in such as way as to provide an - additional four characters of “room” per line in - <tag>refsect1</tag> output. That extra room may be useful - if, for example, you have many verbatim sections with long lines in - them.</para> -</tip> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.indent.blurbs"> -<refmeta> -<refentrytitle>man.indent.blurbs</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.indent.blurbs</refname> -<refpurpose>Adjust indentation of blurbs?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.indent.blurbs.frag"> -<xsl:param name="man.indent.blurbs" select="1"></xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.indent.blurbs</parameter> is -non-zero, the width of the left margin for -<tag>authorblurb</tag>, <tag>personblurb</tag>, and -<tag>contrib</tag> output is set to the value of the -<parameter>man.indent.width</parameter> parameter -(<literal>3n</literal> by default). If instead the value of -<parameter>man.indent.blurbs</parameter> is zero, the built-in roff -default width (<literal>7.2n</literal>) is used.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.indent.lists"> -<refmeta> -<refentrytitle>man.indent.lists</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.indent.lists</refname> -<refpurpose>Adjust indentation of lists?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.indent.lists.frag"> -<xsl:param name="man.indent.lists" select="1"></xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.indent.lists</parameter> is -non-zero, the width of the left margin for list items in -<tag>itemizedlist</tag>, -<tag>orderedlist</tag>, -<tag>variablelist</tag> output (and output of some other -lists) is set to the value of the -<parameter>man.indent.width</parameter> parameter -(<literal>4n</literal> by default). If instead the value of -<parameter>man.indent.lists</parameter> is zero, the built-in roff -default width (<literal>7.2n</literal>) is used.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.indent.verbatims"> -<refmeta> -<refentrytitle>man.indent.verbatims</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.indent.verbatims</refname> -<refpurpose>Adjust indentation of verbatims?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.indent.verbatims.frag"> -<xsl:param name="man.indent.verbatims" select="1"></xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.indent.verbatims</parameter> is -non-zero, the width of the left margin for output of verbatim -environments (<tag>programlisting</tag>, -<tag>screen</tag>, and so on) is set to the value of the -<parameter>man.indent.width</parameter> parameter -(<literal>3n</literal> by default). If instead the value of -<parameter>man.indent.verbatims</parameter> is zero, the built-in roff -default width (<literal>7.2n</literal>) is used.</para> - -</refsection> -</refentry> - - </reference> - <reference xml:id="fonts"> - <title>Fonts</title> -<refentry version="5.0" xml:id="man.font.funcprototype"> -<refmeta> -<refentrytitle>man.font.funcprototype</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.font.funcprototype</refname> -<refpurpose>Specifies font for funcprototype output</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.font.funcprototype.frag"> - <xsl:param name="man.font.funcprototype">BI</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The <parameter>man.font.funcprototype</parameter> parameter -specifies the font for <tag>funcprototype</tag> output. It -should be a valid roff font name, such as <literal>BI</literal> or -<literal>B</literal>.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.font.funcsynopsisinfo"> -<refmeta> -<refentrytitle>man.font.funcsynopsisinfo</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.font.funcsynopsisinfo</refname> -<refpurpose>Specifies font for funcsynopsisinfo output</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.font.funcsynopsisinfo.frag"> - <xsl:param name="man.font.funcsynopsisinfo">B</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The <parameter>man.font.funcsynopsisinfo</parameter> parameter -specifies the font for <tag>funcsynopsisinfo</tag> output. It -should be a valid roff font name, such as <literal>B</literal> or -<literal>I</literal>.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.font.links"> -<refmeta> -<refentrytitle>man.font.links</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.font.links</refname> -<refpurpose>Specifies font for links</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.font.links.frag"> -<xsl:param name="man.font.links">B</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The <parameter>man.font.links</parameter> parameter -specifies the font for output of links (<tag>ulink</tag> instances -and any instances of any element with an <tag class="attribute">xlink:href</tag> attribute).</para> - -<para>The value of <parameter>man.font.links</parameter> must be - either <literal>B</literal> or <literal>I</literal>, or empty. If -the value is empty, no font formatting is applied to links.</para> - -<para>If you set <parameter>man.endnotes.are.numbered</parameter> and/or -<parameter>man.endnotes.list.enabled</parameter> to zero (disabled), then -you should probably also set an empty value for -<parameter>man.font.links</parameter>. But if -<parameter>man.endnotes.are.numbered</parameter> is non-zero (enabled), -you should probably keep -<parameter>man.font.links</parameter> set to -<literal>B</literal> or <literal>I</literal><footnote><para>The - main purpose of applying a font format to links in most output -formats it to indicate that the formatted text is -“clickable”; given that links rendered in man pages are -not “real” hyperlinks that users can click on, it might -seem like there is never a good reason to have font formatting for -link contents in man output.</para> -<para>In fact, if you suppress the -display of inline link references (by setting -<parameter>man.endnotes.are.numbered</parameter> to zero), there is no -good reason to apply font formatting to links. However, if -<parameter>man.endnotes.are.numbered</parameter> is non-zero, having -font formatting for links (arguably) serves a purpose: It provides -“context” information about exactly what part of the text -is being “annotated” by the link. Depending on how you -mark up your content, that context information may or may not -have value.</para></footnote>.</para> -</refsection> - -<refsection><info><title>Related Parameters</title></info> - <para><parameter>man.endnotes.list.enabled</parameter>, - <parameter>man.endnotes.are.numbered</parameter></para> -</refsection> - -</refentry> - -<refentry version="5.0" xml:id="man.font.table.headings"> -<refmeta> -<refentrytitle>man.font.table.headings</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.font.table.headings</refname> -<refpurpose>Specifies font for table headings</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.font.table.headings.frag"> - <xsl:param name="man.font.table.headings">B</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The <parameter>man.font.table.headings</parameter> parameter -specifies the font for <tag>table</tag> headings. It should be -a valid roff font, such as <literal>B</literal> or -<literal>I</literal>.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.font.table.title"> -<refmeta> -<refentrytitle>man.font.table.title</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.font.table.title</refname> -<refpurpose>Specifies font for table headings</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.font.table.title.frag"> - <xsl:param name="man.font.table.title">B</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The <parameter>man.font.table.title</parameter> parameter -specifies the font for <tag>table</tag> titles. It should be -a valid roff font, such as <literal>B</literal> or -<literal>I</literal>.</para> - -</refsection> -</refentry> - - </reference> - <reference xml:id="synopsis"> - <title>SYNOPSIS section</title> -<refentry version="5.0" xml:id="man.funcsynopsis.style"> -<refmeta> -<refentrytitle>man.funcsynopsis.style</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">list</refmiscinfo> -<refmiscinfo class="other" otherclass="value">ansi</refmiscinfo> -<refmiscinfo class="other" otherclass="value">kr</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.funcsynopsis.style</refname> -<refpurpose>What style of <tag>funcsynopsis</tag> should be generated?</refpurpose> -</refnamediv> -<refsynopsisdiv> -<programlisting xml:id="man.funcsynopsis.style.frag"><xsl:param name="man.funcsynopsis.style">ansi</xsl:param></programlisting> -</refsynopsisdiv> -<refsection><info><title>Description</title></info> -<para>If <parameter>man.funcsynopsis.style</parameter> is -<literal>ansi</literal>, ANSI-style function synopses are -generated for a <tag>funcsynopsis</tag>, otherwise K&R-style -function synopses are generated.</para> -</refsection> -</refentry> - - </reference> - <reference xml:id="authors"> - <title>AUTHORS and COPYRIGHT sections</title> - <refentry version="5.0" xml:id="man.authors.section.enabled"> -<refmeta> -<refentrytitle>man.authors.section.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.authors.section.enabled</refname> -<refpurpose>Display auto-generated AUTHORS section?</refpurpose> -</refnamediv> -<refsynopsisdiv> -<programlisting xml:id="man.authors.section.enabled.frag"> -<xsl:param name="man.authors.section.enabled">1</xsl:param> -</programlisting> -</refsynopsisdiv> -<refsection><info><title>Description</title></info> - -<para>If the value of -<parameter>man.authors.section.enabled</parameter> is non-zero -(the default), then an <literal>AUTHORS</literal> section is -generated near the end of each man page. The output of the -<literal>AUTHORS</literal> section is assembled from any -<tag>author</tag>, <tag>editor</tag>, and <tag>othercredit</tag> -metadata found in the contents of the child <tag>info</tag> or -<tag>refentryinfo</tag> (if any) of the <tag>refentry</tag> -itself, or from any <tag>author</tag>, <tag>editor</tag>, and -<tag>othercredit</tag> metadata that may appear in <tag>info</tag> -contents of any ancestors of the <tag>refentry</tag>.</para> - -<para>If the value of -<parameter>man.authors.section.enabled</parameter> is zero, the -the auto-generated <literal>AUTHORS</literal> section is -suppressed.</para> - -<para>Set the value of - <parameter>man.authors.section.enabled</parameter> to zero if - you want to have a manually created <literal>AUTHORS</literal> - section in your source, and you want it to appear in output - instead of the auto-generated <literal>AUTHORS</literal> - section.</para> -</refsection> -</refentry> - - <refentry version="5.0" xml:id="man.copyright.section.enabled"> -<refmeta> -<refentrytitle>man.copyright.section.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.copyright.section.enabled</refname> -<refpurpose>Display auto-generated COPYRIGHT section?</refpurpose> -</refnamediv> -<refsynopsisdiv> -<programlisting xml:id="man.copyright.section.enabled.frag"> -<xsl:param name="man.copyright.section.enabled">1</xsl:param> -</programlisting> -</refsynopsisdiv> -<refsection><info><title>Description</title></info> - -<para>If the value of -<parameter>man.copyright.section.enabled</parameter> is non-zero -(the default), then a <literal>COPYRIGHT</literal> section is -generated near the end of each man page. The output of the -<literal>COPYRIGHT</literal> section is assembled from any -<tag>copyright</tag> and <tag>legalnotice</tag> metadata found in -the contents of the child <tag>info</tag> or -<tag>refentryinfo</tag> (if any) of the <tag>refentry</tag> -itself, or from any <tag>copyright</tag> and -<tag>legalnotice</tag> metadata that may appear in <tag>info</tag> -contents of any ancestors of the <tag>refentry</tag>.</para> - -<para>If the value of -<parameter>man.copyright.section.enabled</parameter> is zero, the -the auto-generated <literal>COPYRIGHT</literal> section is -suppressed.</para> - -<para>Set the value of - <parameter>man.copyright.section.enabled</parameter> to zero if - you want to have a manually created <literal>COPYRIGHT</literal> - section in your source, and you want it to appear in output - instead of the auto-generated <literal>COPYRIGHT</literal> - section.</para> -</refsection> -</refentry> - - </reference> - <reference xml:id="endnotes"> - <title>Endnotes and link handling</title> -<refentry version="5.0" xml:id="man.endnotes.list.enabled"> -<refmeta> -<refentrytitle>man.endnotes.list.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.endnotes.list.enabled</refname> -<refpurpose>Display endnotes list at end of man page?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.endnotes.list.enabled.frag"> -<xsl:param name="man.endnotes.list.enabled">1</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.endnotes.list.enabled</parameter> is -non-zero (the default), then an endnotes list is added to the end of -the output man page.</para> - -<para>If the value of <parameter>man.endnotes.list.enabled</parameter> is -zero, the list is suppressed — unless link numbering is enabled (that -is, if <parameter>man.endnotes.are.numbered</parameter> is non-zero), in -which case, that setting overrides the -<parameter>man.endnotes.list.enabled</parameter> setting, and the -endnotes list is still displayed. The reason is that inline -numbering of notesources associated with endnotes only makes sense -if a (numbered) list of endnotes is also generated.</para> - -<note> - <para>Leaving - <parameter>man.endnotes.list.enabled</parameter> at its default - (non-zero) value ensures that no “out of line” information (such - as the URLs for hyperlinks and images) gets lost in your - man-page output. It just gets “rearranged”.</para> - <para>So if you’re thinking about disabling endnotes listing by - setting the value of - <parameter>man.endnotes.list.enabled</parameter> to zero: - Before you do so, first take some time to carefully consider - the information needs and experiences of your users. The “out - of line” information has value even if the presentation of it - in text output is not as interactive as it may be in other - output formats.</para> - <para>As far as the specific case of URLs: Even though the URLs - displayed in text output may not be “real” (clickable) - hyperlinks, many X terminals have convenience features for - recognizing URLs and can, for example, present users with - an options to open a URL in a browser with the user clicks on - the URL is a terminal window. And short of those, users with X - terminals can always manually cut and paste the URLs into a web - browser.</para> - <para>Also, note that various “man to html” tools, such as the - widely used <command><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://users.actrix.gen.nz/michael/vhman2html.html">man2html</link></command> (<literal>VH-Man2html</literal>) - application, automatically mark up URLs with <literal>a@href</literal> markup - during conversion — resulting in “real” hyperlinks in HTML - output from those tools.</para> -</note> - -<para>To “turn off” numbering of endnotes in the -endnotes list, set <parameter>man.endnotes.are.numbered</parameter> -to zero. The endnotes list will -still be displayed; it will just be displayed without the -numbers<footnote><para>It can still make sense to have -the list of endnotes displayed even if you have endnotes numbering turned -off. In that case, your endnotes list basically becomes a “list -of references” without any association with specific text in -your document. This is probably the best option if you find the inline -endnotes numbering obtrusive. Your users will still have access to all the “out of line” -such as URLs for hyperlinks.</para></footnote> -</para> - -<para>The default heading for the endnotes list is -<literal>NOTES</literal>. To change that, set a non-empty -value for the <parameter>man.endnotes.list.heading</parameter> -parameter.</para> - -<para>In the case of notesources that are links: Along with the -URL for each link, the endnotes list includes the contents of the -link. The list thus includes only non-empty<footnote> - -<para>A “non-empty” link is one that looks like -this:<literallayout class="monospaced"> <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/">manpages</ulink></literallayout> -an “empty link” is on that looks like this:<literallayout class="monospaced"> <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/></literallayout> -</para></footnote> links. - -Empty links are never included, and never numbered. They are simply -displayed inline, without any numbering.</para> - -<para>In addition, if there are multiple instances of links in a -<tag>refentry</tag> that have the same URL, the URL is listed only -once. The contents listed for that link in the endnotes list are -the contents of the first link which has that URL.</para> - -<para>If you disable endnotes listing, you should probably also set -<parameter>man.links.are.underlined</parameter> to zero (to disable -link underlining).</para> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.endnotes.list.heading"> -<refmeta> -<refentrytitle>man.endnotes.list.heading</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.endnotes.list.heading</refname> -<refpurpose>Specifies an alternate name for endnotes list</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.endnotes.list.heading.frag"> -<xsl:param name="man.endnotes.list.heading"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of the -<parameter>man.endnotes.are.numbered</parameter> parameter -and/or the <parameter>man.endnotes.list.enabled</parameter> -parameter is non-zero (the defaults for both are non-zero), a -numbered list of endnotes is generated near the end of each man -page. The default heading for the list of endnotes is the -equivalent of the English word <literal>NOTES</literal> in -the current locale. To cause an alternate heading to be displayed, -set a non-empty value for the -<parameter>man.endnotes.list.heading</parameter> parameter — -for example, <literal>REFERENCES</literal>.</para> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.endnotes.are.numbered"> -<refmeta> -<refentrytitle>man.endnotes.are.numbered</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.endnotes.are.numbered</refname> -<refpurpose>Number endnotes?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.endnotes.are.numbered.frag"> -<xsl:param name="man.endnotes.are.numbered">1</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.endnotes.are.numbered</parameter> is -non-zero (the default), then for each non-empty<footnote> -<para>A “non-empty” notesource is one that looks like -this:<literallayout class="monospaced"> <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/">manpages</ulink></literallayout> -an “empty” notesource is on that looks like this:<literallayout class="monospaced"> <ulink url="http://docbook.sf.net/snapshot/xsl/doc/manpages/"/></literallayout> -</para></footnote> “notesource”: - -<itemizedlist> - <listitem> - <para>a number (in square brackets) is displayed inline after the - rendered inline contents (if any) of the notesource</para> - </listitem> - <listitem> - <para>the contents of the notesource are included in a - numbered list of endnotes that is generated at the end of - each man page; the number for each endnote corresponds to - the inline number for the notesource with which it is - associated</para> - </listitem> -</itemizedlist> -The default heading for the list of endnotes is -<literal>NOTES</literal>. To output a different heading, set a value -for the <parameter>man.endnotes.section.heading</parameter> -parameter.</para> - -<note> - <para>The endnotes list is also displayed (but without - numbers) if the value of - <parameter>man.endnotes.list.enabled</parameter> is - non-zero.</para> -</note> - - -<para>If the value of <parameter>man.endnotes.are.numbered</parameter> is -zero, numbering of endnotess is suppressed; only inline -contents (if any) of the notesource are displayed inline. -<important> - <para>If you are thinking about disabling endnote numbering by setting - the value of <parameter>man.endnotes.are.numbered</parameter> to zero, - before you do so, first take some time to carefully - consider the information needs and experiences of your users. The - square-bracketed numbers displayed inline after notesources may seem - obstrusive and aesthetically unpleasing<footnote><para>As far as notesources that are links, ytou might - think it would be better to just display URLs for non-empty - links inline, after their content, rather than displaying - square-bracketed numbers all over the place. But it's not better. In - fact, it's not even practical, because many (most) URLs for links - are too long to be displayed inline. They end up overflowing the - right margin. You can set a non-zero value for - <parameter>man.break.after.slash</parameter> parameter to deal with - that, but it could be argued that what you end up with is at least - as ugly, and definitely more obstrusive, then having short - square-bracketed numbers displayed inline.</para></footnote>, - - but in a text-only output format, the - numbered-notesources/endnotes-listing mechanism is the only - practical way to handle this kind of content.</para> - - <para>Also, users of “text based” browsers such as - <command>lynx</command> will already be accustomed to seeing inline - numbers for links. And various "man to html" applications, such as - the widely used <command><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://users.actrix.gen.nz/michael/vhman2html.html">man2html</link></command> (<literal>VH-Man2html</literal>) - application, can automatically turn URLs into "real" HTML hyperlinks - in output. So leaving <parameter>man.endnotes.are.numbered</parameter> - at its default (non-zero) value ensures that no information is - lost in your man-page output. It just gets - “rearranged”.</para> -</important> -</para> -<para>The handling of empty links is not affected by this -parameter. Empty links are handled simply by displaying their URLs -inline. Empty links are never auto-numbered.</para> - -<para>If you disable endnotes numbering, you should probably also set -<parameter>man.font.links</parameter> to an empty value (to -disable font formatting for links.</para> -</refsection> - -<refsection><info><title>Related Parameters</title></info> - <para><parameter>man.endnotes.list.enabled</parameter>, - <parameter>man.font.links</parameter></para> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.base.url.for.relative.links"> - <refmeta> - <refentrytitle>man.base.url.for.relative.links</refentrytitle> - <refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> - </refmeta> - <refnamediv> - <refname>man.base.url.for.relative.links</refname> - <refpurpose>Specifies a base URL for relative links</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <programlisting xml:id="man.base.url.for.relative.links.frag"><xsl:param name="man.base.url.for.relative.links">[set $man.base.url.for.relative.links]/</xsl:param></programlisting> - </refsynopsisdiv> - - <refsection><info><title>Description</title></info> - - <para>For any “notesource” listed in the auto-generated - “NOTES” section of output man pages (which is generated when - the value of the - <parameter>man.endnotes.list.enabled</parameter> parameter - is non-zero), if the notesource is a link source with a - relative URI, the URI is displayed in output with the value - of the - <parameter>man.base.url.for.relative.links</parameter> - parameter prepended to the value of the link URI.</para> - - <note> - <para>A link source is an notesource that references an - external resource: - <itemizedlist> - <listitem> - <para>a <tag>ulink</tag> element with a <tag class="attribute">url</tag> attribute</para> - </listitem> - <listitem> - <para>any element with an <tag class="attribute">xlink:href</tag> attribute</para> - </listitem> - <listitem> - <para>an <tag>imagedata</tag>, <tag>audiodata</tag>, or - <tag>videodata</tag> element</para> - </listitem> - </itemizedlist> - </para> - </note> - - <para>If you use relative URIs in link sources in your DocBook - <tag>refentry</tag> source, and you leave - <parameter>man.base.url.for.relative.links</parameter> - unset, the relative links will appear “as is” in the “Notes” - section of any man-page output generated from your source. - That’s probably not what you want, because such relative - links are only usable in the context of HTML output. So, to - make the links meaningful and usable in the context of - man-page output, set a value for - <parameter>man.base.url.for.relative.links</parameter> that - points to the online version of HTML output generated from - your DocBook <tag>refentry</tag> source. For - example: - <programlisting><xsl:param name="man.base.url.for.relative.links" - >http://www.kernel.org/pub/software/scm/git/docs/</xsl:param></programlisting> - </para> - - </refsection> - - <refsection><info><title>Related Parameters</title></info> - <para><parameter>man.endnotes.list.enabled</parameter></para> - </refsection> - -</refentry> - - </reference> - <reference xml:id="lists"> - <title>Lists</title> -<refentry version="5.0" xml:id="man.segtitle.suppress"> -<refmeta> -<refentrytitle>man.segtitle.suppress</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.segtitle.suppress</refname> -<refpurpose>Suppress display of segtitle contents?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.segtitle.suppress.frag"> -<xsl:param name="man.segtitle.suppress" select="0"></xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.segtitle.suppress</parameter> is -non-zero, then display of <tag>segtitle</tag> contents is -suppressed in output.</para> - -</refsection> -</refentry> - - </reference> - <reference xml:id="charmap"> - <title>Character/string substitution</title> -<refentry version="5.0" xml:id="man.charmap.enabled"> -<refmeta> -<refentrytitle>man.charmap.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.charmap.enabled</refname> -<refpurpose>Apply character map before final output?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.charmap.enabled.frag"> -<xsl:param name="man.charmap.enabled" select="1"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of the <parameter>man.charmap.enabled</parameter> -parameter is non-zero, a "character map" is used to substitute certain -Unicode symbols and special characters with appropriate roff/groff -equivalents, just before writing each man-page file to the -filesystem. If instead the value of -<parameter>man.charmap.enabled</parameter> is zero, Unicode characters -are passed through "as is".</para> - -<refsection><info><title>Details</title></info> - -<para>For converting certain Unicode symbols and special characters in -UTF-8 or UTF-16 encoded XML source to appropriate groff/roff -equivalents in man-page output, the DocBook XSL Stylesheets -distribution includes a <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">roff character map</link> that is compliant with the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.w3.org/TR/xslt20/#character-maps">XSLT character -map</link> format as detailed in the XSLT 2.0 specification. The map -contains more than 800 character mappings and can be considered the -standard roff character map for the distribution.</para> - -<para>You can use the <parameter>man.charmap.uri</parameter> -parameter to specify a URI for the location for an alternate roff -character map to use in place of the standard roff character map -provided in the distribution.</para> - -<para>You can also use a subset of a character map. For details, -see the <parameter>man.charmap.use.subset</parameter>, -<parameter>man.charmap.subset.profile</parameter>, and -<parameter>man.charmap.subset.profile.english</parameter> -parameters.</para> - -</refsection> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.charmap.uri"> -<refmeta> -<refentrytitle>man.charmap.uri</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">uri</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.charmap.uri</refname> -<refpurpose>URI for custom roff character map</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.charmap.uri.frag"> -<xsl:param name="man.charmap.uri"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>For converting certain Unicode symbols and special characters in -UTF-8 or UTF-16 encoded XML source to appropriate groff/roff -equivalents in man-page output, the DocBook XSL Stylesheets -distribution includes an <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.w3.org/TR/xslt20/#character-maps">XSLT character -map</link>. That character map can be considered the standard roff -character map for the distribution.</para> - -<para>If the value of the <parameter>man.charmap.uri</parameter> -parameter is non-empty, that value is used as the URI for the location -for an alternate roff character map to use in place of the standard -roff character map provided in the distribution.</para> - -<warning> -<para>Do not set a value for <parameter>man.charmap.uri</parameter> -unless you have a custom roff character map that differs from the -standard one provided in the distribution.</para> -</warning> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.charmap.use.subset"> -<refmeta> -<refentrytitle>man.charmap.use.subset</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.charmap.use.subset</refname> -<refpurpose>Use subset of character map instead of full map?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.charmap.use.subset.frag"> -<xsl:param name="man.charmap.use.subset" select="1"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of the -<parameter>man.charmap.use.subset</parameter> parameter is non-zero, -a subset of the roff character map is used instead of the full roff -character map. The profile of the subset used is determined either -by the value of the -<parameter>man.charmap.subset.profile</parameter> -parameter (if the source is not in English) or the -<parameter>man.charmap.subset.profile.english</parameter> -parameter (if the source is in English).</para> - -<note> - <para>You may want to experiment with setting a non-zero value of - <parameter>man.charmap.use.subset</parameter>, so that the full - character map is used. Depending on which XSLT engine you run, - setting a non-zero value for - <parameter>man.charmap.use.subset</parameter> may significantly - increase the time needed to process your documents. Or it may - not. For example, if you set it and run it with xsltproc, it seems - to dramatically increase processing time; on the other hand, if you - set it and run it with Saxon, it does not seem to increase - processing time nearly as much.</para> - - <para>If processing time is not a important concern and/or you can - tolerate the increase in processing time imposed by using the full - character map, set <parameter>man.charmap.use.subset</parameter> to - zero.</para> -</note> - -<refsection><info><title>Details</title></info> - -<para>For converting certain Unicode symbols and special characters in -UTF-8 or UTF-16 encoded XML source to appropriate groff/roff -equivalents in man-page output, the DocBook XSL Stylesheets -distribution includes a <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">roff character map</link> that is compliant with the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.w3.org/TR/xslt20/#character-maps">XSLT character -map</link> format as detailed in the XSLT 2.0 specification. The map -contains more than 800 character mappings and can be considered the -standard roff character map for the distribution.</para> - -<note> -<para>You can use the <parameter>man.charmap.uri</parameter> -parameter to specify a URI for the location for an alternate roff -character map to use in place of the standard roff character map -provided in the distribution.</para> -</note> - -<para>Because it is not terrifically efficient to use the standard -800-character character map in full -- and for most (or all) users, -never necessary to use it in full -- the DocBook XSL Stylesheets -support a mechanism for using, within any given character map, a -subset of character mappings instead of the full set. You can use the -<parameter>man.charmap.subset.profile</parameter> or -<parameter>man.charmap.subset.profile.english</parameter> -parameter to tune the profile of that subset to use.</para> - -</refsection> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.charmap.subset.profile"> -<refmeta> -<refentrytitle>man.charmap.subset.profile</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.charmap.subset.profile</refname> -<refpurpose>Profile of character map subset</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.charmap.subset.profile.frag"> -<xsl:param name="man.charmap.subset.profile"> -@*[local-name() = 'block'] = 'Miscellaneous Technical' or -(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and - (@*[local-name() = 'class'] = 'symbols' or - @*[local-name() = 'class'] = 'letters') -) or -@*[local-name() = 'block'] = 'Latin Extended-A' -or -(@*[local-name() = 'block'] = 'General Punctuation' and - (@*[local-name() = 'class'] = 'spaces' or - @*[local-name() = 'class'] = 'dashes' or - @*[local-name() = 'class'] = 'quotes' or - @*[local-name() = 'class'] = 'bullets' - ) -) or -@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or -@*[local-name() = 'name'] = 'WORD JOINER' or -@*[local-name() = 'name'] = 'SERVICE MARK' or -@*[local-name() = 'name'] = 'TRADE MARK SIGN' or -@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' -</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of the -<parameter>man.charmap.use.subset</parameter> parameter is non-zero, -and your DocBook source is not written in English (that - is, if the <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute on the root element - in your DocBook source or on the first <tag>refentry</tag> - element in your source has a value other than - <literal>en</literal>), then the character-map subset specified - by the <parameter>man.charmap.subset.profile</parameter> - parameter is used instead of the full roff character map.</para> - -<para>Otherwise, if the <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute on the root - element in your DocBook - source or on the first <tag>refentry</tag> element in your source - has the value <literal>en</literal> or if it has no <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute, then the character-map - subset specified by the - <parameter>man.charmap.subset.profile.english</parameter> - parameter is used instead of - <parameter>man.charmap.subset.profile</parameter>.</para> - -<para>The difference between the two subsets is that - <parameter>man.charmap.subset.profile</parameter> provides - mappings for characters in Western European languages that are - not part of the Roman (English) alphabet (ASCII character set).</para> - -<para>The value of <parameter>man.charmap.subset.profile</parameter> -is a string representing an XPath expression that matches attribute -names and values for <tag namespace="http://docbook.sf.net/xmlns/unichar/1.0">output-character</tag> -elements in the character map.</para> - -<para>The attributes supported in the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">standard roff character map included in the distribution</link> are: -<variablelist> - <varlistentry> - <term>character</term> - <listitem> - <simpara>a raw Unicode character or numeric Unicode - character-entity value (either in decimal or hex); all - characters have this attribute</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>name</term> - <listitem> - <simpara>a standard full/long ISO/Unicode character name (e.g., - "OHM SIGN"); all characters have this attribute</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>block</term> - <listitem> - <simpara>a standard Unicode "block" name (e.g., "General - Punctuation"); all characters have this attribute. For the full - list of Unicode block names supported in the standard roff - character map, see <xref linkend="BlocksAndClasses"/>.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>class</term> - <listitem> - <simpara>a class of characters (e.g., "spaces"). Not all - characters have this attribute; currently, it is used only with - certain characters within the "C1 Controls And Latin-1 - Supplement" and "General Punctuation" blocks. For details, see - <xref linkend="BlocksAndClasses"/>.</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>entity</term> - <listitem> - <simpara>an ISO entity name (e.g., "ohm"); not all characters - have this attribute, because not all characters have ISO entity - names; for example, of the 800 or so characters in the standard - roff character map included in the distribution, only around 300 - have ISO entity names. - </simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>string</term> - <listitem> - <simpara>a string representing an roff/groff escape-code (with - "@esc@" used in place of the backslash), or a simple ASCII - string; all characters in the roff character map have this - attribute</simpara> - </listitem> - </varlistentry> -</variablelist> -</para> -<para>The value of <parameter>man.charmap.subset.profile</parameter> -is evaluated as an XPath expression at run-time to select a portion of -the roff character map to use. You can tune the subset used by adding -or removing parts. For example, if you need to use a wide range of -mathematical operators in a document, and you want to have them -converted into roff markup properly, you might add the following: - -<literallayout class="monospaced"> @*[local-name() = 'block'] ='MathematicalOperators' </literallayout> - -That will cause a additional set of around 67 additional "math" -characters to be converted into roff markup. </para> - -<note> -<para>Depending on which XSLT engine you use, either the EXSLT -<function>dyn:evaluate</function> extension function (for xsltproc or -Xalan) or <function>saxon:evaluate</function> extension function (for -Saxon) are used to dynamically evaluate the value of -<parameter>man.charmap.subset.profile</parameter> at run-time. If you -don't use xsltproc, Saxon, Xalan -- or some other XSLT engine that -supports <function>dyn:evaluate</function> -- you must either set the -value of the <parameter>man.charmap.use.subset</parameter> parameter -to zero and process your documents using the full character map -instead, or set the value of the -<parameter>man.charmap.enabled</parameter> parameter to zero instead -(so that character-map processing is disabled completely.</para> -</note> - -<para>An alternative to using -<parameter>man.charmap.subset.profile</parameter> is to create your -own custom character map, and set the value of -<parameter>man.charmap.uri</parameter> to the URI/filename for -that. If you use a custom character map, you will probably want to -include in it just the characters you want to use, and so you will -most likely also want to set the value of -<parameter>man.charmap.use.subset</parameter> to zero.</para> -<para>You can create a -custom character map by making a copy of the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://docbook.sourceforge.net/snapshot/xsl/manpages/charmap.groff.xsl">standard roff character map</link> provided in the distribution, and -then adding to, changing, and/or deleting from that.</para> - -<caution> -<para>If you author your DocBook XML source in UTF-8 or UTF-16 -encoding and aren't sure what OSes or environments your man-page -output might end up being viewed on, and not sure what version of -nroff/groff those environments might have, you should be careful about -what Unicode symbols and special characters you use in your source and -what parts you add to the value of -<parameter>man.charmap.subset.profile</parameter>.</para> -<para>Many of the escape codes used are specific to groff and using -them may not provide the expected output on an OS or environment that -uses nroff instead of groff.</para> -<para>On the other hand, if you intend for your man-page output to be -viewed only on modern systems (for example, GNU/Linux systems, FreeBSD -systems, or Cygwin environments) that have a good, up-to-date groff, -then you can safely include a wide range of Unicode symbols and -special characters in your UTF-8 or UTF-16 encoded DocBook XML source -and add any of the supported Unicode block names to the value of -<parameter>man.charmap.subset.profile</parameter>.</para> -</caution> - - -<para>For other details, see the documentation for the -<parameter>man.charmap.use.subset</parameter> parameter.</para> - -<refsection xml:id="BlocksAndClasses"><info><title>Supported Unicode block names and "class" values</title></info> - - - <para>Below is the full list of Unicode block names and "class" - values supported in the standard roff stylesheet provided in the - distribution, along with a description of which codepoints from the - Unicode range corresponding to that block name or block/class - combination are supported.</para> - - <itemizedlist> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=C1%20Controls%20and%20Latin-1%20Supplement%20(Latin-1%20Supplement)">C1 Controls And Latin-1 Supplement (Latin-1 Supplement)</link> (x00a0 to x00ff) - <itemizedlist><info><title>class values</title></info> - - <listitem> - <para>symbols</para> - </listitem> - <listitem> - <para>letters</para> - </listitem> - </itemizedlist></para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Latin%20Extended-A">Latin Extended-A</link> (x0100 to x017f, partial)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Spacing%20Modifier%20Letters">Spacing Modifier Letters</link> (x02b0 to x02ee, partial)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Greek%20and%20Coptic">Greek and Coptic</link> (x0370 to x03ff, partial)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=General%20Punctuation">General Punctuation</link> (x2000 to x206f, partial) - <itemizedlist><info><title>class values</title></info> - - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&start=8192&end=8203">spaces</link></para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&start=8208&end=8213">dashes</link></para> - </listitem> - <listitem> - <para>quotes</para> - </listitem> - <listitem> - <para>daggers</para> - </listitem> - <listitem> - <para>bullets</para> - </listitem> - <listitem> - <para>leaders</para> - </listitem> - <listitem> - <para>primes</para> - </listitem> - </itemizedlist> - </para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Superscripts%20and%20Subscripts">Superscripts and Subscripts</link> (x2070 to x209f)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Currency%20Symbols">Currency Symbols</link> (x20a0 to x20b1)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Letterlike%20Symbols">Letterlike Symbols</link> (x2100 to x214b)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Number%20Forms">Number Forms</link> (x2150 to x218f)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Arrows">Arrows</link> (x2190 to x21ff, partial)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Mathematical%20Operators">Mathematical Operators</link> (x2200 to x22ff, partial)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Control%20Pictures">Control Pictures</link> (x2400 to x243f)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Enclosed%20Alphanumerics">Enclosed Alphanumerics</link> (x2460 to x24ff)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Geometric%20Shapes">Geometric Shapes</link> (x25a0 to x25f7, partial)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Miscellaneous%20Symbols">Miscellaneous Symbols</link> (x2600 to x26ff, partial)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Dingbats">Dingbats</link> (x2700 to x27be, partial)</para> - </listitem> - <listitem> - <para><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://zvon.org/other/charSearch/PHP/search.php?searchType=103&id=Alphabetic%20Presentation%20Forms">Alphabetic Presentation Forms</link> (xfb00 to xfb04 only)</para> - </listitem> - </itemizedlist> -</refsection> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.charmap.subset.profile.english"> -<refmeta> -<refentrytitle>man.charmap.subset.profile.english</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.charmap.subset.profile.english</refname> -<refpurpose>Profile of character map subset</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.charmap.subset.profile.english.frag"> -<xsl:param name="man.charmap.subset.profile.english"> -@*[local-name() = 'block'] = 'Miscellaneous Technical' or -(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and - @*[local-name() = 'class'] = 'symbols') -or -(@*[local-name() = 'block'] = 'General Punctuation' and - (@*[local-name() = 'class'] = 'spaces' or - @*[local-name() = 'class'] = 'dashes' or - @*[local-name() = 'class'] = 'quotes' or - @*[local-name() = 'class'] = 'bullets' - ) -) or -@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or -@*[local-name() = 'name'] = 'WORD JOINER' or -@*[local-name() = 'name'] = 'SERVICE MARK' or -@*[local-name() = 'name'] = 'TRADE MARK SIGN' or -@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' -</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of the - <parameter>man.charmap.use.subset</parameter> parameter is - non-zero, and your DocBook source is written in English (that - is, if its <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute on the root element - in your DocBook source or on the first <tag>refentry</tag> - element in your source has the value <literal>en</literal> or if - it has no <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute), then the - character-map subset specified by the - <parameter>man.charmap.subset.profile.english</parameter> - parameter is used instead of the full roff character map.</para> - -<para>Otherwise, if the <tag class="attribute">lang</tag> or <tag class="attribute">xml:lang</tag> attribute - on the root element in your DocBook source or on the first - <tag>refentry</tag> element in your source has a value other - than <literal>en</literal>, then the character-map subset - specified by the - <parameter>man.charmap.subset.profile</parameter> parameter is - used instead of - <parameter>man.charmap.subset.profile.english</parameter>.</para> - -<para>The difference between the two subsets is that - <parameter>man.charmap.subset.profile</parameter> provides - mappings for characters in Western European languages that are - not part of the Roman (English) alphabet (ASCII character set).</para> - -<para>The value of <parameter>man.charmap.subset.profile.english</parameter> -is a string representing an XPath expression that matches attribute -names and values for <tag namespace="http://docbook.sf.net/xmlns/unichar/1.0">output-character</tag> elements in the character map.</para> - -<para>For other details, see the documentation for the -<parameter>man.charmap.subset.profile.english</parameter> and -<parameter>man.charmap.use.subset</parameter> parameters.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.string.subst.map.local.pre"> -<refmeta> -<refentrytitle>man.string.subst.map.local.pre</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.string.subst.map.local.pre</refname> -<refpurpose>Specifies “local” string substitutions</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.string.subst.map.local.pre.frag"> - <xsl:param name="man.string.subst.map.local.pre"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>Use the <parameter>man.string.subst.map.local.pre</parameter> -parameter to specify any “local” string substitutions to perform over -the entire roff source for each man page <emphasis>before</emphasis> -performing the string substitutions specified by the <parameter>man.string.subst.map</parameter> parameter.</para> - -<para>For details about the format of this parameter, see the -documentation for the <parameter>man.string.subst.map</parameter> -parameter.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.string.subst.map"> -<refmeta> -<refentrytitle>man.string.subst.map</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">rtf</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.string.subst.map</refname> -<refpurpose>Specifies a set of string substitutions</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.string.subst.map.frag"> -<xsl:param name="man.string.subst.map"> - - <!-- * remove no-break marker at beginning of line (stylesheet artifact) --> - <ss:substitution oldstring="▒▀" newstring="▒"></ss:substitution> - <!-- * replace U+2580 no-break marker (stylesheet-added) w/ no-break space --> - <ss:substitution oldstring="▀" newstring="\ "></ss:substitution> - - <!-- ==================================================================== --> - - <!-- * squeeze multiple newlines before a roff request --> - <ss:substitution oldstring=" - -." newstring=" -."></ss:substitution> - <!-- * remove any .sp instances that directly precede a .PP --> - <ss:substitution oldstring=".sp -.PP" newstring=".PP"></ss:substitution> - <!-- * remove any .sp instances that directly follow a .PP --> - <ss:substitution oldstring=".sp -.sp" newstring=".sp"></ss:substitution> - <!-- * squeeze multiple .sp instances into a single .sp--> - <ss:substitution oldstring=".PP -.sp" newstring=".PP"></ss:substitution> - <!-- * squeeze multiple newlines after start of no-fill (verbatim) env. --> - <ss:substitution oldstring=".nf - -" newstring=".nf -"></ss:substitution> - <!-- * squeeze multiple newlines after REstoring margin --> - <ss:substitution oldstring=".RE - -" newstring=".RE -"></ss:substitution> - <!-- * U+2591 is a marker we add before and after every Parameter in --> - <!-- * Funcprototype output --> - <ss:substitution oldstring="░" newstring=" "></ss:substitution> - <!-- * U+2592 is a marker we add for the newline before output of <sbr>; --> - <ss:substitution oldstring="▒" newstring=" -"></ss:substitution> - <!-- * --> - <!-- * Now deal with some other characters that are added by the --> - <!-- * stylesheets during processing. --> - <!-- * --> - <!-- * bullet --> - <ss:substitution oldstring="•" newstring="\(bu"></ss:substitution> - <!-- * left double quote --> - <ss:substitution oldstring="“" newstring="\(lq"></ss:substitution> - <!-- * right double quote --> - <ss:substitution oldstring="”" newstring="\(rq"></ss:substitution> - <!-- * left single quote --> - <ss:substitution oldstring="‘" newstring="\(oq"></ss:substitution> - <!-- * right single quote --> - <ss:substitution oldstring="’" newstring="\(cq"></ss:substitution> - <!-- * copyright sign --> - <ss:substitution oldstring="©" newstring="\(co"></ss:substitution> - <!-- * registered sign --> - <ss:substitution oldstring="®" newstring="\(rg"></ss:substitution> - <!-- * ...servicemark... --> - <!-- * There is no groff equivalent for it. --> - <ss:substitution oldstring="℠" newstring="(SM)"></ss:substitution> - <!-- * ...trademark... --> - <!-- * We don't do "\(tm" because for console output, --> - <!-- * groff just renders that as "tm"; that is: --> - <!-- * --> - <!-- * Product&#x2122; -> Producttm --> - <!-- * --> - <!-- * So we just make it to "(TM)" instead; thus: --> - <!-- * --> - <!-- * Product&#x2122; -> Product(TM) --> - <ss:substitution oldstring="™" newstring="(TM)"></ss:substitution> - -</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The <parameter>man.string.subst.map</parameter> parameter -contains <link linkend="map">a map</link> that specifies a set of -string substitutions to perform over the entire roff source for each -man page, either just before generating final man-page output (that -is, before writing man-page files to disk) or, if the value of the -<parameter>man.charmap.enabled</parameter> parameter is non-zero, -before applying the roff character map.</para> - -<para>You can use <parameter>man.string.subst.map</parameter> as a -“lightweight” character map to perform “essential” substitutions -- -that is, substitutions that are <emphasis>always</emphasis> performed, -even if the value of the <parameter>man.charmap.enabled</parameter> -parameter is zero. For example, you can use it to replace quotation -marks or other special characters that are generated by the DocBook -XSL stylesheets for a particular locale setting (as opposed to those -characters that are actually in source XML documents), or to replace -any special characters that may be automatically generated by a -particular customization of the DocBook XSL stylesheets.</para> - -<warning> - <para>Do you not change value of the - <parameter>man.string.subst.map</parameter> parameter unless you are - sure what you are doing. First consider adding your - string-substitution mappings to either or both of the following - parameters: - <variablelist> - <varlistentry> - <term><parameter>man.string.subst.map.local.pre</parameter></term> - <listitem><para>applied before - <parameter>man.string.subst.map</parameter></para></listitem> - </varlistentry> - <varlistentry> - <term><parameter>man.string.subst.map.local.post</parameter></term> - <listitem><para>applied after - <parameter>man.string.subst.map</parameter></para></listitem> - </varlistentry> - </variablelist> - By default, both of those parameters contain no - string substitutions. They are intended as a means for you to - specify your own local string-substitution mappings.</para> - - <para>If you remove any of default mappings from the value of the - <parameter>man.string.subst.map</parameter> parameter, you are - likely to end up with broken output. And be very careful about adding - anything to it; it’s used for doing string substitution over the - entire roff source of each man page – it causes target strings to be - replaced in roff requests and escapes, not just in the visible - contents of the page.</para> - -</warning> - -<refsection xml:id="map"> - <info> - <title>Contents of the substitution map</title> - </info> - <para>The string-substitution map contains one or more - <tag>ss:substitution</tag> elements, each of which has two - attributes: - <variablelist> - <varlistentry> - <term>oldstring</term> - <listitem> - <simpara>string to replace</simpara> - </listitem> - </varlistentry> - <varlistentry> - <term>newstring</term> - <listitem> - <simpara>string with which to replace <tag class="attribute">oldstring</tag></simpara> - </listitem> - </varlistentry> - </variablelist> - It may also include XML comments (that is, delimited with - "<literal><!--</literal>" and "<literal>--></literal>"). - </para> -</refsection> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.string.subst.map.local.post"> -<refmeta> -<refentrytitle>man.string.subst.map.local.post</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.string.subst.map.local.post</refname> -<refpurpose>Specifies “local” string substitutions</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.string.subst.map.local.post.frag"> -<xsl:param name="man.string.subst.map.local.post"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>Use the <parameter>man.string.subst.map.local.post</parameter> -parameter to specify any “local” string substitutions to perform over -the entire roff source for each man page <emphasis>after</emphasis> -performing the string substitutions specified by the <parameter>man.string.subst.map</parameter> parameter.</para> - -<para>For details about the format of this parameter, see the -documentation for the <parameter>man.string.subst.map</parameter> -parameter.</para> - -</refsection> -</refentry> - - </reference> - <reference xml:id="refmeta"> - <title>Refentry metadata gathering</title> -<refentry version="5.0" xml:id="refentry.meta.get.quietly"> -<refmeta> -<refentrytitle>refentry.meta.get.quietly</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.meta.get.quietly</refname> -<refpurpose>Suppress notes and warnings when gathering refentry metadata?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.meta.get.quietly.frag"> -<xsl:param name="refentry.meta.get.quietly" select="0"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If zero (the default), notes and warnings about “missing” markup -are generated during gathering of refentry metadata. If non-zero, the -metadata is gathered “quietly” -- that is, the notes and warnings are -suppressed.</para> - -<tip> - <para>If you are processing a large amount of <tag>refentry</tag> - content, you may be able to speed up processing significantly by - setting a non-zero value for - <parameter>refentry.meta.get.quietly</parameter>.</para> -</tip> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.date.profile"> -<refmeta> -<refentrytitle>refentry.date.profile</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.date.profile</refname> -<refpurpose>Specifies profile for refentry "date" data</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.date.profile.frag"> -<xsl:param name="refentry.date.profile"> - (($info[//date])[last()]/date)[1]| - (($info[//pubdate])[last()]/pubdate)[1] -</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The value of <parameter>refentry.date.profile</parameter> is a -string representing an XPath expression. It is evaluated at run-time -and used only if <parameter>refentry.date.profile.enabled</parameter> -is non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering -logic "hard coded" into the stylesheets is used.</para> - -<para> The <literal>man(7)</literal> man page describes this content -as "the date of the last revision". In man pages, it is the content -that is usually displayed in the center footer.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.date.profile.enabled"> -<refmeta> -<refentrytitle>refentry.date.profile.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.date.profile.enabled</refname> -<refpurpose>Enable refentry "date" profiling?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.date.profile.enabled.frag"> -<xsl:param name="refentry.date.profile.enabled">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of -<parameter>refentry.date.profile.enabled</parameter> is non-zero, then -during <tag>refentry</tag> metadata gathering, the info profile -specified by the customizable -<parameter>refentry.date.profile</parameter> parameter is used.</para> - -<para>If instead the value of -<parameter>refentry.date.profile.enabled</parameter> is zero (the -default), then "hard coded" logic within the DocBook XSL stylesheets -is used for gathering <tag>refentry</tag> "date" data.</para> - -<para>If you find that the default <tag>refentry</tag> -metadata-gathering behavior is causing incorrect "date" data to show -up in your output, then consider setting a non-zero value for -<parameter>refentry.date.profile.enabled</parameter> and adjusting the -value of <parameter>refentry.date.profile</parameter> to cause correct -data to be gathered. </para> - -<para>Note that the terms "source" and "date" have special meanings in -this context. For details, see the documentation for the -<parameter>refentry.date.profile</parameter> parameter.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.manual.profile"> -<refmeta> -<refentrytitle>refentry.manual.profile</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.manual.profile</refname> -<refpurpose>Specifies profile for refentry "manual" data</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.manual.profile.frag"> -<xsl:param name="refentry.manual.profile"> - (($info[//title])[last()]/title)[1]| - ../title/node() -</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The value of <parameter>refentry.manual.profile</parameter> is -a string representing an XPath expression. It is evaluated at -run-time and used only if -<parameter>refentry.manual.profile.enabled</parameter> is -non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic -"hard coded" into the stylesheets is used.</para> - -<para>In man pages, this content is usually displayed in the middle of -the header of the page. The <literal>man(7)</literal> man page -describes this as "the title of the manual (e.g., <citetitle>Linux -Programmer's Manual</citetitle>)". Here are some examples from -existing man pages: -<itemizedlist> - <listitem> - <para><citetitle>dpkg utilities</citetitle> - (<command>dpkg-name</command>)</para> - </listitem> - <listitem> - <para><citetitle>User Contributed Perl Documentation</citetitle> - (<command>GET</command>)</para> - </listitem> - <listitem> - <para><citetitle>GNU Development Tools</citetitle> - (<command>ld</command>)</para> - </listitem> - <listitem> - <para><citetitle>Emperor Norton Utilities</citetitle> - (<command>ddate</command>)</para> - </listitem> - <listitem> - <para><citetitle>Debian GNU/Linux manual</citetitle> - (<command>faked</command>)</para> - </listitem> - <listitem> - <para><citetitle>GIMP Manual Pages</citetitle> - (<command>gimp</command>)</para> - </listitem> - <listitem> - <para><citetitle>KDOC Documentation System</citetitle> - (<command>qt2kdoc</command>)</para> - </listitem> -</itemizedlist> -</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.manual.profile.enabled"> -<refmeta> -<refentrytitle>refentry.manual.profile.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.manual.profile.enabled</refname> -<refpurpose>Enable refentry "manual" profiling?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.manual.profile.enabled.frag"> -<xsl:param name="refentry.manual.profile.enabled">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of -<parameter>refentry.manual.profile.enabled</parameter> is -non-zero, then during <tag>refentry</tag> metadata gathering, the info -profile specified by the customizable -<parameter>refentry.manual.profile</parameter> parameter is -used.</para> - -<para>If instead the value of -<parameter>refentry.manual.profile.enabled</parameter> is zero (the -default), then "hard coded" logic within the DocBook XSL stylesheets -is used for gathering <tag>refentry</tag> "manual" data.</para> - -<para>If you find that the default <tag>refentry</tag> -metadata-gathering behavior is causing incorrect "manual" data to show -up in your output, then consider setting a non-zero value for -<parameter>refentry.manual.profile.enabled</parameter> and adjusting -the value of <parameter>refentry.manual.profile</parameter> to cause -correct data to be gathered. </para> - -<para>Note that the term "manual" has a special meanings in this -context. For details, see the documentation for the -<parameter>refentry.manual.profile</parameter> parameter.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.source.name.suppress"> -<refmeta> -<refentrytitle>refentry.source.name.suppress</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.source.name.suppress</refname> -<refpurpose>Suppress "name" part of refentry "source" contents?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.source.name.suppress.frag"> -<xsl:param name="refentry.source.name.suppress">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of -<parameter>refentry.source.name.suppress</parameter> is non-zero, then -during <tag>refentry</tag> metadata gathering, no "source name" data -is added to the <tag>refentry</tag> "source" contents. Instead (unless -<parameter>refentry.version.suppress</parameter> is also non-zero), -only "version" data is added to the "source" contents.</para> - -<para>If you find that the <tag>refentry</tag> metadata gathering -mechanism is causing unwanted "source name" data to show up in your -output -- for example, in the footer (or possibly header) of a man -page -- then you might consider setting a non-zero value for -<parameter>refentry.source.name.suppress</parameter>.</para> - -<para>Note that the terms "source", "source name", and "version" have -special meanings in this context. For details, see the documentation -for the <parameter>refentry.source.name.profile</parameter> -parameter.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.source.name.profile"> -<refmeta> -<refentrytitle>refentry.source.name.profile</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.source.name.profile</refname> -<refpurpose>Specifies profile for refentry "source name" data</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.source.name.profile.frag"> -<xsl:param name="refentry.source.name.profile"> - (($info[//productname])[last()]/productname)[1]| - (($info[//corpname])[last()]/corpname)[1]| - (($info[//corpcredit])[last()]/corpcredit)[1]| - (($info[//corpauthor])[last()]/corpauthor)[1]| - (($info[//orgname])[last()]/orgname)[1]| - (($info[//publishername])[last()]/publishername)[1] -</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The value of <parameter>refentry.source.name.profile</parameter> -is a string representing an XPath expression. It is evaluated at -run-time and used only if -<parameter>refentry.source.name.profile.enabled</parameter> is -non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic -"hard coded" into the stylesheets is used.</para> - -<para>A "source name" is one part of a (potentially) two-part -<replaceable>Name</replaceable> <replaceable>Version</replaceable> -"source" field. In man pages, it is usually displayed in the left -footer of the page. It typically indicates the software system or -product that the item documented in the man page belongs to. The -<literal>man(7)</literal> man page describes it as "the source of -the command", and provides the following examples: -<itemizedlist> - <listitem> - <para>For binaries, use something like: GNU, NET-2, SLS - Distribution, MCC Distribution.</para> - </listitem> - <listitem> - <para>For system calls, use the version of the kernel that you - are currently looking at: Linux 0.99.11.</para> - </listitem> - <listitem> - <para>For library calls, use the source of the function: GNU, BSD - 4.3, Linux DLL 4.4.1.</para> - </listitem> -</itemizedlist> -</para> - -<para>In practice, there are many pages that simply have a Version -number in the "source" field. So, it looks like what we have is a -two-part field, -<replaceable>Name</replaceable> <replaceable>Version</replaceable>, -where: -<variablelist> - <varlistentry> - <term>Name</term> - <listitem> - <para>product name (e.g., BSD) or org. name (e.g., GNU)</para> - </listitem> - </varlistentry> - <varlistentry> - <term>Version</term> - <listitem> - <para>version number</para> - </listitem> - </varlistentry> -</variablelist> -Each part is optional. If the <replaceable>Name</replaceable> is a -product name, then the <replaceable>Version</replaceable> is probably -the version of the product. Or there may be no -<replaceable>Name</replaceable>, in which case, if there is a -<replaceable>Version</replaceable>, it is probably the version -of the item itself, not the product it is part of. Or, if the -<replaceable>Name</replaceable> is an organization name, then there -probably will be no <replaceable>Version</replaceable>.</para> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.source.name.profile.enabled"> -<refmeta> -<refentrytitle>refentry.source.name.profile.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.source.name.profile.enabled</refname> -<refpurpose>Enable refentry "source name" profiling?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.source.name.profile.enabled.frag"> -<xsl:param name="refentry.source.name.profile.enabled">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of -<parameter>refentry.source.name.profile.enabled</parameter> is -non-zero, then during <tag>refentry</tag> metadata gathering, the info -profile specified by the customizable -<parameter>refentry.source.name.profile</parameter> parameter is -used.</para> - -<para>If instead the value of -<parameter>refentry.source.name.profile.enabled</parameter> is zero (the -default), then "hard coded" logic within the DocBook XSL stylesheets -is used for gathering <tag>refentry</tag> "source name" data.</para> - -<para>If you find that the default <tag>refentry</tag> -metadata-gathering behavior is causing incorrect "source name" data to -show up in your output, then consider setting a non-zero value for -<parameter>refentry.source.name.profile.enabled</parameter> and -adjusting the value of -<parameter>refentry.source.name.profile</parameter> to cause correct -data to be gathered. </para> - -<para>Note that the terms "source" and "source name" have special -meanings in this context. For details, see the documentation for the -<parameter>refentry.source.name.profile</parameter> parameter.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.version.suppress"> -<refmeta> -<refentrytitle>refentry.version.suppress</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.version.suppress</refname> -<refpurpose>Suppress "version" part of refentry "source" contents?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.version.suppress.frag"> -<xsl:param name="refentry.version.suppress">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>refentry.version.suppress</parameter> -is non-zero, then during <tag>refentry</tag> metadata gathering, no -"version" data is added to the <tag>refentry</tag> "source" -contents. Instead (unless -<parameter>refentry.source.name.suppress</parameter> is also -non-zero), only "source name" data is added to the "source" -contents.</para> - -<para>If you find that the <tag>refentry</tag> metadata gathering -mechanism is causing unwanted "version" data to show up in your output --- for example, in the footer (or possibly header) of a man page -- -then you might consider setting a non-zero value for -<parameter>refentry.version.suppress</parameter>.</para> - -<para>Note that the terms "source", "source name", and "version" have -special meanings in this context. For details, see the documentation -for the <parameter>refentry.source.name.profile</parameter> -parameter.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.version.profile"> -<refmeta> -<refentrytitle>refentry.version.profile</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.version.profile</refname> -<refpurpose>Specifies profile for refentry "version" data</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.version.profile.frag"> -<xsl:param name="refentry.version.profile"> - (($info[//productnumber])[last()]/productnumber)[1]| - (($info[//edition])[last()]/edition)[1]| - (($info[//releaseinfo])[last()]/releaseinfo)[1] -</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The value of <parameter>refentry.version.profile</parameter> is -a string representing an XPath expression. It is evaluated at -run-time and used only if -<parameter>refentry.version.profile.enabled</parameter> is -non-zero. Otherwise, the <tag>refentry</tag> metadata-gathering logic -"hard coded" into the stylesheets is used.</para> - -<para>A "source.name" is one part of a (potentially) two-part -<replaceable>Name</replaceable> <replaceable>Version</replaceable> -"source" field. For more details, see the documentation for the -<parameter>refentry.source.name.profile</parameter> parameter.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.version.profile.enabled"> -<refmeta> -<refentrytitle>refentry.version.profile.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.version.profile.enabled</refname> -<refpurpose>Enable refentry "version" profiling?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.version.profile.enabled.frag"> -<xsl:param name="refentry.version.profile.enabled">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of -<parameter>refentry.version.profile.enabled</parameter> is -non-zero, then during <tag>refentry</tag> metadata gathering, the info -profile specified by the customizable -<parameter>refentry.version.profile</parameter> parameter is -used.</para> - -<para>If instead the value of -<parameter>refentry.version.profile.enabled</parameter> is zero (the -default), then "hard coded" logic within the DocBook XSL stylesheets -is used for gathering <tag>refentry</tag> "version" data.</para> - -<para>If you find that the default <tag>refentry</tag> -metadata-gathering behavior is causing incorrect "version" data to show -up in your output, then consider setting a non-zero value for -<parameter>refentry.version.profile.enabled</parameter> and adjusting -the value of <parameter>refentry.version.profile</parameter> to cause -correct data to be gathered. </para> - -<para>Note that the terms "source" and "version" have special -meanings in this context. For details, see the documentation for the -<parameter>refentry.version.profile</parameter> parameter.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.manual.fallback.profile"> -<refmeta> -<refentrytitle>refentry.manual.fallback.profile</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.manual.fallback.profile</refname> -<refpurpose>Specifies profile of "fallback" for refentry "manual" data</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.manual.fallback.profile.frag"> -<xsl:param name="refentry.manual.fallback.profile"> -refmeta/refmiscinfo[not(@class = 'date')][1]/node()</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The value of -<parameter>refentry.manual.fallback.profile</parameter> is a string -representing an XPath expression. It is evaluated at run-time and -used only if no "manual" data can be found by other means (that is, -either using the <tag>refentry</tag> metadata-gathering logic "hard -coded" in the stylesheets, or the value of -<parameter>refentry.manual.profile</parameter>, if it is -enabled).</para> - -<important> -<para>Depending on which XSLT engine you run, either the EXSLT -<function>dyn:evaluate</function> extension function (for xsltproc or -Xalan) or <function>saxon:evaluate</function> extension function (for -Saxon) are used to dynamically evaluate the value of -<parameter>refentry.manual.fallback.profile</parameter> at -run-time. If you don't use xsltproc, Saxon, Xalan -- or some other -XSLT engine that supports <function>dyn:evaluate</function> -- you -must manually disable fallback processing by setting an empty value -for the <parameter>refentry.manual.fallback.profile</parameter> -parameter.</para> -</important> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="refentry.source.fallback.profile"> -<refmeta> -<refentrytitle>refentry.source.fallback.profile</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>refentry.source.fallback.profile</refname> -<refpurpose>Specifies profile of "fallback" for refentry "source" data</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="refentry.source.fallback.profile.frag"> -<xsl:param name="refentry.source.fallback.profile"> -refmeta/refmiscinfo[not(@class = 'date')][1]/node()</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The value of -<parameter>refentry.source.fallback.profile</parameter> is a string -representing an XPath expression. It is evaluated at run-time and used -only if no "source" data can be found by other means (that is, either -using the <tag>refentry</tag> metadata-gathering logic "hard coded" in -the stylesheets, or the value of the -<parameter>refentry.source.name.profile</parameter> and -<parameter>refentry.version.profile</parameter> parameters, if those -are enabled).</para> - -<important> -<para>Depending on which XSLT engine you run, either the EXSLT -<function>dyn:evaluate</function> extension function (for xsltproc or -Xalan) or <function>saxon:evaluate</function> extension function (for -Saxon) are used to dynamically evaluate the value of -<parameter>refentry.source.fallback.profile</parameter> at -run-time. If you don't use xsltproc, Saxon, Xalan -- or some other -XSLT engine that supports <function>dyn:evaluate</function> -- you -must manually disable fallback processing by setting an empty value -for the <parameter>refentry.source.fallback.profile</parameter> -parameter.</para> -</important> - -</refsection> -</refentry> - - </reference> - <reference xml:id="th"> - <title>Page header/footer</title> -<refentry version="5.0" xml:id="man.th.extra1.suppress"> -<refmeta> -<refentrytitle>man.th.extra1.suppress</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.th.extra1.suppress</refname> -<refpurpose>Suppress extra1 part of header/footer?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.th.extra1.suppress.frag"> -<xsl:param name="man.th.extra1.suppress">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.th.extra1.suppress</parameter> is -non-zero, then the <literal>extra1</literal> part of the -<literal>.TH</literal> title line header/footer is suppressed.</para> - -<para>The content of the <literal>extra1</literal> field is almost -always displayed in the center footer of the page and is, universally, -a date.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.th.extra2.suppress"> -<refmeta> -<refentrytitle>man.th.extra2.suppress</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.th.extra2.suppress</refname> -<refpurpose>Suppress extra2 part of header/footer?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.th.extra2.suppress.frag"> -<xsl:param name="man.th.extra2.suppress">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.th.extra2.suppress</parameter> is -non-zero, then the <literal>extra2</literal> part of the -<literal>.TH</literal> title line header/footer is suppressed.</para> - -<para>The content of the <literal>extra2</literal> field is usually -displayed in the left footer of the page and is typically "source" -data, often in the form -<replaceable>Name</replaceable> <replaceable>Version</replaceable>; -for example, "GTK+ 1.2" (from the <literal>gtk-options(7)</literal> -man page).</para> - -<note> - <para>You can use the - <parameter>refentry.source.name.suppress</parameter> and - <parameter>refentry.version.suppress</parameter> parameters to - independently suppress the <replaceable>Name</replaceable> and - <replaceable>Version</replaceable> parts of the - <literal>extra2</literal> field.</para> -</note> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.th.extra3.suppress"> -<refmeta> -<refentrytitle>man.th.extra3.suppress</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.th.extra3.suppress</refname> -<refpurpose>Suppress extra3 part of header/footer?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.th.extra3.suppress.frag"> -<xsl:param name="man.th.extra3.suppress">0</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <parameter>man.th.extra3.suppress</parameter> is -non-zero, then the <literal>extra3</literal> part of the -<literal>.TH</literal> title line header/footer is -suppressed.</para> - -<para>The content of the <literal>extra3</literal> field is usually -displayed in the middle header of the page and is typically a "manual -name"; for example, "GTK+ User's Manual" (from the -<literal>gtk-options(7)</literal> man page).</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.th.title.max.length"> -<refmeta> -<refentrytitle>man.th.title.max.length</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.th.title.max.length</refname> -<refpurpose>Maximum length of title in header/footer</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.th.title.max.length.frag"> -<xsl:param name="man.th.title.max.length">20</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>Specifies the maximum permitted length of the title part of the -man-page <literal>.TH</literal> title line header/footer. If the title -exceeds the maxiumum specified, it is truncated down to the maximum -permitted length.</para> - -<refsection><info><title>Details</title></info> - - -<para>Every man page generated using the DocBook stylesheets has a -title line, specified using the <literal>TH</literal> roff -macro. Within that title line, there is always, at a minimum, a title, -followed by a section value (representing a man "section" -- usually -just a number).</para> - -<para>The title and section are displayed, together, in the visible -header of each page. Where in the header they are displayed depends on -OS the man page is viewed on, and on what version of nroff/groff/man -is used for viewing the page. But, at a minimum and across all -systems, the title and section are displayed on the right-hand column -of the header. On many systems -- those with a modern groff, including -Linux systems -- they are displayed twice: both in the left and right -columns of the header.</para> - -<para>So if the length of the title exceeds a certain percentage of -the column width in which the page is viewed, the left and right -titles can end up overlapping, making them unreadable, or breaking to -another line, which doesn't look particularly good.</para> - -<para>So the stylesheets provide the -<parameter>man.th.title.max.length</parameter> parameter as a means -for truncating titles that exceed the maximum length that can be -viewing properly in a page header.</para> - -<para>The default value is reasonable but somewhat arbitrary. If you -have pages with long titles, you may want to experiment with changing -the value in order to achieve the correct aesthetic results.</para> -</refsection> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.th.extra2.max.length"> -<refmeta> -<refentrytitle>man.th.extra2.max.length</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.th.extra2.max.length</refname> -<refpurpose>Maximum length of extra2 in header/footer</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.th.extra2.max.length.frag"> -<xsl:param name="man.th.extra2.max.length">30</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>Specifies the maximum permitted length of the -<literal>extra2</literal> part of the man-page part of the -<literal>.TH</literal> title line header/footer. If the -<literal>extra2</literal> content exceeds the maxiumum specified, it -is truncated down to the maximum permitted length.</para> - -<para>The content of the <literal>extra2</literal> field is usually -displayed in the left footer of the page and is typically "source" -data indicating the software system or product that the item -documented in the man page belongs to, often in the form -<replaceable>Name</replaceable> <replaceable>Version</replaceable>; -for example, "GTK+ 1.2" (from the <literal>gtk-options(7)</literal> -man page).</para> - -<para>The default value for this parameter is reasonable but somewhat -arbitrary. If you are processing pages with long "source" information, -you may want to experiment with changing the value in order to achieve -the correct aesthetic results.</para> -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.th.extra3.max.length"> -<refmeta> -<refentrytitle>man.th.extra3.max.length</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">integer</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.th.extra3.max.length</refname> -<refpurpose>Maximum length of extra3 in header/footer</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.th.extra3.max.length.frag"> -<xsl:param name="man.th.extra3.max.length">30</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>Specifies the maximum permitted length of the -<literal>extra3</literal> part of the man-page <literal>.TH</literal> -title line header/footer. If the <literal>extra3</literal> content -exceeds the maxiumum specified, it is truncated down to the maximum -permitted length.</para> - -<para>The content of the <literal>extra3</literal> field is usually -displayed in the middle header of the page and is typically a "manual -name"; for example, "GTK+ User's Manual" (from the -<literal>gtk-options(7)</literal> man page).</para> - -<para>The default value for this parameter is reasonable but somewhat -arbitrary. If you are processing pages with long "manual names" -- or -especially if you are processing pages that have both long "title" -parts (command/function, etc. names) <emphasis>and</emphasis> long -manual names -- you may want to experiment with changing the value in -order to achieve the correct aesthetic results.</para> -</refsection> -</refentry> - - </reference> - <reference xml:id="output"> - <title>Output</title> -<refentry version="5.0" xml:id="man.output.manifest.enabled"> - <refmeta> - <refentrytitle>man.output.manifest.enabled</refentrytitle> - <refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> - </refmeta> - <refnamediv> - <refname>man.output.manifest.enabled</refname> - <refpurpose>Generate a manifest file?</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <programlisting xml:id="man.output.manifest.enabled.frag"><xsl:param name="man.output.manifest.enabled" select="0"></xsl:param></programlisting> - </refsynopsisdiv> - - <refsection><info><title>Description</title></info> - - <para>If non-zero, a list of filenames for man pages generated by - the stylesheet transformation is written to the file named by the - <parameter>man.output.manifest.filename</parameter> parameter.</para> - - </refsection> -</refentry> - -<refentry version="5.0" xml:id="man.output.manifest.filename"> - <refmeta> - <refentrytitle>man.output.manifest.filename</refentrytitle> - <refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> - </refmeta> - <refnamediv> - <refname>man.output.manifest.filename</refname> - <refpurpose>Name of manifest file</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <programlisting xml:id="man.output.manifest.filename.frag"><xsl:param name="man.output.manifest.filename">MAN.MANIFEST</xsl:param></programlisting> - </refsynopsisdiv> - - <refsection><info><title>Description</title></info> - - <para>The <parameter>man.output.manifest.filename</parameter> parameter - specifies the name of the file to which the manpages manifest file - is written (if the value of the - <parameter>man.output.manifest.enabled</parameter> parameter is - non-zero).</para> - - </refsection> -</refentry> - -<refentry version="5.0" xml:id="man.output.in.separate.dir"> -<refmeta> -<refentrytitle>man.output.in.separate.dir</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.output.in.separate.dir</refname> -<refpurpose>Output man-page files in separate output directory?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.output.in.separate.dir.frag"> -<xsl:param name="man.output.in.separate.dir" select="0"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of <literal>man.output.in.separate.dir</literal> -parameter is non-zero, man-page files are output in a separate -directory, specified by the <parameter>man.output.base.dir</parameter> -parameter; otherwise, if the value of -<literal>man.output.in.separate.dir</literal> is zero, man-page files -are not output in a separate directory.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.output.lang.in.name.enabled"> -<refmeta> -<refentrytitle>man.output.lang.in.name.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.output.lang.in.name.enabled</refname> -<refpurpose>Include $LANG value in man-page filename/pathname?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.output.lang.in.name.enabled.frag"> -<xsl:param name="man.output.lang.in.name.enabled" select="0"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - - <para>The <parameter>man.output.lang.in.name.enabled</parameter> - parameter specifies whether a <literal>$lang</literal> value is - included in man-page filenames and pathnames.</para> - - <para>If the value of - <parameter>man.output.lang.in.name.enabled</parameter> is non-zero, - man-page files are output with the <literal>$lang</literal> value - included in their filenames or pathnames as follows; - - <itemizedlist> - <listitem> - <para>if <parameter>man.output.subdirs.enabled</parameter> is - non-zero, each file is output to, e.g., a - <filename>man/<replaceable>$lang</replaceable>/man8/foo.8</filename> - pathname</para> - </listitem> - <listitem> - <para>if <parameter>man.output.subdirs.enabled</parameter> is - zero, each file is output with a - <literal>foo.<replaceable>$lang</replaceable>.8</literal> - filename</para> - </listitem> - </itemizedlist> - </para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.output.base.dir"> -<refmeta> -<refentrytitle>man.output.base.dir</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">uri</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.output.base.dir</refname> -<refpurpose>Specifies separate output directory</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.output.base.dir.frag"><xsl:param name="man.output.base.dir">man/</xsl:param></programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The <parameter>man.output.base.dir</parameter> parameter -specifies the base directory into which man-page files are output. The -<parameter>man.output.subdirs.enabled</parameter> parameter controls -whether the files are output in subdirectories within the base -directory.</para> - -<note> - <para>The values of the <parameter>man.output.base.dir</parameter> - and <parameter>man.output.subdirs.enabled</parameter> parameters are - used only if the value of - <parameter>man.output.in.separate.dir</parameter> parameter is - non-zero. If the value of the - <parameter>man.output.in.separate.dir</parameter> is zero, man-page - files are not output in a separate directory.</para> -</note> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.output.subdirs.enabled"> -<refmeta> -<refentrytitle>man.output.subdirs.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.output.subdirs.enabled</refname> -<refpurpose>Output man-page files in subdirectories within base output directory?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.output.subdirs.enabled.frag"> -<xsl:param name="man.output.subdirs.enabled" select="1"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>The <parameter>man.output.subdirs.enabled</parameter> parameter -controls whether man-pages files are output in subdirectories within -the base directory specified by the directory specified by the -<parameter>man.output.base.dir</parameter> parameter.</para> - -<note> - <para>The values of the <parameter>man.output.base.dir</parameter> - and <parameter>man.output.subdirs.enabled</parameter> parameters are - used only if the value of - <parameter>man.output.in.separate.dir</parameter> parameter is - non-zero. If the value of the - <parameter>man.output.in.separate.dir</parameter> is zero, man-page - files are not output in a separate directory.</para> -</note> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.output.quietly"> -<refmeta> -<refentrytitle>man.output.quietly</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.output.quietly</refname> -<refpurpose>Suppress filename messages emitted when generating output?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.output.quietly.frag"> -<xsl:param name="man.output.quietly" select="0"></xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If zero (the default), for each man-page file created, a message -with the name of the file is emitted. If non-zero, the files are -output "quietly" -- that is, the filename messages are -suppressed.</para> - -<tip> - <para>If you are processing a large amount of <tag>refentry</tag> - content, you may be able to speed up processing significantly by - setting a non-zero value for - <parameter>man.output.quietly</parameter>.</para> -</tip> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.output.encoding"> -<refmeta> -<refentrytitle>man.output.encoding</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.output.encoding</refname> -<refpurpose>Encoding used for man-page output</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.output.encoding.frag"> -<xsl:param name="man.output.encoding">UTF-8</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>This parameter specifies the encoding to use for files generated -by the manpages stylesheet. Not all processors support specification -of this parameter.</para> - -<important> - <para>If the value of the <parameter>man.charmap.enabled</parameter> - parameter is non-zero (the default), keeping the - <parameter>man.output.encoding</parameter> parameter at its default - value (<literal>UTF-8</literal>) or setting it to - <literal>UTF-16</literal> <emphasis role="bold">does not cause your - man pages to be output in raw UTF-8 or UTF-16</emphasis> -- because - any Unicode characters for which matches are found in the enabled - character map will be replaced with roff escape sequences before the - final man-page files are generated.</para> - - <para>So if you want to generate "real" UTF-8 man pages, without any - character substitution being performed on your content, you need to - set <parameter>man.charmap.enabled</parameter> to zero (which will - completely disable character-map processing). </para> - - <para>You may also need to set - <parameter>man.charmap.enabled</parameter> to zero if you want to - output man pages in an encoding other than <literal>UTF-8</literal> - or <literal>UTF-16</literal>. Character-map processing is based on - Unicode character values and may not work with other output - encodings.</para> -</important> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.output.better.ps.enabled"> -<refmeta> -<refentrytitle>man.output.better.ps.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.output.better.ps.enabled</refname> -<refpurpose>Enable enhanced print/PostScript output?</refpurpose> -</refnamediv> -<refsynopsisdiv> -<programlisting xml:id="man.output.better.ps.enabled.frag"> -<xsl:param name="man.output.better.ps.enabled">0</xsl:param> -</programlisting> -</refsynopsisdiv> -<refsection><info><title>Description</title></info> - -<para>If the value of the -<parameter>man.output.better.ps.enabled</parameter> parameter is -non-zero, certain markup is embedded in each generated man page -such that PostScript output from the <command>man -Tps</command> -command for that page will include a number of enhancements -designed to improve the quality of that output.</para> - -<para>If <parameter>man.output.better.ps.enabled</parameter> is -zero (the default), no such markup is embedded in generated man -pages, and no enhancements are included in the PostScript -output generated from those man pages by the <command>man - -Tps</command> command.</para> - -<warning> - <para>The enhancements provided by this parameter rely on - features that are specific to groff (GNU troff) and that are - not part of “classic” AT&T troff or any of its - derivatives. Therefore, any man pages you generate with this - parameter enabled will be readable only on systems on which - the groff (GNU troff) program is installed, such as GNU/Linux - systems. The pages <emphasis role="bold">will not not be - readable on systems on with the classic troff (AT&T - troff) command is installed</emphasis>.</para> -</warning> - -<para>The value of this parameter only affects PostScript output - generated from the <command>man</command> command. It has no - effect on output generated using the FO backend.</para> - -<tip> - <para>You can generate PostScript output for any man page by - running the following command:</para> - <programlisting> man <replaceable>FOO</replaceable> -Tps > <replaceable>FOO</replaceable>.ps</programlisting> - <para>You can then generate PDF output by running the following - command:</para> - <programlisting> ps2pdf <replaceable>FOO</replaceable>.ps</programlisting> -</tip> - -</refsection> -</refentry> - - </reference> - <reference xml:id="other"> - <title>Other</title> -<refentry version="5.0" xml:id="man.table.footnotes.divider"> -<refmeta> -<refentrytitle>man.table.footnotes.divider</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.table.footnotes.divider</refname> -<refpurpose>Specifies divider string that appears before table footnotes</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.table.footnotes.divider.frag"> -<xsl:param name="man.table.footnotes.divider">----</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>In each table that contains footenotes, the string specified by -the <parameter>man.table.footnotes.divider</parameter> parameter is -output before the list of footnotes for the table.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.subheading.divider.enabled"> -<refmeta> -<refentrytitle>man.subheading.divider.enabled</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.subheading.divider.enabled</refname> -<refpurpose>Add divider comment to roff source before/after subheadings?</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.subheading.divider.enabled.frag"> -<xsl:param name="man.subheading.divider.enabled">0</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of the -<parameter>man.subheading.divider.enabled</parameter> parameter is -non-zero, the contents of the -<parameter>man.subheading.divider</parameter> parameter are used to -add a "divider" before and after subheadings in the roff -output. <emphasis role="bold">The divider is not visisble in the -rendered man page</emphasis>; it is added as a comment, in the source, -simply for the purpose of increasing reability of the source.</para> - -<para>If <parameter>man.subheading.divider.enabled</parameter> is zero -(the default), the subheading divider is suppressed.</para> - -</refsection> -</refentry> - -<refentry version="5.0" xml:id="man.subheading.divider"> -<refmeta> -<refentrytitle>man.subheading.divider</refentrytitle> -<refmiscinfo class="other" otherclass="datatype">string</refmiscinfo> -</refmeta> -<refnamediv> -<refname>man.subheading.divider</refname> -<refpurpose>Specifies string to use as divider comment before/after subheadings</refpurpose> -</refnamediv> - -<refsynopsisdiv> -<programlisting xml:id="man.subheading.divider.frag"> -<xsl:param name="man.subheading.divider">========================================================================</xsl:param> -</programlisting> -</refsynopsisdiv> - -<refsection><info><title>Description</title></info> - -<para>If the value of the -<parameter>man.subheading.divider.enabled</parameter> parameter is -non-zero, the contents of the -<parameter>man.subheading.divider</parameter> parameter are used to -add a "divider" before and after subheadings in the roff -output. <emphasis role="bold">The divider is not visisble in the -rendered man page</emphasis>; it is added as a comment, in the source, -simply for the purpose of increasing reability of the source.</para> - -<para>If <parameter>man.subheading.divider.enabled</parameter> is zero -(the default), the subheading divider is suppressed.</para> - -</refsection> -</refentry> - - </reference> - <appendix xml:id="stylesheet"> - <title>The Stylesheet</title> - - <para>The <filename>param.xsl</filename> stylesheet is just a - wrapper around all of these parameters.</para> - - <programlisting xml:id="top"> -<xsl:stylesheet exclude-result-prefixes="src" version="1.0"> - -<!-- This file is generated from param.xweb --> - -<!-- ******************************************************************** - $Id: param.xweb 9130 2011-10-11 08:05:37Z dpawson $ - ******************************************************************** - - 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. - - ******************************************************************** --> - -<src:fragref linkend="man.authors.section.enabled.frag"></src:fragref> -<src:fragref linkend="man.break.after.slash.frag"></src:fragref> -<src:fragref linkend="man.base.url.for.relative.links.frag"></src:fragref> -<src:fragref linkend="man.charmap.enabled.frag"></src:fragref> -<src:fragref linkend="man.charmap.subset.profile.frag"></src:fragref> -<src:fragref linkend="man.charmap.subset.profile.english.frag"></src:fragref> -<src:fragref linkend="man.charmap.uri.frag"></src:fragref> -<src:fragref linkend="man.charmap.use.subset.frag"></src:fragref> -<src:fragref linkend="man.copyright.section.enabled.frag"></src:fragref> -<src:fragref linkend="man.endnotes.are.numbered.frag"></src:fragref> -<src:fragref linkend="man.endnotes.list.enabled.frag"></src:fragref> -<src:fragref linkend="man.endnotes.list.heading.frag"></src:fragref> -<src:fragref linkend="man.font.funcprototype.frag"></src:fragref> -<src:fragref linkend="man.font.funcsynopsisinfo.frag"></src:fragref> -<src:fragref linkend="man.font.links.frag"></src:fragref> -<src:fragref linkend="man.font.table.headings.frag"></src:fragref> -<src:fragref linkend="man.font.table.title.frag"></src:fragref> -<src:fragref linkend="man.funcsynopsis.style.frag"></src:fragref> -<src:fragref linkend="man.hyphenate.computer.inlines.frag"></src:fragref> -<src:fragref linkend="man.hyphenate.filenames.frag"></src:fragref> -<src:fragref linkend="man.hyphenate.frag"></src:fragref> -<src:fragref linkend="man.hyphenate.urls.frag"></src:fragref> -<src:fragref linkend="man.indent.blurbs.frag"></src:fragref> -<src:fragref linkend="man.indent.lists.frag"></src:fragref> -<src:fragref linkend="man.indent.refsect.frag"></src:fragref> -<src:fragref linkend="man.indent.verbatims.frag"></src:fragref> -<src:fragref linkend="man.indent.width.frag"></src:fragref> -<src:fragref linkend="man.justify.frag"></src:fragref> -<src:fragref linkend="man.output.base.dir.frag"></src:fragref> -<src:fragref linkend="man.output.encoding.frag"></src:fragref> -<src:fragref linkend="man.output.in.separate.dir.frag"></src:fragref> -<src:fragref linkend="man.output.lang.in.name.enabled.frag"></src:fragref> -<src:fragref linkend="man.output.manifest.enabled.frag"></src:fragref> -<src:fragref linkend="man.output.manifest.filename.frag"></src:fragref> -<src:fragref linkend="man.output.better.ps.enabled.frag"></src:fragref> -<src:fragref linkend="man.output.quietly.frag"></src:fragref> -<src:fragref linkend="man.output.subdirs.enabled.frag"></src:fragref> -<src:fragref linkend="man.segtitle.suppress.frag"></src:fragref> -<src:fragref linkend="man.string.subst.map.frag"></src:fragref> -<src:fragref linkend="man.string.subst.map.local.post.frag"></src:fragref> -<src:fragref linkend="man.string.subst.map.local.pre.frag"></src:fragref> -<src:fragref linkend="man.subheading.divider.enabled.frag"></src:fragref> -<src:fragref linkend="man.subheading.divider.frag"></src:fragref> -<src:fragref linkend="man.table.footnotes.divider.frag"></src:fragref> -<src:fragref linkend="man.th.extra1.suppress.frag"></src:fragref> -<src:fragref linkend="man.th.extra2.max.length.frag"></src:fragref> -<src:fragref linkend="man.th.extra2.suppress.frag"></src:fragref> -<src:fragref linkend="man.th.extra3.max.length.frag"></src:fragref> -<src:fragref linkend="man.th.extra3.suppress.frag"></src:fragref> -<src:fragref linkend="man.th.title.max.length.frag"></src:fragref> -<src:fragref linkend="refentry.date.profile.enabled.frag"></src:fragref> -<src:fragref linkend="refentry.date.profile.frag"></src:fragref> -<src:fragref linkend="refentry.manual.fallback.profile.frag"></src:fragref> -<src:fragref linkend="refentry.manual.profile.enabled.frag"></src:fragref> -<src:fragref linkend="refentry.manual.profile.frag"></src:fragref> -<src:fragref linkend="refentry.meta.get.quietly.frag"></src:fragref> -<src:fragref linkend="refentry.source.fallback.profile.frag"></src:fragref> -<src:fragref linkend="refentry.source.name.profile.enabled.frag"></src:fragref> -<src:fragref linkend="refentry.source.name.profile.frag"></src:fragref> -<src:fragref linkend="refentry.source.name.suppress.frag"></src:fragref> -<src:fragref linkend="refentry.version.profile.enabled.frag"></src:fragref> -<src:fragref linkend="refentry.version.profile.frag"></src:fragref> -<src:fragref linkend="refentry.version.suppress.frag"></src:fragref> -</xsl:stylesheet> - </programlisting> - - </appendix> -</book> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/param.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/param.xsl deleted file mode 100644 index 0d207c396..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/param.xsl +++ /dev/null @@ -1,194 +0,0 @@ -<?xml version="1.0"?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> - -<!-- This file is generated from param.xweb --> - -<!-- ******************************************************************** - $Id: param.xweb 9130 2011-10-11 08:05:37Z dpawson $ - ******************************************************************** - - 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:param name="man.authors.section.enabled">1</xsl:param> -<xsl:param name="man.break.after.slash">0</xsl:param> -<xsl:param name="man.base.url.for.relative.links">[set $man.base.url.for.relative.links]/</xsl:param> -<xsl:param name="man.charmap.enabled" select="1"/> -<xsl:param name="man.charmap.subset.profile"> -@*[local-name() = 'block'] = 'Miscellaneous Technical' or -(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and - (@*[local-name() = 'class'] = 'symbols' or - @*[local-name() = 'class'] = 'letters') -) or -@*[local-name() = 'block'] = 'Latin Extended-A' -or -(@*[local-name() = 'block'] = 'General Punctuation' and - (@*[local-name() = 'class'] = 'spaces' or - @*[local-name() = 'class'] = 'dashes' or - @*[local-name() = 'class'] = 'quotes' or - @*[local-name() = 'class'] = 'bullets' - ) -) or -@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or -@*[local-name() = 'name'] = 'WORD JOINER' or -@*[local-name() = 'name'] = 'SERVICE MARK' or -@*[local-name() = 'name'] = 'TRADE MARK SIGN' or -@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' -</xsl:param> -<xsl:param name="man.charmap.subset.profile.english"> -@*[local-name() = 'block'] = 'Miscellaneous Technical' or -(@*[local-name() = 'block'] = 'C1 Controls And Latin-1 Supplement (Latin-1 Supplement)' and - @*[local-name() = 'class'] = 'symbols') -or -(@*[local-name() = 'block'] = 'General Punctuation' and - (@*[local-name() = 'class'] = 'spaces' or - @*[local-name() = 'class'] = 'dashes' or - @*[local-name() = 'class'] = 'quotes' or - @*[local-name() = 'class'] = 'bullets' - ) -) or -@*[local-name() = 'name'] = 'HORIZONTAL ELLIPSIS' or -@*[local-name() = 'name'] = 'WORD JOINER' or -@*[local-name() = 'name'] = 'SERVICE MARK' or -@*[local-name() = 'name'] = 'TRADE MARK SIGN' or -@*[local-name() = 'name'] = 'ZERO WIDTH NO-BREAK SPACE' -</xsl:param> -<xsl:param name="man.charmap.uri"/> -<xsl:param name="man.charmap.use.subset" select="1"/> -<xsl:param name="man.copyright.section.enabled">1</xsl:param> -<xsl:param name="man.endnotes.are.numbered">1</xsl:param> -<xsl:param name="man.endnotes.list.enabled">1</xsl:param> -<xsl:param name="man.endnotes.list.heading"/> - <xsl:param name="man.font.funcprototype">BI</xsl:param> - <xsl:param name="man.font.funcsynopsisinfo">B</xsl:param> -<xsl:param name="man.font.links">B</xsl:param> - <xsl:param name="man.font.table.headings">B</xsl:param> - <xsl:param name="man.font.table.title">B</xsl:param> -<xsl:param name="man.funcsynopsis.style">ansi</xsl:param> -<xsl:param name="man.hyphenate.computer.inlines">0</xsl:param> -<xsl:param name="man.hyphenate.filenames">0</xsl:param> -<xsl:param name="man.hyphenate">0</xsl:param> -<xsl:param name="man.hyphenate.urls">0</xsl:param> -<xsl:param name="man.indent.blurbs" select="1"/> -<xsl:param name="man.indent.lists" select="1"/> -<xsl:param name="man.indent.refsect" select="0"/> -<xsl:param name="man.indent.verbatims" select="1"/> -<xsl:param name="man.indent.width">4</xsl:param> -<xsl:param name="man.justify">0</xsl:param> -<xsl:param name="man.output.base.dir">man/</xsl:param> -<xsl:param name="man.output.encoding">UTF-8</xsl:param> -<xsl:param name="man.output.in.separate.dir" select="0"/> -<xsl:param name="man.output.lang.in.name.enabled" select="0"/> -<xsl:param name="man.output.manifest.enabled" select="0"/> -<xsl:param name="man.output.manifest.filename">MAN.MANIFEST</xsl:param> -<xsl:param name="man.output.better.ps.enabled">0</xsl:param> -<xsl:param name="man.output.quietly" select="0"/> -<xsl:param name="man.output.subdirs.enabled" select="1"/> -<xsl:param name="man.segtitle.suppress" select="0"/> -<xsl:param name="man.string.subst.map"> - - <!-- * remove no-break marker at beginning of line (stylesheet artifact) --> - <substitution oldstring="▒▀" newstring="▒"/> - <!-- * replace U+2580 no-break marker (stylesheet-added) w/ no-break space --> - <substitution oldstring="▀" newstring="\ "/> - - <!-- ==================================================================== --> - - <!-- * squeeze multiple newlines before a roff request --> - <substitution oldstring=" ." newstring=" ."/> - <!-- * remove any .sp instances that directly precede a .PP --> - <substitution oldstring=".sp .PP" newstring=".PP"/> - <!-- * remove any .sp instances that directly follow a .PP --> - <substitution oldstring=".sp .sp" newstring=".sp"/> - <!-- * squeeze multiple .sp instances into a single .sp--> - <substitution oldstring=".PP .sp" newstring=".PP"/> - <!-- * squeeze multiple newlines after start of no-fill (verbatim) env. --> - <substitution oldstring=".nf " newstring=".nf "/> - <!-- * squeeze multiple newlines after REstoring margin --> - <substitution oldstring=".RE " newstring=".RE "/> - <!-- * U+2591 is a marker we add before and after every Parameter in --> - <!-- * Funcprototype output --> - <substitution oldstring="░" newstring=" "/> - <!-- * U+2592 is a marker we add for the newline before output of <sbr>; --> - <substitution oldstring="▒" newstring=" "/> - <!-- * --> - <!-- * Now deal with some other characters that are added by the --> - <!-- * stylesheets during processing. --> - <!-- * --> - <!-- * bullet --> - <substitution oldstring="•" newstring="\(bu"/> - <!-- * left double quote --> - <substitution oldstring="“" newstring="\(lq"/> - <!-- * right double quote --> - <substitution oldstring="”" newstring="\(rq"/> - <!-- * left single quote --> - <substitution oldstring="‘" newstring="\(oq"/> - <!-- * right single quote --> - <substitution oldstring="’" newstring="\(cq"/> - <!-- * copyright sign --> - <substitution oldstring="©" newstring="\(co"/> - <!-- * registered sign --> - <substitution oldstring="®" newstring="\(rg"/> - <!-- * ...servicemark... --> - <!-- * There is no groff equivalent for it. --> - <substitution oldstring="℠" newstring="(SM)"/> - <!-- * ...trademark... --> - <!-- * We don't do "\(tm" because for console output, --> - <!-- * groff just renders that as "tm"; that is: --> - <!-- * --> - <!-- * Product™ -> Producttm --> - <!-- * --> - <!-- * So we just make it to "(TM)" instead; thus: --> - <!-- * --> - <!-- * Product™ -> Product(TM) --> - <substitution oldstring="™" newstring="(TM)"/> - -</xsl:param> -<xsl:param name="man.string.subst.map.local.post"/> - <xsl:param name="man.string.subst.map.local.pre"/> -<xsl:param name="man.subheading.divider.enabled">0</xsl:param> -<xsl:param name="man.subheading.divider">========================================================================</xsl:param> -<xsl:param name="man.table.footnotes.divider">----</xsl:param> -<xsl:param name="man.th.extra1.suppress">0</xsl:param> -<xsl:param name="man.th.extra2.max.length">30</xsl:param> -<xsl:param name="man.th.extra2.suppress">0</xsl:param> -<xsl:param name="man.th.extra3.max.length">30</xsl:param> -<xsl:param name="man.th.extra3.suppress">0</xsl:param> -<xsl:param name="man.th.title.max.length">20</xsl:param> -<xsl:param name="refentry.date.profile.enabled">0</xsl:param> -<xsl:param name="refentry.date.profile"> - (($info[//date])[last()]/date)[1]| - (($info[//pubdate])[last()]/pubdate)[1] -</xsl:param> -<xsl:param name="refentry.manual.fallback.profile"> -refmeta/refmiscinfo[not(@class = 'date')][1]/node()</xsl:param> -<xsl:param name="refentry.manual.profile.enabled">0</xsl:param> -<xsl:param name="refentry.manual.profile"> - (($info[//title])[last()]/title)[1]| - ../title/node() -</xsl:param> -<xsl:param name="refentry.meta.get.quietly" select="0"/> -<xsl:param name="refentry.source.fallback.profile"> -refmeta/refmiscinfo[not(@class = 'date')][1]/node()</xsl:param> -<xsl:param name="refentry.source.name.profile.enabled">0</xsl:param> -<xsl:param name="refentry.source.name.profile"> - (($info[//productname])[last()]/productname)[1]| - (($info[//corpname])[last()]/corpname)[1]| - (($info[//corpcredit])[last()]/corpcredit)[1]| - (($info[//corpauthor])[last()]/corpauthor)[1]| - (($info[//orgname])[last()]/orgname)[1]| - (($info[//publishername])[last()]/publishername)[1] -</xsl:param> -<xsl:param name="refentry.source.name.suppress">0</xsl:param> -<xsl:param name="refentry.version.profile.enabled">0</xsl:param> -<xsl:param name="refentry.version.profile"> - (($info[//productnumber])[last()]/productnumber)[1]| - (($info[//edition])[last()]/edition)[1]| - (($info[//releaseinfo])[last()]/releaseinfo)[1] -</xsl:param> -<xsl:param name="refentry.version.suppress">0</xsl:param> -</xsl:stylesheet> - diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/pi.xml b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/pi.xml deleted file mode 100644 index 8db98d310..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/pi.xml +++ /dev/null @@ -1,70 +0,0 @@ -<?xml version="1.0"?> - -<reference><info><title>manpages Processing Instruction Reference</title> - <releaseinfo role="meta"> - $Id: pi.xsl 7644 2008-01-16 11:04:07Z xmldoc $ - </releaseinfo> - </info> - <partintro xml:id="partintro"> - <title>Introduction</title> - -<para>This is generated reference documentation for all - user-specifiable processing instructions (PIs) in the DocBook - XSL stylesheets for manpages output. - <note> - -<para>You add these PIs at particular points in a document to - cause specific “exceptions” to formatting/output behavior. To - make global changes in formatting/output behavior across an - entire document, it’s better to do it by setting an - appropriate stylesheet parameter (if there is one).</para> - - </note> - </para> - - </partintro> - -<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="dbman_funcsynopsis-style"> -<refnamediv> -<refname>dbman_funcsynopsis-style</refname> -<refpurpose>Specifies presentation style for a funcsynopsis.</refpurpose> -</refnamediv> -<refsynopsisdiv> - - <synopsis><tag class="xmlpi">dbman funcsynopsis-style="kr"|"ansi"</tag></synopsis> - -</refsynopsisdiv> -<refsect1><title>Description</title> - -<para>Use the <tag class="xmlpi">dbman - funcsynopsis-style</tag> PI as a child of a - <tag>funcsynopsis</tag> or anywhere within a funcsynopsis - to control the presentation style for output of all - <tag>funcprototype</tag> instances within that funcsynopsis.</para> - - </refsect1><refsect1><title>Parameters</title> - -<variablelist> - <varlistentry><term>funcsynopsis-style="kr"</term> - <listitem> - -<para>Displays the <tag>funcprototype</tag> in K&R style</para> - - </listitem> - </varlistentry> - <varlistentry><term>funcsynopsis-style="ansi"</term> - <listitem> - -<para>Displays the <tag>funcprototype</tag> in ANSI style</para> - - </listitem> - </varlistentry> - </variablelist> - - </refsect1><refsect1 role="params"><title>Related Global Parameters</title> - -<para><parameter>man.funcsynopsis.style</parameter></para> - - </refsect1></refentry> -</reference> - diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/pi.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/pi.xsl deleted file mode 100644 index 7b0975b83..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/pi.xsl +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" - xmlns:xlink="http://www.w3.org/1999/xlink" - exclude-result-prefixes="doc" - version='1.0'> - -<!-- ******************************************************************** - $Id: pi.xsl 7644 2008-01-16 11:04:07Z 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. - - ******************************************************************** --> - -<doc:reference xmlns=""><info><title>manpages Processing Instruction Reference</title> - <releaseinfo role="meta"> - $Id: pi.xsl 7644 2008-01-16 11:04:07Z xmldoc $ - </releaseinfo> - </info> - <partintro xml:id="partintro"> - <title>Introduction</title> - <para>This is generated reference documentation for all - user-specifiable processing instructions (PIs) in the DocBook - XSL stylesheets for manpages output. - <note> - <para>You add these PIs at particular points in a document to - cause specific “exceptions” to formatting/output behavior. To - make global changes in formatting/output behavior across an - entire document, it’s better to do it by setting an - appropriate stylesheet parameter (if there is one).</para> - </note> - </para> - </partintro> -</doc:reference> - -<!-- ==================================================================== --> - -<doc:pi name="dbman_funcsynopsis-style" xmlns=""> - <refpurpose>Specifies presentation style for a funcsynopsis.</refpurpose> - <refdescription> - <para>Use the <tag class="xmlpi">dbman - funcsynopsis-style</tag> PI as a child of a - <tag>funcsynopsis</tag> or anywhere within a funcsynopsis - to control the presentation style for output of all - <tag>funcprototype</tag> instances within that funcsynopsis.</para> - </refdescription> - <refsynopsisdiv> - <synopsis><tag class="xmlpi">dbman funcsynopsis-style="kr"|"ansi"</tag></synopsis> - </refsynopsisdiv> - <refparameter> - <variablelist> - <varlistentry><term>funcsynopsis-style="kr"</term> - <listitem> - <para>Displays the <tag>funcprototype</tag> in K&R style</para> - </listitem> - </varlistentry> - <varlistentry><term>funcsynopsis-style="ansi"</term> - <listitem> - <para>Displays the <tag>funcprototype</tag> in ANSI style</para> - </listitem> - </varlistentry> - </variablelist> - </refparameter> - <refsee role="params"> - <para><parameter>man.funcsynopsis.style</parameter></para> - </refsee> -</doc:pi> -<xsl:template name="pi.dbman_funcsynopsis-style"> - <xsl:param name="node" select="."/> - <xsl:call-template name="pi-attribute"> - <xsl:with-param name="pis" select="$node/processing-instruction('dbman')"/> - <xsl:with-param name="attribute" select="'funcsynopsis-style'"/> - </xsl:call-template> -</xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/profile-docbook.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/profile-docbook.xsl deleted file mode 100644 index 41b14c79f..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/profile-docbook.xsl +++ /dev/null @@ -1,281 +0,0 @@ -<?xml version="1.0" encoding="US-ASCII"?> -<!--This file was created automatically by xsl2profile--> -<!--from the DocBook XSL stylesheets.--> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:ng="http://docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns:exslt="http://exslt.org/common" exslt:dummy="dummy" ng:dummy="dummy" db:dummy="dummy" extension-element-prefixes="exslt" exclude-result-prefixes="exsl exslt" version="1.0"> - - <xsl:import href="../html/docbook.xsl"/> - <xsl:import href="../html/manifest.xsl"/> - <!-- * html-synop.xsl file is generated by build --> - <xsl:import href="html-synop.xsl"/> - <xsl:output method="text" encoding="UTF-8" indent="no"/> - <!-- ******************************************************************** - $Id: docbook.xsl 8841 2010-08-14 07:21:25Z mzjn $ - ******************************************************************** - - 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:include href="../common/refentry.xsl"/> - <xsl:include href="../common/charmap.xsl"/> - <xsl:include href="param.xsl"/> - <xsl:include href="utility.xsl"/> - <xsl:include href="info.xsl"/> - <xsl:include href="other.xsl"/> - <xsl:include href="refentry.xsl"/> - <xsl:include href="block.xsl"/> - <xsl:include href="inline.xsl"/> - <xsl:include href="synop.xsl"/> - <xsl:include href="lists.xsl"/> - <xsl:include href="endnotes.xsl"/> - <xsl:include href="table.xsl"/> - <xsl:include href="pi.xsl"/> - - <!-- * we rename the following just to avoid using params with "man" --> - <!-- * prefixes in the table.xsl stylesheet (because that stylesheet --> - <!-- * can potentially be reused for more than just man output) --> - <xsl:param name="tbl.font.headings" select="$man.font.table.headings"/> - <xsl:param name="tbl.font.title" select="$man.font.table.title"/> - - <xsl:param name="stylesheet.result.type" select="'manpages'"/> - - <!-- ==================================================================== --> - - <xslo:include xmlns:xslo="http://www.w3.org/1999/XSL/Transform" href="../profiling/profile-mode.xsl"/><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-content"><xslo:choose><xslo:when test="*/self::ng:* or */self::db:*"><xslo:message>Note: namesp. cut : stripped namespace before processing</xslo:message><xslo:variable name="stripped-content"><xslo:apply-templates select="/" mode="stripNS"/></xslo:variable><xslo:message>Note: namesp. cut : processing stripped document</xslo:message><xslo:apply-templates select="exslt:node-set($stripped-content)" mode="profile"/></xslo:when><xslo:otherwise><xslo:apply-templates select="/" mode="profile"/></xslo:otherwise></xslo:choose></xslo:variable><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profiled-nodes" select="exslt:node-set($profiled-content)"/><xsl:template match="/"> - <!-- * Get a title for current doc so that we let the user --> - <!-- * know what document we are processing at this point. --> - <xsl:variable name="doc.title"> - <xsl:call-template name="get.doc.title"/> - </xsl:variable> - <xsl:choose> - <!-- * when we find a namespaced document, strip the --> - <!-- * namespace and then continue processing it. --> - <xsl:when test="false()"/> - <xsl:when test="//*[local-name() = 'refentry']"> - <!-- * Check to see if we have any refentry children in this --> - <!-- * document; if so, process them. The reason we use --> - <!-- * local-name()=refentry (instead of just //refentry) to to --> - <!-- * check for refentry children is because this stylsheet is --> - <!-- * also post-processed by the stylesheet build to create the --> - <!-- * manpages/profile-docbook.xsl, and the refentry child check --> - <!-- * in the profile-docbook.xsl stylesheet won't work if we do --> - <!-- * a simple //refentry check. --> - <xsl:apply-templates select="$profiled-nodes//refentry"/> - <!-- * if $man.output.manifest.enabled is non-zero, --> - <!-- * generate a manifest file --> - <xsl:if test="not($man.output.manifest.enabled = 0)"> - <xsl:call-template name="generate.manifest"> - <xsl:with-param name="filename"> - <xsl:choose> - <xsl:when test="not($man.output.manifest.filename = '')"> - <!-- * If a name for the manifest file is specified, --> - <!-- * use that name. --> - <xsl:value-of select="$man.output.manifest.filename"/> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise, if user has unset --> - <!-- * $man.output.manifest.filename, default to --> - <!-- * using "MAN.MANIFEST" as the filename. Because --> - <!-- * $man.output.manifest.enabled is non-zero and --> - <!-- * so we must have a filename in order to --> - <!-- * generate the manifest. --> - <xsl:text>MAN.MANIFEST</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise, the document does not contain any --> - <!-- * refentry elements, so log/emit message and stop. --> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Erro</xsl:with-param> - <xsl:with-param name="source" select="$doc.title"/> - <xsl:with-param name="context-desc"> - <xsl:text> no refentry</xsl:text> - </xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>No refentry elements found</xsl:text> - <xsl:if test="$doc.title != ''"> - <xsl:text> in "</xsl:text> - <xsl:choose> - <xsl:when test="string-length($doc.title) > 30"> - <xsl:value-of select="substring($doc.title,1,30)"/> - <xsl:text>...</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$doc.title"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>"</xsl:text> - </xsl:if> - <xsl:text>.</xsl:text> - </xsl:with-param> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- ============================================================== --> - - <xsl:template match="refentry"> - <xsl:param name="lang"> - <xsl:call-template name="l10n.language"/> - </xsl:param> - <!-- * Just use the first refname found as the "name" of the man --> - <!-- * page (which may different from the "title"...) --> - <xsl:variable name="first.refname" select="refnamediv[1]/refname[1]"/> - - <xsl:call-template name="root.messages"> - <xsl:with-param name="refname" select="$first.refname"/> - </xsl:call-template> - - <!-- * Because there are several times when we need to check *info of --> - <!-- * each refentry and its ancestors, we get those and store the --> - <!-- * data from them as a node-set in memory. --> - - <!-- * Make a node-set with contents of *info --> - <xsl:variable name="get.info" select="ancestor-or-self::*/*[substring(local-name(), string-length(local-name()) - 3) = 'info']"/> - <xsl:variable name="info" select="exsl:node-set($get.info)"/> - - <!-- * The get.refentry.metadata template is in --> - <!-- * ../common/refentry.xsl. It looks for metadata in $info --> - <!-- * and in various other places and then puts it into a form --> - <!-- * that's easier for us to digest. --> - <xsl:variable name="get.refentry.metadata"> - <xsl:call-template name="get.refentry.metadata"> - <xsl:with-param name="refname" select="$first.refname"/> - <xsl:with-param name="info" select="$info"/> - <xsl:with-param name="prefs" select="$refentry.metadata.prefs"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="refentry.metadata" select="exsl:node-set($get.refentry.metadata)"/> - - <!-- * Assemble the various parts into a complete page, then store into --> - <!-- * $manpage.contents so that we can manipluate them further. --> - <xsl:variable name="manpage.contents"> - <!-- * preprocessor invocation (need for legacy AT&T troff use) --> - <!-- * this tells troff to pre-process the page through tbl(1) --> - <!-- * (groff can figure it out automatically, but AT&T troff can't) --> - <xsl:text>'\" t -</xsl:text> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * top.comment = commented-out section at top of roff source --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:call-template name="top.comment"> - <xsl:with-param name="info" select="$info"/> - <xsl:with-param name="date" select="$refentry.metadata/date"/> - <xsl:with-param name="title" select="$refentry.metadata/title"/> - <xsl:with-param name="manual" select="$refentry.metadata/manual"/> - <xsl:with-param name="source" select="$refentry.metadata/source"/> - <xsl:with-param name="refname" select="$first.refname"/> - </xsl:call-template> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * TH.title.line = title line in header/footer of man page --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:call-template name="TH.title.line"> - <!-- * .TH TITLE section extra1 extra2 extra3 --> - <!-- * --> - <!-- * According to the man(7) man page: --> - <!-- * --> - <!-- * extra1 = date, "the date of the last revision" --> - <!-- * extra2 = source, "the source of the command" --> - <!-- * extra3 = manual, "the title of the manual --> - <!-- * (e.g., Linux Programmer's Manual)" --> - <!-- * --> - <!-- * So, we end up with: --> - <!-- * --> - <!-- * .TH TITLE section date source manual --> - <!-- * --> - <xsl:with-param name="title" select="$refentry.metadata/title"/> - <xsl:with-param name="section" select="$refentry.metadata/section"/> - <xsl:with-param name="extra1" select="$refentry.metadata/date"/> - <xsl:with-param name="extra2" select="$refentry.metadata/source"/> - <xsl:with-param name="extra3" select="$refentry.metadata/manual"/> - </xsl:call-template> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * (re)define some macros --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:call-template name="define.portability.macros"/> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:call-template name="define.macros"/> - </xsl:if> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * Set default hyphenation, justification, indentation, and --> - <!-- * line-breaking --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:call-template name="set.default.formatting"/> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * Main body of man page --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:text>.\" ----------------------------------------------------------------- -</xsl:text> - <xsl:text>.\" * MAIN CONTENT STARTS HERE * -</xsl:text> - <xsl:text>.\" ----------------------------------------------------------------- -</xsl:text> - <xsl:apply-templates/> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * AUTHOR section --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:if test="not($man.authors.section.enabled = 0)"> - <xsl:call-template name="author.section"> - <xsl:with-param name="info" select="$info"/> - </xsl:call-template> - </xsl:if> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * COPYRIGHT section --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:if test="not($man.copyright.section.enabled = 0)"> - <xsl:call-template name="copyright.section"> - <xsl:with-param name="info" select="$info"/> - </xsl:call-template> - </xsl:if> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- * NOTES list (only if user wants endnotes numbered and/or listed) --> - <!-- * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <xsl:if test="$man.endnotes.list.enabled != 0 or $man.endnotes.are.numbered != 0"> - <xsl:call-template name="endnotes.list"/> - </xsl:if> - </xsl:variable> <!-- * end of manpage.contents --> - - <!-- * Prepare the page contents for final output, then store in --> - <!-- * $manpage.contents.prepared so the we can pass it on to the --> - <!-- * write.text.chunk() function --> - <xsl:variable name="manpage.contents.prepared"> - <!-- * "Preparing" the page contents involves, at a minimum, --> - <!-- * doubling any backslashes found (so they aren't interpreted --> - <!-- * as roff escapes). --> - <!-- * --> - <!-- * If $charmap.enabled is true, "preparing" the page contents also --> - <!-- * involves applying a character map to convert Unicode symbols and --> - <!-- * special characters into corresponding roff escape sequences. --> - <xsl:call-template name="prepare.manpage.contents"> - <xsl:with-param name="content" select="$manpage.contents"/> - </xsl:call-template> - </xsl:variable> - - <!-- * Write the prepared page contents to disk to create --> - <!-- * the final man page. --> - <xsl:call-template name="write.man.file"> - <xsl:with-param name="name" select="$first.refname"/> - <xsl:with-param name="section" select="$refentry.metadata/section"/> - <xsl:with-param name="lang" select="$lang"/> - <xsl:with-param name="content" select="$manpage.contents.prepared"/> - </xsl:call-template> - - <!-- * Generate "stub" (alias) pages (if any needed) --> - <xsl:call-template name="write.stubs"> - <xsl:with-param name="first.refname" select="$first.refname"/> - <xsl:with-param name="section" select="$refentry.metadata/section"/> - <xsl:with-param name="lang" select="$lang"/> - </xsl:call-template> - - </xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/refentry.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/refentry.xsl deleted file mode 100644 index 4f6b5af99..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/refentry.xsl +++ /dev/null @@ -1,319 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version='1.0'> - -<!-- ******************************************************************** - $Id: refentry.xsl 8235 2009-02-09 16:22:14Z 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="refnamediv"> - <xsl:choose> - <xsl:when test="preceding-sibling::refnamediv"> - <!-- * No title on secondary refnamedivs! --> - <!-- * Just put a single line break instead --> - <xsl:text>.br </xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="make.subheading"> - <xsl:with-param name="title"> - <xsl:apply-templates select="." mode="subheading.markup"/> - </xsl:with-param> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - <xsl:call-template name="mark.subheading"/> - <!-- * if we have multiple Refname instances, separate the names --> - <!-- * with commas --> - <xsl:for-each select="refname"> - <xsl:if test="position()>1"> - <xsl:text>, </xsl:text> - </xsl:if> - <xsl:call-template name="string.subst"> - <!-- * To create the name(s) for this man page, replace any --> - <!-- * spaces in the refname(s) with underscores. This ensures --> - <!-- * that tools like lexgrog(1) will be able to parse the name --> - <!-- * (lexgrog won’t parse names that contain spaces). --> - <xsl:with-param name="string" select="."/> - <xsl:with-param name="target" select="' '"/> - <xsl:with-param name="replacement" select="'_'"/> - </xsl:call-template> - </xsl:for-each> - <!-- * The man(7) man pages says: --> - <!-- * --> - <!-- * The only required heading is NAME, which should be the --> - <!-- * first section and be followed on the next line by a one --> - <!-- * line description of the program: --> - <!-- * --> - <!-- * .SH NAME chess \- the game of chess --> - <!-- * --> - <!-- * It is extremely important that this format is followed, --> - <!-- * and that there is a backslash before the single dash --> - <!-- * which follows the command name. This syntax is used by --> - <!-- * the makewhatis(8) program to create a database of short --> - <!-- * command descriptions for the whatis(1) and apropos(1) --> - <!-- * commands. --> - <!-- * --> - <xsl:if test="refpurpose/node()"> - <xsl:text> \- </xsl:text> - <xsl:variable name="refpurpose"> - <xsl:apply-templates select="refpurpose/node()"/> - </xsl:variable> - <xsl:value-of select="normalize-space($refpurpose)"/> - </xsl:if> - <xsl:text> </xsl:text> - </xsl:template> - - <xsl:template match="refsynopsisdiv"> - <xsl:call-template name="make.subheading"> - <xsl:with-param name="title"> - <xsl:apply-templates select="." mode="subheading.markup"/> - </xsl:with-param> - </xsl:call-template> - <xsl:apply-templates/> - </xsl:template> - - <xsl:template match="refsect1|refentry/refsection"> - <xsl:variable name="title"> - <xsl:apply-templates select="." mode="subheading.markup"/> - </xsl:variable> - <xsl:call-template name="make.subheading"> - <xsl:with-param name="title"> - <xsl:value-of select="normalize-space($title)"/> - </xsl:with-param> - </xsl:call-template> - <xsl:apply-templates/> - </xsl:template> - - <xsl:template match="refsect2|refentry/refsection/refsection"> - <xsl:call-template name="mark.subheading"/> - <xsl:variable name="title"> - <xsl:apply-templates - select="(info/title - |refsectioninfo/title - |refsect1info/title - |title)[1]/node()"/> - </xsl:variable> - <xsl:text>.SS "</xsl:text> - <xsl:value-of select="normalize-space($title)"/> - <xsl:text>" </xsl:text> - <xsl:call-template name="mark.subheading"/> - <xsl:choose> - <!-- * If default-indentation adjustment is on, then indent the --> - <!-- * child content of this Refsect2 --> - <xsl:when test="not($man.indent.refsect = 0)"> - <xsl:text>.RS </xsl:text> - <xsl:apply-templates/> - <xsl:text>.RE </xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * If default-indentation adjustment is on, then do not --> - <!-- * indent the child content of this Refsect2, because --> - <!-- * the title is already "sticking out to the left" --> - <!-- * (as the groff_man(7) man page describes it), which --> - <!-- * actually means the title is indented by the value of --> - <!-- * the SN register, which appears by default to be --> - <!-- * about half of the default indentation value --> - <xsl:apply-templates/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="refsect3|refentry/refsection/refsection/refsection"> - <xsl:variable name="title"> - <xsl:value-of select="(info/title - |refsectioninfo/title - |refsect1info/title - |title)[1]"/> - </xsl:variable> - <xsl:choose> - <!-- * If default-indentation adjustment is on, then indent the --> - <!-- * child content of this Refsect3 or Refsection. --> - <xsl:when test="not($man.indent.refsect != 0)"> - <xsl:call-template name="nested-section-title"/> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($man.indent.width = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$man.indent.width"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:apply-templates/> - <xsl:text>.RE </xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * If default-indentation adjustment is on, then do not --> - <!-- * indent the child content of this Refsect2, because --> - <!-- * the title is already "sticking out to the left" --> - <!-- * (as the groff_man(7) man page describes it), which --> - <!-- * actually means the title is indented by the value of --> - <!-- * the SN register, which appears by default to be --> - <!-- * about half of the default indentation value --> - <xsl:text>.ti (\n(SNu * 5u / 3u) </xsl:text> - <xsl:call-template name="nested-section-title"/> - <xsl:apply-templates/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="refsection"> - <!-- * This template is used for a nested Refsection that is --> - <!-- * is a child of a Refsect3-level section (The numberd --> - <!-- * Refsect hierarchy in DocBook ends with Refsect3, so --> - <!-- * there is not actually a Refsect4 element.) --> - <xsl:variable name="title"> - <xsl:value-of select="(info/title - |refsectioninfo/title - |refsect1info/title - |title)[1]"/> - </xsl:variable> - <xsl:variable name="indent-width"> - <xsl:if test="not($man.indent.refsect = 0)"> - <!-- * If default-indentation adjustment is on, then indent the --> - <!-- * child content of this Refsect3 or Refsection. --> - <xsl:text>(\n(SNu) </xsl:text> - </xsl:if> - </xsl:variable> - <xsl:call-template name="nested-section-title"/> - <xsl:text>.RS (\n(SNu) </xsl:text> - <xsl:apply-templates/> - <xsl:text>.RE </xsl:text> - </xsl:template> - - <!-- ==================================================================== --> - - <xsl:template match="refsect1|refentry/refsection" - mode="subheading.markup"> - <xsl:variable name="title" select="(info/title - |refsectioninfo/title - |refsect1info/title - |title)[1]"/> - <xsl:apply-templates select="$title" mode="title.markup"/> - </xsl:template> - - <xsl:template match="refsect1|refentry/refsection" - mode="title.markup"> - <!-- * Note: This template is used just for generating the text for --> - <!-- * cross-references to Refsect1 or top-level Refsection instances. --> - <xsl:variable name="title" select="(info/title - |refsectioninfo/title - |refsect1info/title - |title)[1]"/> - <xsl:call-template name="process.SH.xref"> - <xsl:with-param name="title"> - <xsl:apply-templates select="$title" mode="title.markup"/> - </xsl:with-param> - </xsl:call-template> - </xsl:template> - - <!-- * Output of Titles from Xref with Endterm needs to be handled --> - <!-- * separately from output for Endterm-less Xref --> - <xsl:template match="refsect1/title - |refentry/refsection/title - |refsynopsisdiv/title" - mode="endterm"> - <xsl:call-template name="process.SH.xref"> - <xsl:with-param name="title"> - <xsl:apply-templates/> - </xsl:with-param> - </xsl:call-template> - </xsl:template> - - <xsl:template match="refsynopsisdiv" mode="subheading.markup"> - <xsl:param name="allow-anchors" select="0"/> - <xsl:variable name="title"> - <xsl:call-template name="get.refsynopsisdiv.title"> - <xsl:with-param name="allow-anchors" select="$allow-anchors"/> - </xsl:call-template> - </xsl:variable> - <xsl:value-of select="$title"/> - </xsl:template> - - <xsl:template match="refsynopsisdiv" mode="title.markup"> - <!-- * Note: This template is used just for generating the text for --> - <!-- * cross-references to Refsynopsisdiv instances. --> - <xsl:param name="allow-anchors" select="0"/> - <xsl:variable name="title"> - <xsl:call-template name="get.refsynopsisdiv.title"> - <xsl:with-param name="allow-anchors" select="$allow-anchors"/> - </xsl:call-template> - </xsl:variable> - <xsl:call-template name="process.SH.xref"> - <xsl:with-param name="title" select="$title"/> - </xsl:call-template> - </xsl:template> - - <xsl:template name="get.refsynopsisdiv.title"> - <xsl:param name="allow-anchors"/> - <xsl:choose> - <xsl:when test="info/title - |refsynopsisdivinfo/title - |title"> - <xsl:apply-templates - select="(info/title - |refsynopsisdivinfo/title - |title)[1]" mode="title.markup"> - <xsl:with-param name="allow-anchors" select="$allow-anchors"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'RefSynopsisDiv'"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="refnamediv" mode="subheading.markup"> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'RefName'"/> - </xsl:call-template> - </xsl:template> - - <xsl:template match="refnamediv" mode="title.markup"> - <xsl:call-template name="process.SH.xref"> - <xsl:with-param name="title"> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'RefName'"/> - </xsl:call-template> - </xsl:with-param> - </xsl:call-template> - </xsl:template> - - <xsl:template match="refnamediv" mode="xref-to"> - <xsl:apply-templates select="." mode="title.markup"/> - </xsl:template> - - <!-- * suppress any title we don't otherwise process elsewhere --> - <xsl:template match="title"/> - - <!-- ==================================================================== --> - - <xsl:template name="process.SH.xref"> - <xsl:param name="title"/> - <xsl:choose> - <xsl:when test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>\c</xsl:text> - <xsl:text>▒</xsl:text> - <xsl:text>.SH-xref </xsl:text> - <xsl:text>"</xsl:text> - <xsl:value-of select="$title"/> - <xsl:text>\c"</xsl:text> - <xsl:text>▒</xsl:text> - <xsl:text>\&</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="string.upper"> - <xsl:with-param name="string" select="$title"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/synop.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/synop.xsl deleted file mode 100644 index 2e0b14e03..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/synop.xsl +++ /dev/null @@ -1,432 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - exclude-result-prefixes="exsl" - version='1.0'> - -<!-- ******************************************************************** - $Id: synop.xsl 7956 2008-03-27 12:07:43Z 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:variable name="arg.or.sep"> |</xsl:variable> - -<!-- * Note: If you're looking for the *Synopsis* element, you won't --> -<!-- * find any code here for handling it. It's a "verbatim" --> -<!-- * environment; see the block.xsl file instead. --> - -<xsl:template match="synopfragmentref"> - <xsl:variable name="target" select="key('id',@linkend)"/> - <xsl:variable name="snum"> - <xsl:apply-templates select="$target" mode="synopfragment.number"/> - </xsl:variable> - <xsl:text>(</xsl:text> - <xsl:value-of select="$snum"/> - <xsl:text>)</xsl:text> - <xsl:text>▀</xsl:text> - <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="synopfragment" mode="synopfragment.number"> - <xsl:number format="1"/> -</xsl:template> - -<xsl:template match="synopfragment"> - <xsl:variable name="snum"> - <xsl:apply-templates select="." mode="synopfragment.number"/> - </xsl:variable> - <xsl:text> </xsl:text> - <!-- * If we have a group of Synopfragments, we only want to output a --> - <!-- * line of space before the first; so when we find a Synopfragment --> - <!-- * which has another Synopfragment as a following sibling, we use--> - <!-- * the pinch-together template to close up the line of space --> - <!-- * that would otherwise be generated by the .HP macro --> - <xsl:if test="following-sibling::*[self::synopfragment]"> - <xsl:call-template name="pinch.together"/> - </xsl:if> - <xsl:text>.HP </xsl:text> - <xsl:text>\w'</xsl:text> - <xsl:text>(</xsl:text> - <xsl:value-of select="$snum"/> - <xsl:text>)</xsl:text> - <xsl:text>\ 'u</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>(</xsl:text> - <xsl:value-of select="$snum"/> - <xsl:text>)</xsl:text> - <xsl:text>\ </xsl:text> - <xsl:apply-templates/> -</xsl:template> - -<xsl:template match="group|arg" name="group-or-arg"> - <xsl:variable name="choice" select="@choice"/> - <xsl:variable name="rep" select="@rep"/> - <xsl:variable name="sepchar"> - <xsl:choose> - <xsl:when test="ancestor-or-self::*/@sepchar"> - <xsl:value-of select="ancestor-or-self::*/@sepchar"/> - </xsl:when> - <xsl:otherwise> - <xsl:text> </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:if test="position()>1 and - not(preceding-sibling::*[1][self::sbr])" - ><xsl:value-of select="$sepchar"/></xsl:if> - <xsl:choose> - <xsl:when test="$choice='plain'"> - <!-- * do nothing --> - </xsl:when> - <xsl:when test="$choice='req'"> - <xsl:value-of select="$arg.choice.req.open.str"/> - </xsl:when> - <xsl:when test="$choice='opt'"> - <xsl:value-of select="$arg.choice.opt.open.str"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$arg.choice.def.open.str"/> - </xsl:otherwise> - </xsl:choose> - <xsl:variable name="arg"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:choose> - <xsl:when test="local-name(.) = 'arg' and not(ancestor::arg)"> - <!-- * Prevent arg contents from getting wrapped and broken up --> - <xsl:variable name="arg.wrapper"> - <Arg><xsl:value-of select="normalize-space($arg)"/></Arg> - </xsl:variable> - <xsl:apply-templates mode="prevent.line.breaking" - select="exsl:node-set($arg.wrapper)"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$arg"/> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="$rep='repeat'"> - <xsl:value-of select="$arg.rep.repeat.str"/> - </xsl:when> - <xsl:when test="$rep='norepeat'"> - <xsl:value-of select="$arg.rep.norepeat.str"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$arg.rep.def.str"/> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="$choice='plain'"> - <xsl:if test='arg'> - <xsl:value-of select="$arg.choice.plain.close.str"/> - </xsl:if> - </xsl:when> - <xsl:when test="$choice='req'"> - <xsl:value-of select="$arg.choice.req.close.str"/> - </xsl:when> - <xsl:when test="$choice='opt'"> - <xsl:value-of select="$arg.choice.opt.close.str"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$arg.choice.def.close.str"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="group/arg"> - <xsl:variable name="choice" select="@choice"/> - <xsl:variable name="rep" select="@rep"/> - <xsl:if test="position()>1"><xsl:value-of select="$arg.or.sep"/></xsl:if> - <xsl:call-template name="group-or-arg"/> -</xsl:template> - -<xsl:template match="sbr"> - <xsl:text>▒</xsl:text> - <xsl:text>.br▒</xsl:text> -</xsl:template> - -<xsl:template match="cmdsynopsis"> - <!-- * if justification is enabled by default, turn it off temporarily --> - <xsl:if test="$man.justify != 0"> - <xsl:text>.ad l </xsl:text> - </xsl:if> - <!-- * if hyphenation is enabled by default, turn it off temporarily --> - <xsl:if test="$man.hyphenate != 0"> - <xsl:text>.hy 0 </xsl:text> - </xsl:if> - <xsl:call-template name="synopsis-block-start"/> - <xsl:text>.HP </xsl:text> - <xsl:text>\w'</xsl:text> - <xsl:variable name="command"> - <xsl:apply-templates select="command"/> - </xsl:variable> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="normalize-space($command)"/> - <xsl:with-param name="target" select="' '"/> - <xsl:with-param name="replacement" select="'\ '"/> - </xsl:call-template> - <xsl:text>\ 'u</xsl:text> - <xsl:text> </xsl:text> - <xsl:apply-templates/> - <xsl:text> </xsl:text> - <xsl:call-template name="synopsis-block-end"/> - <!-- * if justification is enabled by default, turn it back on --> - <xsl:if test="$man.justify != 0"> - <xsl:text>.ad </xsl:text> - </xsl:if> - <!-- * if hyphenation is enabled by default, turn it back on --> - <xsl:if test="$man.hyphenate != 0"> - <xsl:text>.hy </xsl:text> - </xsl:if> -</xsl:template> - -<!-- ==================================================================== --> -<!-- * Funcsynopis hierarchy starts here --> -<!-- ==================================================================== --> - -<!-- * Note: If you're looking for the *Funcsynopsisinfo* element, --> -<!-- * you won't find any code here for handling it. It's a "verbatim" --> -<!-- * environment; see the block.xsl file instead. --> - -<!-- * Within funcsynopis output, disable hyphenation, and use --> -<!-- * left-aligned filling for the duration of the synopsis, so that --> -<!-- * line breaks only occur between separate paramdefs. --> -<xsl:template match="funcsynopsis"> - <!-- * if justification is enabled by default, turn it off temporarily --> - <xsl:if test="$man.justify != 0"> - <xsl:text>.ad l </xsl:text> - </xsl:if> - <!-- * if hyphenation is enabled by default, turn it off temporarily --> - <xsl:if test="$man.hyphenate != 0"> - <xsl:text>.hy 0 </xsl:text> - </xsl:if> - <xsl:apply-templates/> - <!-- * if justification is enabled by default, turn it back on --> - <xsl:if test="$man.justify != 0"> - <xsl:text>.ad </xsl:text> - </xsl:if> - <!-- * if hyphenation is enabled by default, turn it back on --> - <xsl:if test="$man.hyphenate != 0"> - <xsl:text>.hy </xsl:text> - </xsl:if> -</xsl:template> - -<!-- * In HTML output, placing a dbfunclist PI as a child of a particular --> -<!-- * element creates a hyperlinked list of all funcsynopsis instances --> -<!-- * that are descendants of that element. But we can’t really do this --> -<!-- * kind of hyperlinked list in manpages output, so we just need to --> -<!-- * suppress it instead. --> -<xsl:template match="processing-instruction('dbfunclist')"/> - -<!-- * ***************************************************************** --> -<!-- * Note about boldface in funcprototype output --> -<!-- * ***************************************************************** --> -<!-- * All funcprototype content is by default rendered in bold, --> -<!-- * because the old man(7) man page, now man-pages(7) says this: --> -<!-- * --> -<!-- * For functions, the arguments are always specified using --> -<!-- * italics, even in the SYNOPSIS section, where the rest of --> -<!-- * the function is specified in bold --> -<!-- * --> -<!-- * Look through the contents of the man/man2 and man3 directories --> -<!-- * on your system, and you'll see that most existing pages do follow --> -<!-- * this "bold everything in function synopsis" rule. --> -<!-- * --> -<!-- * Users who don't want the bold output can choose to adjust the --> -<!-- * man.font.funcprototype parameter on their own. So even if you --> -<!-- * don't personally like the way it looks, please don't change the --> -<!-- * default to be non-bold - because it's a convention that's --> -<!-- * followed is the vast majority of existing man pages that document --> -<!-- * functions, and we need to follow it by default, like it or no. --> -<!-- * ***************************************************************** --> - -<xsl:template match="funcprototype"> - <xsl:variable name="man-funcprototype-style"> - <xsl:call-template name="pi.dbman_funcsynopsis-style"> - <xsl:with-param name="node" select="ancestor::funcsynopsis/descendant-or-self::*"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="style"> - <xsl:choose> - <xsl:when test="not($man-funcprototype-style = '')"> - <xsl:value-of select="$man-funcprototype-style"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$man.funcsynopsis.style"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:variable name="funcprototype.string.value"> - <xsl:value-of select="funcdef"/> - </xsl:variable> - <xsl:variable name="funcprototype"> - <xsl:apply-templates select="funcdef"/> - </xsl:variable> - <xsl:call-template name="synopsis-block-start"/> - <xsl:text>.HP </xsl:text> - <xsl:text>\w'</xsl:text> - <xsl:variable name="funcdef"> - <xsl:apply-templates select="funcdef"/> - </xsl:variable> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="normalize-space($funcdef)"/> - <xsl:with-param name="target" select="' '"/> - <xsl:with-param name="replacement" select="'\ '"/> - </xsl:call-template> - <xsl:text>('u</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>.</xsl:text> - <xsl:value-of select="$man.font.funcprototype"/> - <xsl:text> </xsl:text> - <!-- * The following quotation mark (and the one further below) are --> - <!-- * needed to properly delimit the parts of the Funcprototype that --> - <!-- * should be rendered in the prevailing font (either Bold or Roman) --> - <!-- * from Parameter output that needs to be alternately rendered in --> - <!-- * italic. --> - <xsl:text>"</xsl:text> - <xsl:value-of select="normalize-space($funcprototype)"/> - <xsl:text>(</xsl:text> - <xsl:choose> - <xsl:when test="not($style = 'ansi')"> - <xsl:apply-templates select="*[local-name() != 'funcdef']" mode="kr"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select="*[local-name() != 'funcdef']" mode="ansi"/> - </xsl:otherwise> - </xsl:choose> - <xsl:text>"</xsl:text> - <xsl:text> </xsl:text> - <xsl:if test="paramdef and not($style = 'ansi')"> - <!-- * if we have any paramdef instances in this funcprototype and --> - <!-- * the user has chosen K&R style output (by specifying some style --> - <!-- * value other than the default 'ansi'), then we need to generate --> - <!-- * the separate list of param definitions for this funcprototype --> - <!-- * --> - <!-- * we put a blank line after the prototype and before the list, --> - <!-- * and we indent the list by whatever width $list-indent is set --> - <!-- * to (4 spaces by default) --> - <xsl:text>.sp </xsl:text> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - <xsl:apply-templates select="paramdef" mode="kr-paramdef-list"/> - <xsl:text>.RE </xsl:text> - </xsl:if> - <xsl:call-template name="synopsis-block-end"/> -</xsl:template> - -<xsl:template match="funcdef"> - <xsl:apply-templates mode="prevent.line.breaking"/> -</xsl:template> - -<xsl:template match="funcdef/function"> - <xsl:apply-templates/> -</xsl:template> - -<xsl:template match="void" mode="kr"> - <xsl:text>);</xsl:text> -</xsl:template> - -<xsl:template match="varargs" mode="kr"> - <xsl:text>...);</xsl:text> -</xsl:template> - -<xsl:template match="void" mode="ansi"> - <xsl:text>void);</xsl:text> -</xsl:template> - -<xsl:template match="varargs" mode="ansi"> - <xsl:text>...);</xsl:text> -</xsl:template> - -<xsl:template match="paramdef" mode="kr"> - <!-- * in K&R-style output, the prototype just contains the parameter --> - <!-- * names - because the parameter definitions for each parameter --> - <!-- * (including the type information) are displayed in a separate --> - <!-- * list following the prototype; so in this mode (which is for the --> - <!-- * prototype, not the separate list), we first just want to grab --> - <!-- * the parameter for each paramdef --> - <xsl:variable name="contents"> - <xsl:apply-templates select="parameter"/> - </xsl:variable> - <xsl:apply-templates mode="prevent.line.breaking" select="exsl:node-set($contents)"/> - <xsl:choose> - <xsl:when test="following-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>);</xsl:text> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="paramdef" mode="ansi"> - <!-- * in ANSI-style output, the prototype contains the complete --> - <!-- * parameter definitions for each parameter (there is no separate --> - <!-- * list of parameter definitions like the one for K&R style --> - <xsl:apply-templates mode="prevent.line.breaking" select="."/> - <xsl:choose> - <xsl:when test="following-sibling::*"> - <xsl:text>, </xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>);</xsl:text> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="paramdef" mode="kr-paramdef-list"> - <!-- * this mode is for generating the separate list of parameter --> - <!-- * definitions in K&R-style output --> - <xsl:text>.br </xsl:text> - <xsl:text>.</xsl:text> - <xsl:value-of select="$man.font.funcprototype"/> - <xsl:text> </xsl:text> - <!-- * The following quotation mark (and the one further below) are --> - <!-- * needed to properly delimit the parts of the Funcprototype that --> - <!-- * should be rendered in the prevailing font (either Bold or Roman) --> - <!-- * from Parameter output that needs to be alternately rendered in --> - <!-- * italic. --> - <xsl:text>"</xsl:text> - <xsl:variable name="contents"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:value-of select="normalize-space($contents)"/> - <xsl:text>;</xsl:text> - <xsl:text>"</xsl:text> - <xsl:text> </xsl:text> -</xsl:template> - -<xsl:template match="paramdef/parameter"> - <!-- * We use U+2591 here in place of a normal space, because if we --> - <!-- * were to just use a normal space, it would get replaced with a --> - <!-- * non-breaking space when we run the whole Paramdef through the --> - <!-- * prevent.line.breaking template. And as far as why we're --> - <!-- * inserting the space and quotation marks around each Parameter --> - <!-- * to begin with, the reason is that we need to because we are --> - <!-- * outputting Funcsynopsis in either the "BI" or "RI" font, and --> - <!-- * the space and quotation marks delimit the text as the --> - <!-- * "alternate" or "I" text that needs to be rendered in italic. --> - <xsl:text>"░"</xsl:text> - <xsl:apply-templates/> - <xsl:text>"░"</xsl:text> -</xsl:template> - -<xsl:template match="funcparams"> - <xsl:text>(</xsl:text> - <xsl:apply-templates/> - <xsl:text>)</xsl:text> -</xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/table.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/table.xsl deleted file mode 100644 index 3d9505133..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/table.xsl +++ /dev/null @@ -1,633 +0,0 @@ -<?xml version="1.0"?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - exclude-result-prefixes="exsl" - version='1.0'> - - <!-- ******************************************************************** - $Id: table.xsl 8400 2009-04-08 07:44:54Z bobstayton $ - ******************************************************************** - - 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:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/> - <xsl:param name="tbl.font.title">B</xsl:param> - <xsl:param name="tbl.font.headings">B</xsl:param> - --> - <xsl:param name="tbl.running.header.from.thead" select="0"/> - <xsl:param name="tbl.column.separator.char">:</xsl:param> - - <!-- ==================================================================== --> - - <!-- * This stylesheet transforms DocBook and HTML table source into --> - <!-- * tbl(1) markup. --> - <!-- * --> - <!-- * For details on tbl(1) and its markup syntaxt, see M. E. Lesk,--> - <!-- * "Tbl - A Program to Format Tables": --> - <!-- * --> - <!-- * http://cm.bell-labs.com/7thEdMan/vol2/tbl --> - <!-- * http://cm.bell-labs.com/cm/cs/doc/76/tbl.ps.gz --> - <!-- * http://www.snake.net/software/troffcvt/tbl.html --> - - <xsl:template match="table|informaltable" mode="to.tbl"> - <!--* the "source" param is an optional param; it can be any --> - <!--* string you want to use that gives some indication of the --> - <!--* source context for a table; it gets passed down to the named --> - <!--* templates that do the actual table processing; this --> - <!--* stylesheet currently uses the "source" information for --> - <!--* logging purposes --> - <xsl:param name="source"/> - <xsl:param name="title"> - <xsl:if test="local-name(.) = 'table'"> - <xsl:apply-templates select="." mode="object.title.markup.textonly"/> - </xsl:if> - </xsl:param> - <!-- * ============================================================== --> - <!-- * Set global table parameters --> - <!-- * ============================================================== --> - <!-- * First, set a few parameters based on attributes specified in --> - <!-- * the table source. --> - <xsl:param name="allbox"> - <xsl:if test="not(@frame = 'none') and not(@border = '0')"> - <!-- * By default, put a box around table and between all cells, --> - <!-- * unless frame="none" or border="0" --> - <xsl:text>allbox </xsl:text> - </xsl:if> - </xsl:param> - <xsl:param name="center"> - <!-- * If align="center", center the table. Otherwise, tbl(1) --> - <!-- * left-aligns it by default; note that there is no support --> - <!-- * in tbl(1) for specifying right alignment. --> - <xsl:if test="@align = 'center' or tgroup/@align = 'center'"> - <xsl:text>center </xsl:text> - </xsl:if> - </xsl:param> - <xsl:param name="expand"> - <!-- * If pgwide="1" or width="100%", then "expand" the table by --> - <!-- * making it "as wide as the current line length" (to quote --> - <!-- * the tbl(1) guide). --> - <xsl:if test="@pgwide = '1' or @width = '100%'"> - <xsl:text>expand </xsl:text> - </xsl:if> - </xsl:param> - - <!-- * ============================================================== --> - <!-- * Convert table to HTML --> - <!-- * ============================================================== --> - <!-- * Process the table by applying the HTML templates from the --> - <!-- * DocBook XSL stylesheets to the whole thing; because we don't --> - <!-- * override any of the <row>, <entry>, <tr>, <td>, etc. templates, --> - <!-- * the templates in the HTML stylesheets (which we import) are --> - <!-- * used to process those. --> - <xsl:param name="html-table-output"> - <xsl:choose> - <xsl:when test=".//tr"> - <!-- * If this table has a TR child, it means that it's an --> - <!-- * HTML table in the DocBook source, instead of a CALS --> - <!-- * table. So we just copy it as-is, while wrapping it --> - <!-- * in an element with same name as its original parent. --> - <xsl:for-each select="descendant-or-self::table|descendant-or-self::informaltable"> - <xsl:element name="{local-name(..)}"> - <table> - <xsl:copy-of select="*"/> - </table> - </xsl:element> - </xsl:for-each> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise, this is a CALS table in the DocBook source, --> - <!-- * so we need to apply the templates in the HTML --> - <!-- * stylesheets to transform it into HTML before we do --> - <!-- * any further processing of it. --> - <xsl:apply-templates/> - </xsl:otherwise> - </xsl:choose> - </xsl:param> - <xsl:param name="contents" select="exsl:node-set($html-table-output)"/> - - <!-- ==================================================================== --> - <!-- * Output the table --> - <!-- ==================================================================== --> - <!-- * --> - <!-- * This is the "driver" part of the code; it calls a series of named - * templates (further below) to generate the actual tbl(1) markup, --> - <!-- * including the optional "options line", required "format section", --> - <!-- * and then the actual contents of the table. --> - <!-- * --> - <!-- ==================================================================== --> - - <xsl:for-each select="$contents//table"> - <!-- * ============================================================== --> - <!-- * Output table title --> - <!-- * ============================================================== --> - <xsl:if test="$title != '' or parent::td"> - <xsl:text>.sp </xsl:text> - <xsl:call-template name="pinch.together"/> - <xsl:text>.</xsl:text> - <xsl:value-of select="$tbl.font.title"/> - <xsl:text> </xsl:text> - <xsl:if test="parent::td"> - <xsl:text>*[nested▀table]</xsl:text> - </xsl:if> - <xsl:value-of select="normalize-space($title)"/> - <xsl:text> </xsl:text> - </xsl:if> - - <!-- * mark the start of the table --> - <!-- * "TS" = "table start" --> - <xsl:text>.TS</xsl:text> - <xsl:if test="thead and $tbl.running.header.from.thead"> - <!-- * H = "has header" --> - <xsl:text> H</xsl:text> - </xsl:if> - <xsl:text> </xsl:text> - - <!-- * ============================================================== --> - <!-- * Output "options line" --> - <!-- * ============================================================== --> - <xsl:variable name="options-line"> - <xsl:value-of select="$allbox"/> - <xsl:value-of select="$center"/> - <xsl:value-of select="$expand"/> - <xsl:text>tab(</xsl:text> - <xsl:value-of select="$tbl.column.separator.char"/> - <xsl:text>)</xsl:text> - </xsl:variable> - <xsl:if test="normalize-space($options-line) != ''"> - <xsl:value-of select="normalize-space($options-line)"/> - <xsl:text>; </xsl:text> - </xsl:if> - - <!-- * ============================================================== --> - <!-- * Output table header rows --> - <!-- * ============================================================== --> - <xsl:if test="thead"> - <xsl:call-template name="output.rows"> - <xsl:with-param name="rows" select="thead/tr"/> - </xsl:call-template> - <xsl:text> </xsl:text> - - <!-- * mark the end of table-header rows --> - <xsl:choose> - <xsl:when test="$tbl.running.header.from.thead"> - <!-- * "TH" = "table header end" --> - <xsl:text>.TH </xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * "T&" = "table continuation" and is meant just as a kind --> - <!-- * of convenience macro and is sorta equivalent to a "TE" --> - <!-- * (table end) followed immediately by a "TS" (table start); --> - <!-- * in this case, it marks the end of a table "subsection" --> - <!-- * with header rows, and the start of a subsection with body --> - <!-- * rows. It's necessary to output it here because the "TH" --> - <!-- * macro is not being output, so there's otherwise no way --> - <!-- * for tbl(1) to know we have the table "sectioned". --> - <xsl:text>.T& </xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - - <!-- * ============================================================== --> - <!-- * Output table body rows --> - <!-- * ============================================================== --> - <!-- * First create node set with all non-thead rows (tbody+tfoot), --> - <!-- * but reordered with the tfoot rows at the end of the node set --> - <xsl:variable name="rows-set"> - <xsl:copy-of select="tbody/tr|tr"/> - <xsl:copy-of select="tfoot/tr"/> - </xsl:variable> - <xsl:call-template name="output.rows"> - <xsl:with-param name="source" select="$source"/> - <xsl:with-param name="rows" select="exsl:node-set($rows-set)"/> - </xsl:call-template> - - <!-- * mark the end of the table --> - <xsl:text> </xsl:text> - <!-- * .TE = "Table End" --> - <xsl:text>.TE </xsl:text> - <!-- * put a blank line of space below the table --> - <xsl:text>.sp 1 </xsl:text> - </xsl:for-each> - </xsl:template> - - <!-- ==================================================================== --> - <!-- * named templates --> - <!-- ==================================================================== --> - <!-- * --> - <!-- * All of the following are named templates that get called directly --> - <!-- * or indirectly by the main "driver" part of the code (above) --> - <!-- * --> - <!-- ==================================================================== --> - - <xsl:template name="output.rows"> - <xsl:param name="source"/> - <xsl:param name="rows"/> - <!-- * ============================================================== --> - <!-- * Flatten row set into simple list of cells --> - <!-- * ============================================================== --> - <!-- * Now we flatten the structure further into just a set of --> - <!-- * cells without the row parents. This basically creates a --> - <!-- * copy of the entire contents of the original table, but --> - <!-- * restructured in such a way that we can more easily generate --> - <!-- * the corresponding tbl(1) markup we need to output. --> - <xsl:variable name="cells-list"> - <xsl:call-template name="build.cell.list"> - <xsl:with-param name="source" select="$source"/> - <xsl:with-param name="rows" select="$rows"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="cells" select="exsl:node-set($cells-list)"/> - - <!-- * Output the table "format section", which tells tbl(1) how to --> - <!-- * format each row and column --> - <xsl:call-template name="create.table.format"> - <xsl:with-param name="cells" select="$cells"/> - </xsl:call-template> - - <!--* Output the formatted contents of each cell. --> - <xsl:for-each select="$cells/cell"> - <xsl:call-template name="output.cell"/> - </xsl:for-each> - </xsl:template> - - <!-- * ============================================================== --> - <!-- * Output the tbl(1)-formatted contents of each cell. --> - <!-- * ============================================================== --> - <xsl:template name="output.cell"> - <xsl:choose> - <xsl:when test="preceding-sibling::cell[1]/@row != @row or - not(preceding-sibling::cell)"> - <!-- * If the value of the "row" attribute on this cell is --> - <!-- * different from the value of that on the previous cell, it --> - <!-- * means we have a new row. So output a line break (as long --> - <!-- * as this isn't the first cell in the table) --> - <xsl:text> </xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise we are not at the start of a new row, so we --> - <!-- * output a tab character to delimit the contents of this --> - <!-- * cell from the contents of the next one. --> - <xsl:value-of select="$tbl.column.separator.char"/> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="@type = '^'"> - <!-- * If this is a dummy cell resulting from the presence of --> - <!-- * rowpan attribute in the source, it has no contents, so --> - <!-- * we need to handle it differently. --> - <xsl:if test="@colspan and @colspan > 1"> - <!-- * If there is a colspan attribute on this dummy row, then --> - <!-- * we need to output a tab character for each column that --> - <!-- * it spans. --> - <xsl:call-template name="copy-string"> - <xsl:with-param name="string" select="$tbl.column.separator.char"/> - <xsl:with-param name="count"> - <xsl:value-of select="@colspan - 1"/> - </xsl:with-param> - </xsl:call-template> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <!-- * Otherwise, we have a "real" cell (not a dummy one) with --> - <!-- * contents that we need to output, --> - <!-- * --> - <!-- * The "T{" and "T}" stuff are delimiters to tell tbl(1) that --> - <!-- * the delimited contents are "text blocks" that roff --> - <!-- * needs to process --> - <xsl:text>T{ </xsl:text> - <xsl:copy-of select="."/> - <xsl:text> T}</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- * ============================================================== --> - <!-- * Build a restructured "cell list" copy of the entire table --> - <!-- * ============================================================== --> - <xsl:template name="build.cell.list"> - <xsl:param name="source"/> - <xsl:param name="rows"/> - <xsl:param name="cell-data-unsorted"> - <!-- * This param collects all the "real" cells from the table, --> - <!-- * along with "dummy" rows that we generate for keeping --> - <!-- * track of Rowspan instances. --> - <xsl:apply-templates select="$rows" mode="cell.list"> - <xsl:with-param name="source" select="$source"/> - </xsl:apply-templates> - </xsl:param> - <xsl:param name="cell-data-sorted"> - <!-- * Sort the cells so that the dummy cells get put where we --> - <!-- * need them in the structure. Note that we need to specify --> - <!-- * data-type="number" here because the default sorting method --> - <!-- * for xsl:sort is "text" (alphabetical). --> - <xsl:for-each select="exsl:node-set($cell-data-unsorted)/cell"> - <xsl:sort select="@row" data-type="number"/> - <xsl:sort select="@slot" data-type="number"/> - <xsl:copy-of select="."/> - </xsl:for-each> - </xsl:param> - <!-- * Return the sorted cell list --> - <xsl:copy-of select="$cell-data-sorted"/> - </xsl:template> - - <xsl:template match="tr" mode="cell.list"> - <xsl:param name="source"/> - <xsl:variable name="row"> - <xsl:value-of select="count(preceding-sibling::tr) + 1"/> - </xsl:variable> - <xsl:for-each select="td|th"> - <xsl:call-template name="cell"> - <xsl:with-param name="source" select="$source"/> - <xsl:with-param name="row" select="$row"/> - <!-- * pass on the element name so we can select the appropriate --> - <!-- * roff font for styling the cell contents --> - <xsl:with-param name="class" select="name(.)"/> - </xsl:call-template> - </xsl:for-each> - </xsl:template> - - <xsl:template name="cell"> - <xsl:param name="source"/> - <xsl:param name="row"/> - <xsl:param name="class"/> - <xsl:param name="slot"> - <!-- * The "slot" is the horizontal position of this cell (usually --> - <!-- * just the same as its column, but not so when it is preceded --> - <!-- * by cells that have colspans or cells in preceding rows that --> - <!-- * that have rowspans). --> - <xsl:value-of select="position()"/> - </xsl:param> - <!-- * For each real TD cell, create a Cell instance; contents will --> - <!-- * be the roff-formatted contents of its original table cell. --> - <cell type="" - row="{$row}" - slot="{$slot}" - class="{$class}" - colspan="{@colspan}" - align="{@align}" - valign="{@valign}" - > - <xsl:choose> - <xsl:when test=".//tr"> - <xsl:call-template name="log.message"> - <xsl:with-param name="level">Warn</xsl:with-param> - <xsl:with-param name="source" select="$source"/> - <xsl:with-param name="context-desc">tbl convert</xsl:with-param> - <xsl:with-param name="message"> - <xsl:text>Extracted a nested table</xsl:text> - </xsl:with-param> - </xsl:call-template> - <xsl:text>[\fInested▀table\fR]* </xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * Apply templates to the child contents of this cell, to --> - <!-- * transform them into marked-up roff. --> - <xsl:variable name="contents"> - <xsl:apply-templates/> - </xsl:variable> - <!-- * We now have the contents in roff (plain-text) form, --> - <!-- * but we may also still have unnecessary whitespace at --> - <!-- * the beginning and/or end of it, so trim it off. --> - <xsl:call-template name="trim.text"> - <xsl:with-param name="contents" select="$contents"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </cell> - - <!-- * For each instance of a rowspan attribute found, we create N --> - <!-- * dummy cells, where N is equal to the value of the rowspan. --> - <xsl:if test="@rowspan and @rowspan > 0"> - <!-- * If this cell is preceded in the same row by cells that --> - <!-- * have colspan attributes, then we need to calculate the --> - <!-- * "offset" caused by those colspan instances; the formula --> - <!-- * is to (1) check for all the preceding cells that have --> - <!-- * colspan attributes that are not empty and which have a --> - <!-- * value greater than 1, then (2) take the sum of the values --> - <!-- * of all those colspan attributes, and subtract from that --> - <!-- * the number of such colspan instances found. --> - <xsl:variable name="colspan-offset"> - <xsl:value-of - select="sum(preceding-sibling::td[@colspan != '' - and @colspan > 1]/@colspan) - - count(preceding-sibling::td[@colspan != '' - and @colspan > 1]/@colspan)"/> - </xsl:variable> - <xsl:call-template name="create.dummy.cells"> - <xsl:with-param name="row" select="$row + 1"/> - <!-- * The slot value on each dummy cell must be offset by the --> - <!-- * value of $colspan-offset to adjust for preceding colpans --> - <xsl:with-param name="slot" select="$slot + $colspan-offset"/> - <xsl:with-param name="colspan" select="@colspan"/> - <xsl:with-param name="rowspan" select="@rowspan"/> - </xsl:call-template> - </xsl:if> - </xsl:template> - - <xsl:template name="create.dummy.cells"> - <xsl:param name="row"/> - <xsl:param name="slot"/> - <xsl:param name="colspan"/> - <xsl:param name="rowspan"/> - <xsl:choose> - <xsl:when test="$rowspan > 1"> - <!-- * Tail recurse until we have no more rowspans, creating --> - <!-- * an empty dummy cell each time. The type value, '^' --> - <!-- * is the marker that tbl(1) uses to indicate a --> - <!-- * "vertically spanned heading". --> - <cell row="{$row}" slot="{$slot}" type="^" colspan="{@colspan}"/> - <xsl:call-template name="create.dummy.cells"> - <xsl:with-param name="row" select="$row + 1"/> - <xsl:with-param name="slot" select="$slot"/> - <xsl:with-param name="colspan" select="$colspan"/> - <xsl:with-param name="rowspan" select="$rowspan - 1"/> - </xsl:call-template> - </xsl:when> - </xsl:choose> - </xsl:template> - - <!-- * ============================================================== --> - <!-- * Build the "format section" for the table --> - <!-- * ============================================================== --> - <!-- * Description from the tbl(1) guide: --> - <!-- * --> - <!-- * "The format section of the table specifies the layout of the --> - <!-- * columns. Each line in this section corresponds to one line of --> - <!-- * the table... and each line contains a key-letter for each --> - <!-- * column of the table." --> - <xsl:template name="create.table.format"> - <xsl:param name="cells"/> - <xsl:apply-templates mode="table.format" select="$cells"/> - <!-- * last line of table format section must end with a dot --> - <xsl:text>.</xsl:text> - </xsl:template> - - <xsl:template match="cell" mode="table.format"> - <xsl:choose> - <xsl:when test="preceding-sibling::cell[1]/@row != @row"> - <!-- * If the value of the row attribute on this cell is --> - <!-- * different from the value of that on the previous cell, it --> - <!-- * means we have a new row. So output a line break. --> - <xsl:text>
</xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * If this isn't the first cell, output a space before it to --> - <!-- * separate it from the preceding key letter. --> - <xsl:if test="position() != 1"> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - <!-- * Select an appropriate "alignment" key letter based on this --> - <!-- * cell's attributes. --> - <xsl:choose> - <xsl:when test="@type = '^'"> - <xsl:text>^</xsl:text> - </xsl:when> - <xsl:when test="@align = 'center'"> - <xsl:text>c</xsl:text> - </xsl:when> - <xsl:when test="@align = 'right'"> - <xsl:text>r</xsl:text> - </xsl:when> - <xsl:when test="@align = 'char'"> - <xsl:text>n</xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * Default to left alignment. --> - <xsl:text>l</xsl:text> - </xsl:otherwise> - </xsl:choose> - <!-- * By default, tbl(1) vertically centers cell contents within --> - <!-- * their cells; the "t" key latter tells it to top-align the --> - <!-- * contents instead. Note that tbl(1) has no options for --> - <!-- * bottom or baseline alignment. --> - <xsl:if test="@valign = 'top'"> - <xsl:text>t</xsl:text> - </xsl:if> - <xsl:if test="@class = 'th'"> - <!-- * If this is a heading row, generate a font indicator (B or I), --> - <!-- * or if the value of $tbl.font.headings is empty, nothing. --> - <xsl:value-of select="$tbl.font.headings"/> - </xsl:if> - <!-- * We only need to deal with colspans whose value is greater --> - <!-- * than one (a colspan="1" is the same as having no colspan --> - <!-- * attribute at all). --> - <xsl:if test="@colspan > 1"> - <xsl:call-template name="process.colspan"> - <xsl:with-param name="colspan" select="@colspan - 1"/> - <xsl:with-param name="type" select="@type"/> - </xsl:call-template> - </xsl:if> - </xsl:template> - - <xsl:template name="process.colspan"> - <xsl:param name="colspan"/> - <xsl:param name="type"/> - <!-- * Output a space to separate this key letter from preceding one. --> - <xsl:text> </xsl:text> - <xsl:choose> - <xsl:when test="$type = '^'"> - <!-- * A '^' ("vertically spanned heading" marker) indicates --> - <!-- * that the "parent" of this spanned cell is a dummy cell; --> - <!-- * in this case, we need to generate a '^' instead of the --> - <!-- * normal 's'. --> - <xsl:text>^</xsl:text> - </xsl:when> - <xsl:otherwise> - <!-- * s = 'spanned heading' --> - <xsl:text>s</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:if test="$colspan > 1"> - <!-- * Tail recurse until we have no more colspans, outputting --> - <!-- * another marker each time. --> - <xsl:call-template name="process.colspan"> - <xsl:with-param name="colspan" select="$colspan - 1"/> - <xsl:with-param name="type" select="$type"/> - </xsl:call-template> - </xsl:if> - </xsl:template> - - <!-- * ============================================================== --> - <!-- * colgroup and col --> - <!-- * ============================================================== --> - <!-- * We currently don't do anything with colgroup. Not sure if it --> - <!-- * is widely used enough to bother adding support for it --> - <xsl:template match="colgroup"/> - <xsl:template match="col"/> - - <!-- * ============================================================== --> - <!-- * table footnotes --> - <!-- * ============================================================== --> - <xsl:template match="footnote" mode="table.footnote.mode"> - <xsl:variable name="footnotes" select=".//footnote"/> - <xsl:variable name="table.footnotes" - select=".//tgroup//footnote"/> - <xsl:value-of select="$man.table.footnotes.divider"/> - <xsl:text> </xsl:text> - <xsl:text>.br </xsl:text> - <xsl:apply-templates select="*[1]" mode="footnote.body.number"/> - <xsl:apply-templates select="*[position() > 1]"/> - </xsl:template> - - <!-- * The following template for footnote.body.number mode was just --> - <!-- * lifted from the HTML stylesheets with some minor adjustments --> - <xsl:template match="*" mode="footnote.body.number"> - <xsl:variable name="name"> - <xsl:text>ftn.</xsl:text> - <xsl:call-template name="object.id"> - <xsl:with-param name="object" select="ancestor::footnote"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="href"> - <xsl:text>#</xsl:text> - <xsl:call-template name="object.id"> - <xsl:with-param name="object" select="ancestor::footnote"/> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="footnote.mark"> - <xsl:text>[</xsl:text> - <xsl:apply-templates select="ancestor::footnote" - mode="footnote.number"/> - <xsl:text>] </xsl:text> - </xsl:variable> - <xsl:variable name="html"> - <xsl:apply-templates select="."/> - </xsl:variable> - <xsl:choose> - <xsl:when test="$exsl.node.set.available != 0"> - <xsl:variable name="html-nodes" select="exsl:node-set($html)"/> - <xsl:choose> - <xsl:when test="$html-nodes//p"> - <xsl:apply-templates select="$html-nodes" mode="insert.html.p"> - <xsl:with-param name="mark" select="$footnote.mark"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select="$html-nodes" mode="insert.html.text"> - <xsl:with-param name="mark" select="$footnote.mark"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:copy-of select="$html"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- * The HTML stylesheets output <sup><a>...</a></sup> around --> - <!-- * footnote markers in tables --> - <xsl:template match="th/sup"> - <xsl:apply-templates/> - </xsl:template> - <xsl:template match="a"> - <xsl:apply-templates/> - </xsl:template> - -</xsl:stylesheet> diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/utility.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/utility.xsl deleted file mode 100644 index c0082fc95..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/manpages/utility.xsl +++ /dev/null @@ -1,559 +0,0 @@ -<?xml version='1.0'?> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:exsl="http://exslt.org/common" - xmlns:dyn="http://exslt.org/dynamic" - xmlns:saxon="http://icl.com/saxon" - exclude-result-prefixes="exsl dyn saxon" - version='1.0'> - -<!-- ******************************************************************** - $Id: utility.xsl 9703 2013-01-07 20:13:05Z bobstayton $ - ******************************************************************** - - 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. - - ******************************************************************** --> - -<!-- ==================================================================== --> - -<!-- * This file contains "utility" templates that are called multiple --> -<!-- * times per each Refentry. --> - -<!-- ==================================================================== --> - - <!-- * NOTE TO DEVELOPERS: For ease of maintenance, the current --> - <!-- * manpages stylesheets use the "bold" and "italic" named --> - <!-- * templates for anything and everything that needs to get --> - <!-- * boldfaced or italicized. --> - <!-- * --> - <!-- * So if you add anything that needs bold or italic character --> - <!-- * formatting, try to apply these templates to it rather than --> - <!-- * writing separate code to format it. This can be a little odd if --> - <!-- * the content you want to format is not element content; in those --> - <!-- * cases, you need to turn it into element content before applying --> - <!-- * the template; see examples of this in the existing code. --> - - <xsl:template name="bold"> - <xsl:param name="node"/> - <xsl:param name="context"/> - <xsl:choose> - <xsl:when test="not($context[ancestor::title])"> - <xsl:for-each select="$node/node()"> - <xsl:text>\fB</xsl:text> - <xsl:apply-templates select="."/> - <xsl:text>\fR</xsl:text> - </xsl:for-each> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select="$node/node()"/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="italic"> - <xsl:param name="node"/> - <xsl:param name="context"/> - <xsl:for-each select="$node/node()"> - <xsl:text>\fI</xsl:text> - <xsl:apply-templates select="."/> - <xsl:text>\fR</xsl:text> - </xsl:for-each> - </xsl:template> - - <xsl:template name="inline.monoseq"> - <xsl:param name="content"> - <xsl:apply-templates/> - </xsl:param> - <xsl:call-template name="code-inline-start"/> - <xsl:copy-of select="$content"/> - <xsl:call-template name="code-inline-end"/> - </xsl:template> - - <xsl:template name="code-inline-start"> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>\FC</xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="code-inline-end"> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>\F[]</xsl:text> - </xsl:if> - </xsl:template> - - <!-- ================================================================== --> - - <xsl:template name="verbatim-block-start"> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>.fam C </xsl:text> - <xsl:text>.ps -1 </xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="verbatim-block-end"> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>.fam </xsl:text> - <xsl:text>.ps +1 </xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="synopsis-block-start"> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>.fam C </xsl:text> - </xsl:if> - </xsl:template> - - <xsl:template name="synopsis-block-end"> - <xsl:if test="not($man.output.better.ps.enabled = 0)"> - <xsl:text>.fam </xsl:text> - </xsl:if> - </xsl:template> - - <!-- ================================================================== --> - - <!-- * NOTE TO DEVELOPERS: For ease of maintenance, the current --> - <!-- * manpages stylesheets use the mode="prevent.line.breaking" --> - <!-- * templates for anything and everything that needs to have --> - <!-- * embedded spaces turned into no-break spaces in output - in --> - <!-- * order to prevent that output from getting broken across lines --> - <!-- * --> - <!-- * So if you add anything that whose output, try to apply this --> - <!-- * template to it rather than writing separate code to format --> - <!-- * it. This can be a little odd if the content you want to --> - <!-- * format is not element content; in those cases, you need to --> - <!-- * turn it into element content before applying the template; --> - <!-- * see examples of this in the existing code. --> - <!-- * --> - <!-- * This template is currently called by the funcdef and paramdef --> - <!-- * and group/arg templates. --> - <xsl:template mode="prevent.line.breaking" match="*"> - <xsl:variable name="rcontent"> - <xsl:apply-templates/> - </xsl:variable> - <xsl:variable name="content"> - <xsl:value-of select="normalize-space($rcontent)"/> - </xsl:variable> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="$content"/> - <xsl:with-param name="target" select="' '"/> - <!-- * U+2580 is a "UPPER HALF BLOCK"; we use it here because --> - <!-- * if we were to just use a normal space, it would get --> - <!-- * replaced when normalization is done. We replace it --> - <!-- * later with the groff markup for non-breaking space. --> - <xsl:with-param name="replacement" select="'▀'"/> - </xsl:call-template> - </xsl:template> - - <!-- ================================================================== --> - - <xsl:template name="suppress.hyphenation"> - <!-- * we need to suppress hyphenation inline only if hyphenation is --> - <!-- * actually on, and even then only outside of Cmdsynopsis and --> - <!-- * Funcsynopsis, where it is already always turned off --> - <xsl:if test="$man.hyphenate != 0 and - not(ancestor::cmdsynopsis) and - not(ancestor::funcsynopsis)"> - <xsl:text>\%</xsl:text> - </xsl:if> - </xsl:template> - - <!-- ================================================================== --> - - <!-- * The replace.dots.and.dashes template is used to cause real --> - <!-- * dots and dashes to be output in the top comment (instead of --> - <!-- * escaped ones as in the source for the text displayed in the --> - <!-- * body of the page) --> - <xsl:template name="replace.dots.and.dashes"> - <xsl:param name="content"> - <xsl:apply-templates/> - </xsl:param> - <xsl:variable name="dot-content"> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="$content"/> - <xsl:with-param name="target" select="'\&.'"/> - <xsl:with-param name="replacement" select="'.'"/> - </xsl:call-template> - </xsl:variable> - <xsl:call-template name="string.subst"> - <xsl:with-param name="string" select="$dot-content"/> - <xsl:with-param name="target" select="'\-'"/> - <xsl:with-param name="replacement" select="'-'"/> - </xsl:call-template> - </xsl:template> - - <!-- ================================================================== --> - - <!-- * The nested-section-title template is called for refsect3, and any --> - <!-- * refsection nested more than 2 levels deep. --> - <xsl:template name="nested-section-title"> - <xsl:text>.sp </xsl:text> - <xsl:call-template name="pinch.together"/> - <xsl:text>.ps +1 </xsl:text> - <xsl:call-template name="make.bold.title"/> - </xsl:template> - - <xsl:template name="pinch.together"> - <!-- * arcane roff code to suppress line spacing after headings --> - <xsl:text>.it 1 an-trap </xsl:text> - <xsl:text>.nr an-no-space-flag 1 </xsl:text> - <xsl:text>.nr an-break-flag 1 </xsl:text> - <xsl:text>.br </xsl:text> - </xsl:template> - - <xsl:template name="make.bold.title"> - <!-- * make title wrapper so that we can use "bold" template to apply --> - <!-- * character formatting to it --> - <xsl:variable name="title.wrapper"> - <xsl:choose> - <xsl:when test="title"> - <xsl:value-of select="normalize-space(title[1])"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates select="." mode="object.title.markup.textonly"/> - </xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:call-template name="mark.subheading"/> - <xsl:call-template name="bold"> - <xsl:with-param name="node" select="exsl:node-set($title.wrapper)"/> - <xsl:with-param name="context" select="."/> - </xsl:call-template> - <xsl:text> </xsl:text> - <xsl:call-template name="mark.subheading"/> - </xsl:template> - - <!-- ================================================================== --> - - <!-- * The mixed-block template jumps through a few hoops to deal with --> - <!-- * mixed-content blocks, so that we don't end up munging verbatim --> - <!-- * environments or lists and so that we don't gobble up whitespace --> - <!-- * when we shouldn't --> - <xsl:template name="mixed-block"> - <xsl:for-each select="node()"> - <xsl:choose> - <!-- * Check to see if this node is a verbatim environment. --> - <!-- * If so, put a line of space before it. --> - <!-- * --> - <!-- * Yes, address and synopsis are vertabim environments. --> - <!-- * --> - <!-- * The code here previously also treated informaltable as a --> - <!-- * verbatim, presumably to support some kludge; I removed it --> - <xsl:when test="self::address|self::literallayout|self::programlisting| - self::screen|self::synopsis"> - <xsl:text> </xsl:text> - <xsl:text>.sp </xsl:text> - <xsl:call-template name="mark.up.block.start"/> - <xsl:apply-templates select="."/> - </xsl:when> - <!-- * Check to see if this node is a list; if it is, we don't --> - <!-- * want to normalize-space(), so we just apply-templates. --> - <!-- * Do same for all admonitions --> - <xsl:when test="(self::itemizedlist|self::orderedlist| - self::variablelist|self::glosslist| - self::simplelist[@type !='inline']| - self::segmentedlist| - self::caution|self::important| - self::note|self::tip|self::warning| - self::table|self::informaltable)"> - <xsl:call-template name="mark.up.block.start"/> - <xsl:apply-templates select="."/> - </xsl:when> - <xsl:when test="self::text()"> - <!-- * Check to see if this is a text node. --> - <!-- * --> - <!-- * If so, replace all whitespace at the beginning or end of it --> - <!-- * with a single linebreak. --> - <!-- * --> - <xsl:variable name="content"> - <xsl:apply-templates select="."/> - </xsl:variable> - <xsl:if - test="starts-with(translate(.,'	 ',' '), ' ') - and preceding-sibling::node()[1][name(.)!=''] - and normalize-space($content) != '' - and not( - preceding-sibling::*[1][ - self::caution or - self::important or - self::note or - self::tip or - self::warning or - self::variablelist or - self::glosslist or - self::itemizedlist or - self::orderedlist or - self::segmentedlist or - self::procedure or - self::address or - self::literallayout or - self::programlisting or - self::synopsis or - self::screen or - self::table or - self::informaltable - ] - ) - "> - <xsl:text> </xsl:text> - </xsl:if> - <xsl:value-of select="normalize-space($content)"/> - <xsl:if - test="(translate(substring(., string-length(.), 1),'	 ',' ') = ' ' - and following-sibling::node()[1][name(.)!='']) - or following-sibling::node()[1][self::comment()] - or following-sibling::node()[1][self::processing-instruction()] - "> - <xsl:if test="normalize-space($content) != '' - or concat(normalize-space($content), ' ') != ' '"> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <!-- * At this point, we know that this node is not a verbatim --> - <!-- * environment, list, admonition, or text node; so we can --> - <!-- * safely normalize-space() it. --> - <xsl:variable name="content"> - <xsl:apply-templates select="."/> - </xsl:variable> - <xsl:value-of select="normalize-space($content)"/> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - <xsl:call-template name="mark.up.block.end"/> - </xsl:template> - - <!-- ================================================================== --> - - <!-- * Footnote and annotation contents are displayed using a hanging --> - <!-- * indent out to $man.indent.width If a paragraph-level block --> - <!-- * element (verbatim, list, or admonition) is the first block --> - <!-- * element nested at its same level within the same footnote or --> - <!-- * annotation, then we push it over by the same indent width. --> - <!-- * --> - <!-- * We don't reset the indent for each following sibling, but --> - <!-- * instead do it after for-eaching over all block siblings at --> - <!-- * the same level. So the effect is that if there are any --> - <!-- * following-sibling blocks after the block that starts this --> - <!-- * indent, then they just retain the indent that was already set --> - - <xsl:template name="mark.up.block.start"> - <xsl:choose> - <xsl:when test="(ancestor::footnote - or ancestor::annotation)"> - <xsl:if test="not(preceding-sibling::address| - preceding-sibling::literallayout| - preceding-sibling::programlisting| - preceding-sibling::screen| - preceding-sibling::synopsis| - preceding-sibling::itemizedlist| - preceding-sibling::orderedlist| - preceding-sibling::variablelist| - preceding-sibling::glosslist| - preceding-sibling::simplelist[@type !='inline']| - preceding-sibling::segmentedlist| - preceding-sibling::caution| - preceding-sibling::important| - preceding-sibling::note| - preceding-sibling::tip| - preceding-sibling::warning| - preceding-sibling::table| - preceding-sibling::informaltable - )"> - <xsl:text>.RS</xsl:text> - <xsl:if test="not($list-indent = '')"> - <xsl:text> </xsl:text> - <xsl:value-of select="$list-indent"/> - </xsl:if> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:when> - </xsl:choose> - </xsl:template> - - <!-- * Check to see if we were called from a block within a footnote or --> - <!-- * annotation; if so, and the block contains any nested block --> - <!-- * content, then we know the mark.up.block.end template was already --> - <!-- * called to generate a .RS macro to indent that nested block --> - <!-- * content; so we need to generate a .RE to set the margin back to --> - <!-- * where it was prior to the .RS call. --> - <xsl:template name="mark.up.block.end"> - <xsl:if test="(ancestor::footnote - or ancestor::annotation)"> - <xsl:if test="address| - literallayout| - programlisting| - screen| - synopsis| - itemizedlist| - orderedlist| - variablelist| - glosslist| - simplelist[@type !='inline']| - segmentedlist| - caution| - important| - note| - tip| - warning| - table| - informaltable"> - <xsl:text> </xsl:text> - <xsl:text>.RE</xsl:text> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:if> - </xsl:template> - - <!-- ================================================================== --> - - <!-- * The person.name template in the HTML stylesheets outputs extra --> - <!-- * spaces that we need to strip out for manpages output. This --> - <!-- * template calls person.name, then tries to do some smart --> - <!-- * normalization of the result tree fragment from that. --> - <xsl:template name="person.name.normalized"> - <xsl:variable name="contents"> - <xsl:call-template name="person.name"/> - </xsl:variable> - <!-- * We put the output of person.name into a node-set and then we --> - <!-- * check it node-by-node and strip out space only where needed. --> - <xsl:variable name="contents.tree" select="exsl:node-set($contents)"/> - <xsl:for-each select="$contents.tree/node()"> - <xsl:choose> - <!-- * We don't want to monkey with single spaces or commas/periods --> - <!-- * followed by spaces, because those are bits of text that are --> - <!-- * actually generated by the person.name template itself (that --> - <!-- * is, they're not in the source). So, we preserve them. --> - <xsl:when test=". = ' ' or . = ', ' or . = '. '"> - <xsl:value-of select="."/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="normalize-space(.)"/> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> - </xsl:template> - - <!-- ================================================================== --> - - <xsl:template name="make.adjusted.man.filename"> - <xsl:param name="name"/> - <xsl:param name="lang"/> - <xsl:param name="name.with.lang"> - <xsl:choose> - <xsl:when test="$lang != 'en' - and not($man.output.lang.in.name.enabled = 0) - and ($man.output.subdirs.enabled = 0 or - $man.output.in.separate.dir = 0)"> - <!-- * $lang is not en (English) --> - <!-- * AND user has specified man.output.lang.in.name.enabled --> - <!-- * AND doesn't want output going into separate dirs, --> - <!-- * SO... we include the $lang value in the filename; e.g., --> - <!-- * foo.ja.1 --> - <xsl:value-of select="concat($name, '.', $lang)"/> - </xsl:when> - <xsl:otherwise> - <!-- * user either has man.output.lang.in.name.enabled unset --> - <!-- * or has set it but also has man.output.subdirs.enabled --> - <!-- * set (in which case the $lang value is used to add a --> - <!-- * $lang subdir in the pathname); in either case, we don't --> - <!-- * want to include the $lang in the filename --> - <xsl:value-of select="$name"/> - </xsl:otherwise> - </xsl:choose> - </xsl:param> - <xsl:param name="section"/> - <xsl:param name="dirname"> - <xsl:if test="not($man.output.in.separate.dir = 0)"> - <xsl:choose> - <xsl:when test="not($man.output.subdirs.enabled = 0)"> - <xsl:variable name="lang.subdir"> - <xsl:if test="not($man.output.lang.in.name.enabled = 0)"> - <!-- * user has man.output.lang.in.name.enabled set, so --> - <!-- * we need to add a $lang subdir --> - <xsl:value-of select="concat($lang, '/')"/> - </xsl:if> - </xsl:variable> - <xsl:value-of - select="concat($man.output.base.dir, $lang.subdir, - 'man', normalize-space($section), '/')"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$man.output.base.dir"/> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - </xsl:param> - <xsl:call-template name="string.subst"> - <!-- * To create the man filename, replace any spaces in filename with --> - <!-- * underscores and then append a dot plus a section number. --> - <xsl:with-param name="string" - select="concat($dirname, - normalize-space($name.with.lang), - '.', normalize-space($section))"/> - <xsl:with-param name="target" select="' '"/> - <xsl:with-param name="replacement" select="'_'"/> - </xsl:call-template> - </xsl:template> - - <!-- ================================================================== --> - - <xsl:template name="make.subheading"> - <xsl:param name="title"/> - <xsl:call-template name="mark.subheading"/> - <xsl:text>.SH</xsl:text> - <xsl:text> </xsl:text> - <xsl:text>"</xsl:text> - <xsl:choose> - <xsl:when test="not($man.output.better.ps.enabled = 0)"> - <xsl:value-of select="$title"/> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="string.upper"> - <xsl:with-param name="string" select="$title"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - <xsl:text>"</xsl:text> - <xsl:text> </xsl:text> - <xsl:call-template name="mark.subheading"/> - </xsl:template> - - <!-- * Put a horizontal rule or other divider around section titles --> - <!-- * in roff source (just to make things easier to read). --> - <xsl:template name="mark.subheading"> - <xsl:if test="$man.subheading.divider.enabled != 0"> - <xsl:text>.\" </xsl:text> - <xsl:value-of select="$man.subheading.divider"/> - <xsl:text> </xsl:text> - </xsl:if> - </xsl:template> - - <!-- ================================================================== --> - - <xsl:template name="roff-if-else-start"> - <xsl:param name="condition">n</xsl:param> - <xsl:text>.ie </xsl:text> - <xsl:value-of select="$condition"/> - <xsl:text> \{\ </xsl:text> - </xsl:template> - - <xsl:template name="roff-if-start"> - <xsl:param name="condition">n</xsl:param> - <xsl:text>.if </xsl:text> - <xsl:value-of select="$condition"/> - <xsl:text> \{\ </xsl:text> - </xsl:template> - - <xsl:template name="roff-else"> - <xsl:text>.\} </xsl:text> - <xsl:text>.el \{\ </xsl:text> - </xsl:template> - - <xsl:template name="roff-if-end"> - <xsl:text>.\} </xsl:text> - </xsl:template> - -</xsl:stylesheet> |