diff options
Diffstat (limited to 'stylesheets/lfs-xsl/docbook-xsl-1.78.1/common/common.xml')
-rw-r--r-- | stylesheets/lfs-xsl/docbook-xsl-1.78.1/common/common.xml | 641 |
1 files changed, 641 insertions, 0 deletions
diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/common/common.xml b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/common/common.xml new file mode 100644 index 000000000..7832c96ea --- /dev/null +++ b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/common/common.xml @@ -0,0 +1,641 @@ +<?xml version="1.0"?> + +<reference xml:id="base"> + <info> + <title>Common » Base Template Reference</title> + <releaseinfo role="meta"> + $Id: common.xsl 9347 2012-05-11 03:49:49Z bobstayton $ + </releaseinfo> + </info> + + <partintro xml:id="partintro"> + <title>Introduction</title> + +<para>This is technical reference documentation for the “base” + set of common templates in the DocBook XSL Stylesheets.</para> + + +<para>This is not intended to be user documentation. It is + provided for developers writing customization layers for the + stylesheets.</para> + + </partintro> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.is.component"> +<refnamediv> +<refname>is.component</refname> +<refpurpose>Tests if a given node is a component-level element</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="is.component"> +<xsl:param name="node" select="."/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>node</term> +<listitem> + +<para>The node which is to be tested.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1><refsect1><title>Returns</title> + +<para>This template returns '1' if the specified node is a component +(Chapter, Appendix, etc.), and '0' otherwise.</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.is.section"> +<refnamediv> +<refname>is.section</refname> +<refpurpose>Tests if a given node is a section-level element</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="is.section"> +<xsl:param name="node" select="."/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>node</term> +<listitem> + +<para>The node which is to be tested.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1><refsect1><title>Returns</title> + +<para>This template returns '1' if the specified node is a section +(Section, Sect1, Sect2, etc.), and '0' otherwise.</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.section.level"> +<refnamediv> +<refname>section.level</refname> +<refpurpose>Returns the hierarchical level of a section</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="section.level"> +<xsl:param name="node" select="."/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template calculates the hierarchical level of a section. +The element <tag>sect1</tag> is at level 1, <tag>sect2</tag> is +at level 2, etc.</para> + + + +<para>Recursive sections are calculated down to the fifth level.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>node</term> +<listitem> + +<para>The section node for which the level should be calculated. +Defaults to the context node.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1><refsect1><title>Returns</title> + +<para>The section level, <quote>1</quote>, <quote>2</quote>, etc. +</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.qanda.section.level"> +<refnamediv> +<refname>qanda.section.level</refname> +<refpurpose>Returns the hierarchical level of a QandASet</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="qanda.section.level"/></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template calculates the hierarchical level of a QandASet. +</para> + +</refsect1><refsect1><title>Returns</title> + +<para>The level, <quote>1</quote>, <quote>2</quote>, etc. +</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.select.mediaobject"> +<refnamediv> +<refname>select.mediaobject</refname> +<refpurpose>Selects and processes an appropriate media object from a list</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="select.mediaobject"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template takes a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and processes +the "right" object.</para> + + + +<para>This template relies on a template named +"select.mediaobject.index" to determine which object +in the list is appropriate.</para> + + + +<para>If no acceptable object is located, nothing happens.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>olist</term> +<listitem> + +<para>The node list of potential objects to examine.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1><refsect1><title>Returns</title> + +<para>Calls <xsl:apply-templates> on the selected object.</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.select.mediaobject.index"> +<refnamediv> +<refname>select.mediaobject.index</refname> +<refpurpose>Selects the position of the appropriate media object from a list</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="select.mediaobject.index"> +<xsl:param name="olist" select="imageobject|imageobjectco |videoobject|audioobject|textobject"/> +<xsl:param name="count">1</xsl:param> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template takes a list of media objects (usually the +children of a mediaobject or inlinemediaobject) and determines +the "right" object. It returns the position of that object +to be used by the calling template.</para> + + + +<para>If the parameter <parameter>use.role.for.mediaobject</parameter> +is nonzero, then it first checks for an object with +a role attribute of the appropriate value. It takes the first +of those. Otherwise, it takes the first acceptable object +through a recursive pass through the list.</para> + + + +<para>This template relies on a template named "is.acceptable.mediaobject" +to determine if a given object is an acceptable graphic. The semantics +of media objects is that the first acceptable graphic should be used. +</para> + + + +<para>If no acceptable object is located, no index is returned.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>olist</term> +<listitem> + +<para>The node list of potential objects to examine.</para> + +</listitem> +</varlistentry> +<varlistentry><term>count</term> +<listitem> + +<para>The position in the list currently being considered by the +recursive process.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1><refsect1><title>Returns</title> + +<para>Returns the position in the original list of the selected object.</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.is.acceptable.mediaobject"> +<refnamediv> +<refname>is.acceptable.mediaobject</refname> +<refpurpose>Returns '1' if the specified media object is recognized</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="is.acceptable.mediaobject"> +<xsl:param name="object"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template examines a media object and returns '1' if the +object is recognized as a graphic.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>object</term> +<listitem> + +<para>The media object to consider.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1><refsect1><title>Returns</title> + +<para>0 or 1</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.check.id.unique"> +<refnamediv> +<refname>check.id.unique</refname> +<refpurpose>Warn users about references to non-unique IDs</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="check.id.unique"> +<xsl:param name="linkend"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>If passed an ID in <varname>linkend</varname>, +<function>check.id.unique</function> prints +a warning message to the user if either the ID does not exist or +the ID is not unique.</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.check.idref.targets"> +<refnamediv> +<refname>check.idref.targets</refname> +<refpurpose>Warn users about incorrectly typed references</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="check.idref.targets"> +<xsl:param name="linkend"/> +<xsl:param name="element-list"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>If passed an ID in <varname>linkend</varname>, +<function>check.idref.targets</function> makes sure that the element +pointed to by the link is one of the elements listed in +<varname>element-list</varname> and warns the user otherwise.</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.copyright.years"> +<refnamediv> +<refname>copyright.years</refname> +<refpurpose>Print a set of years with collapsed ranges</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="copyright.years"> +<xsl:param name="years"/> +<xsl:param name="print.ranges" select="1"/> +<xsl:param name="single.year.ranges" select="0"/> +<xsl:param name="firstyear" select="0"/> +<xsl:param name="nextyear" select="0"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template prints a list of year elements with consecutive +years printed as a range. In other words:</para> + + +<screen><year>1992</year> +<year>1993</year> +<year>1994</year></screen> + + +<para>is printed <quote>1992-1994</quote>, whereas:</para> + + +<screen><year>1992</year> +<year>1994</year></screen> + + +<para>is printed <quote>1992, 1994</quote>.</para> + + + +<para>This template assumes that all the year elements contain only +decimal year numbers, that the elements are sorted in increasing +numerical order, that there are no duplicates, and that all the years +are expressed in full <quote>century+year</quote> +(<quote>1999</quote> not <quote>99</quote>) notation.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>years</term> +<listitem> + +<para>The initial set of year elements.</para> + +</listitem> +</varlistentry> +<varlistentry><term>print.ranges</term> +<listitem> + +<para>If non-zero, multi-year ranges are collapsed. If zero, all years +are printed discretely.</para> + +</listitem> +</varlistentry> +<varlistentry><term>single.year.ranges</term> +<listitem> + +<para>If non-zero, two consecutive years will be printed as a range, +otherwise, they will be printed discretely. In other words, a single +year range is <quote>1991-1992</quote> but discretely it's +<quote>1991, 1992</quote>.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1><refsect1><title>Returns</title> + +<para>This template returns the formatted list of years.</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.find.path.params"> +<refnamediv> +<refname>find.path.params</refname> +<refpurpose>Search in a table for the "best" match for the node</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="find.path.params"> +<xsl:param name="node" select="."/> +<xsl:param name="table" select="''"/> +<xsl:param name="location"> + <xsl:call-template name="xpath.location"> + <xsl:with-param name="node" select="$node"/> + </xsl:call-template> + </xsl:param> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template searches in a table for the value that most-closely +(in the typical best-match sense of XSLT) matches the current (element) +node location.</para> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.string.upper"> +<refnamediv> +<refname>string.upper</refname> +<refpurpose>Converts a string to all uppercase letters</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="string.upper"> +<xsl:param name="string" select="''"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>Given a string, this template does a language-aware conversion +of that string to all uppercase letters, based on the values of the +<literal>lowercase.alpha</literal> and +<literal>uppercase.alpha</literal> gentext keys for the current +locale. It affects only those characters found in the values of +<literal>lowercase.alpha</literal> and +<literal>uppercase.alpha</literal>. All other characters are left +unchanged.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>string</term> +<listitem> + +<para>The string to convert to uppercase.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.string.lower"> +<refnamediv> +<refname>string.lower</refname> +<refpurpose>Converts a string to all lowercase letters</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="string.lower"> +<xsl:param name="string" select="''"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>Given a string, this template does a language-aware conversion +of that string to all lowercase letters, based on the values of the +<literal>uppercase.alpha</literal> and +<literal>lowercase.alpha</literal> gentext keys for the current +locale. It affects only those characters found in the values of +<literal>uppercase.alpha</literal> and +<literal>lowercase.alpha</literal>. All other characters are left +unchanged.</para> + +</refsect1><refsect1><title>Parameters</title> + +<variablelist> +<varlistentry><term>string</term> +<listitem> + +<para>The string to convert to lowercase.</para> + +</listitem> +</varlistentry> +</variablelist> + +</refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.select.choice.separator"> +<refnamediv> +<refname>select.choice.separator</refname> +<refpurpose>Returns localized choice separator</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="select.choice.separator"/></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template enables auto-generation of an appropriate + localized "choice" separator (for example, "and" or "or") before + the final item in an inline list (though it could also be useful + for generating choice separators for non-inline lists).</para> + + +<para>It currently works by evaluating a processing instruction + (PI) of the form <?dbchoice choice="foo"?> : + +<itemizedlist> + <listitem> + <simpara>if the value of the <tag>choice</tag> + pseudo-attribute is "and" or "or", returns a localized "and" + or "or"</simpara> + </listitem> + <listitem> + <simpara>otherwise returns the literal value of the + <tag>choice</tag> pseudo-attribute</simpara> + </listitem> + </itemizedlist> + + The latter is provided only as a temporary workaround because the + locale files do not currently have translations for the word + <wordasword>or</wordasword>. So if you want to generate a a + logical "or" separator in French (for example), you currently need + to do this: + <literallayout><?dbchoice choice="ou"?></literallayout> + </para> + + <warning> + +<para>The <tag>dbchoice</tag> processing instruction is + an unfortunate hack; support for it may disappear in the future + (particularly if and when a more appropriate means for marking + up "choice" lists becomes available in DocBook).</para> + + </warning> + </refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.evaluate.info.profile"> +<refnamediv> +<refname>evaluate.info.profile</refname> +<refpurpose>Evaluates an info profile</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="evaluate.info.profile"> +<xsl:param name="profile"/> +<xsl:param name="info"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This template evaluates an "info profile" matching the XPath + expression given by the <parameter>profile</parameter> + parameter. It relies on the XSLT <function>evaluate()</function> + extension function.</para> + + + +<para>The value of the <parameter>profile</parameter> parameter + can include the literal string <literal>$info</literal>. If found + in the value of the <parameter>profile</parameter> parameter, the + literal string <literal>$info</literal> string is replaced with + the value of the <parameter>info</parameter> parameter, which + should be a set of <replaceable>*info</replaceable> nodes; the + expression is then evaluated using the XSLT + <function>evaluate()</function> extension function.</para> + + </refsect1><refsect1><title>Parameters</title> + +<variablelist> + <varlistentry> + <term>profile</term> + <listitem> + +<para>A string representing an XPath expression </para> + + </listitem> + </varlistentry> + <varlistentry> + <term>info</term> + <listitem> + +<para>A set of *info nodes</para> + + </listitem> + </varlistentry> + </variablelist> + + </refsect1><refsect1><title>Returns</title> + +<para>Returns a node (the result of evaluating the + <parameter>profile</parameter> parameter)</para> + + </refsect1></refentry> + +<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.graphic.format.content-type"> +<refnamediv> +<refname>graphic.format.content-type</refname> +<refpurpose>Returns mimetype for media format</refpurpose> +</refnamediv> +<refsynopsisdiv> +<synopsis><xsl:template name="graphic.format.content-type"> +<xsl:param name="format"/> + ... +</xsl:template></synopsis> +</refsynopsisdiv> +<refsect1><title>Description</title> + +<para>This takes as input a 'format' param and returns + a mimetype string. It uses an xsl:choose after first + converting the input to all uppercase.</para> + + </refsect1></refentry> +</reference> + |