]> git.stg.codes - stg.git/blobdiff - doc/help/xslt/template/titlepage.xml
xslt filters moved upper, Makefiles fixed to use bundled xslt filters
[stg.git] / doc / help / xslt / template / titlepage.xml
diff --git a/doc/help/xslt/template/titlepage.xml b/doc/help/xslt/template/titlepage.xml
deleted file mode 100644 (file)
index f1e1e3c..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-<?xml version="1.0"?>
-
-<reference xml:id="template"><?dbhtml dir="template"?><?dbhtml filename="index.html"?>
-  
-  
-  <info>
-    <title>Titlepage Template Stylesheet Reference</title>
-    <releaseinfo role="meta">
-      $Id: titlepage.xsl 7058 2007-07-17 13:59:29Z xmldoc $
-    </releaseinfo>
-  </info>
-  <partintro xml:id="intro_partintro">
-    <title>Introduction</title>
-    
-<para>This is technical reference documentation for the
-      “titlepage” 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="templates">
-<refnamediv>
-<refname>t:templates</refname>
-<refpurpose>Construct a stylesheet for the templates provided</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="t:templates"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>The <literal>t:templates</literal> element is the root of a
-set of templates. This template creates an appropriate
-<literal>xsl:stylesheet</literal> for the templates.</para>
-
-
-
-<para>If the <literal>t:templates</literal> element has a
-<literal>base-stylesheet</literal> attribute, an
-<literal>xsl:import</literal> statement is constructed for it.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="star">
-<refnamediv>
-<refname>xsl:*</refname>
-<refpurpose>Copy xsl: elements straight through</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="xsl:*"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template simply copies the xsl: elements
-straight through into the result tree.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="titlepage">
-<refnamediv>
-<refname>t:titlepage</refname>
-<refpurpose>Create the templates necessary to construct a title page</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="t:titlepage"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>The <literal>t:titlepage</literal> element creates a set of
-templates for processing the titlepage for an element. The
-<quote>root</quote> of this template set is the template named
-<quote><literal>wrapper.titlepage</literal></quote>. That is the
-template that should be called to generate the title page.
-</para>
-
-
-
-<para>The <literal>t:titlepage</literal> element has three attributes:
-
-
-<variablelist>
-<varlistentry><term>element</term>
-<listitem>
-<para>The name of the source document element for which
-these templates apply. In other words, to make a title page for the
-<tag>article</tag> element, set the
-<tag class="attribute">element</tag> attribute to
-<quote><literal>article</literal></quote>. This attribute is required.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry><term>wrapper</term>
-<listitem>
-<para>The entire title page can be wrapped with an element.
-This attribute identifies that element.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry><term>class</term>
-<listitem>
-<para>If the <tag class="attribute">class</tag> attribute
-is set, a <tag class="attribute">class</tag> attribute with this
-value will be added to the wrapper element that surrounds the entire
-title page.
-</para>
-</listitem>
-</varlistentry>
-</variablelist>
-
-</para>
-
-
-
-<para>Any other attributes are copied through literally to the
-wrapper element.</para>
-
-
-
-<para>The content of a <literal>t:titlepage</literal> is one or
-more <literal>t:titlepage-content</literal>,
-<literal>t:titlepage-separator</literal>, and
-<literal>t:titlepage-before</literal> elements.</para>
-
-
-
-<para>Each of these elements may be provided for the <quote>recto</quote>
-and <quote>verso</quote> sides of the title page.</para>
-
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="attr_star_in_copy.literal.atts">
-<refnamediv>
-<refname>@* (in copy.literal.atts mode)</refname>
-<refpurpose>Copy t:titlepage attributes</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="@*" mode="copy.literal.atts"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template copies all of the <quote>other</quote> attributes
-from a <literal>t:titlepage</literal> element onto the specified
-wrapper.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="titlepage-content">
-<refnamediv>
-<refname>t:titlepage-content</refname>
-<refpurpose>Create templates for the content of one side of a title page</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="t:titlepage-content"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>The title page content, that is, the elements from the source
-document that are rendered on the title page, can be controlled independently
-for the recto and verso sides of the title page.</para>
-
-
-
-<para>The <literal>t:titlepage-content</literal> element has two attributes:
-
-
-<variablelist>
-<varlistentry><term>side</term>
-<listitem>
-<para>Identifies the side of the page to which this title
-page content applies. The
-<tag class="attribute">side</tag> attribute is required and
-must be set to either 
-<quote><literal>recto</literal></quote> or
-<quote><literal>verso</literal></quote>. In addition, you must specify
-exactly one <literal>t:titlepage-content</literal> for each side
-within each <literal>t:titlepage</literal>.</para>
-
-</listitem>
-</varlistentry>
-<varlistentry><term>order</term>
-<listitem>
-<para>Indicates how the order of the elements presented on
-the title page is determined. If the
-<tag class="attribute">order</tag> is
-<quote><literal>document</literal></quote>, the elements are presented
-in document order. Otherwise (if the
-<tag class="attribute">order</tag> is
-<quote><literal>stylesheet</literal></quote>), the elements are presented
-in the order that they appear in the template (and consequently in
-the stylesheet).</para>
-
-</listitem>
-</varlistentry>
-</variablelist>
-
-</para>
-
-
-
-<para>The content of a <literal>t:titlepage-content</literal> element is
-a list of element names. These names should be unqualified.  They identify
-the elements in the source document that should appear on the title page.
-</para>
-
-
-
-<para>Each element may have a single attribute:
-<tag class="attribute">predicate</tag>. The value of this
-attribute is used as a predicate for the expression that matches
-the element on which it occurs.</para>
-
-
-
-<para>In other words, to put only the first three authors on the
-recto-side of a title
-page, you could specify:
-
-<screen>
-  &lt;t:titlepage-contents side="recto"&gt;
-    &lt;!-- other titlepage elements --&gt;
-    &lt;author predicate="[count(previous-sibling::author)&lt;2]"/&gt;
-    &lt;!-- other titlepage elements --&gt;
-  &lt;/t:titlepage-contents&gt;
-</screen>
-</para>
-
-
-
-<para>Usually, the elements so named are empty. But it is possible to
-make one level of selection within them. Suppose that you want to
-process <literal>authorgroup</literal> elements on the title page, but
-you want to select only proper authors, editors, or corporate authors,
-not collaborators or other credited authors.</para>
-
-
-
-<para>In that case, you can put a <literal>t:or</literal> group inside
-the <literal>authorgroup</literal> element:
-
-<screen>
-  &lt;t:titlepage-contents side="recto"&gt;
-    &lt;!-- other titlepage elements --&gt;
-    &lt;authorgroup&gt;
-      &lt;t:or&gt;
-        &lt;author/&gt;
-        &lt;editor/&gt;
-        &lt;corpauthor/&gt;
-      &lt;/t:or&gt;
-    &lt;/authorgroup&gt;
-    &lt;!-- other titlepage elements --&gt;
-  &lt;/t:titlepage-contents&gt;
-</screen>
-</para>
-
-
-
-<para>This will have the effect of automatically generating a template
-for processing <literal>authorgroup</literal>s in the title page mode,
-selecting only the specified children. If you need more complex processing,
-you'll have to construct the templates by hand.</para>
-
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="titlepage-separator">
-<refnamediv>
-<refname>t:titlepage-separator</refname>
-<refpurpose>Create templates for the separator</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="t:titlepage-separator"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>The title page is separated from the content which follows it by
-the markup specified in the <literal>t:titlepage-separator</literal>
-element.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="titlepage-before">
-<refnamediv>
-<refname>t:titlepage-before</refname>
-<refpurpose>Create templates for what precedes a title page</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="t:titlepage-before"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>Each side of the title page is preceded by the markup specified
-in the <literal>t:titlepage-before</literal> element for that
-side.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="star_in_copy">
-<refnamediv>
-<refname>* (in copy mode)</refname>
-<refpurpose>Copy elements</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="*" mode="copy"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template simply copies the elements that it applies to
-straight through into the result tree.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="attr_star_in_copy">
-<refnamediv>
-<refname>@* (in copy mode)</refname>
-<refpurpose>Copy attributes</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="@*" mode="copy"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template simply copies the attributes that it applies to
-straight through into the result tree.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="attr_star_in_document.order">
-<refnamediv>
-<refname>* (in document.order mode)</refname>
-<refpurpose>Create rules to process titlepage elements in document order</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="*" mode="document.order"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template is called to process all of the children of the
-<literal>t:titlepage-content</literal> element. It creates the hairy
-select expression necessary to process each of those elements in
-the title page.</para>
-
-
-
-<para>Note that this template automatically handles the case where
-some DocBook elements, like title and subtitle, can occur both inside
-the *info elements where metadata is usually stored and outside.
-</para>
-
-
-
-<para>It also automatically calculates the name for the *info container
-and handles elements that have historically had containers with different
-names.</para>
-
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="star_in_document.order">
-<refnamediv>
-<refname>* (in document.order mode)</refname>
-<refpurpose>Create rules to process titlepage elements in stylesheet order</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="*" mode="document.order"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template is called to process all of the children of the
-<literal>t:titlepage-content</literal> element. It creates the set
-of <literal>xsl:apply-templates</literal> elements necessary
-process each of those elements in the title page.</para>
-
-
-
-<para>Note that this template automatically handles the case where
-some DocBook elements, like title and subtitle, can occur both inside
-the *info elements where metadata is usually stored and outside.
-</para>
-
-
-
-<para>It also automatically calculates the name for the *info container
-and handles elements that have historically had containers with different
-names.</para>
-
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="star_in_titlepage.specialrules">
-<refnamediv>
-<refname>* (in titlepage.specialrules mode)</refname>
-<refpurpose>Create templates for special rules</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="*" mode="titlepage.specialrules"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template is called to process all of the descendants of the
-<literal>t:titlepage-content</literal> element that require special
-processing. At present, that's just <literal>t:or</literal> elements.
-</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="star_in_titlepage.subrules">
-<refnamediv>
-<refname>* (in titlepage.subrules mode)</refname>
-<refpurpose>Create template for individual special rules</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="*" mode="titlepage.subrules"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template is called to process the children of special
-template elements.
-</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="or">
-<refnamediv>
-<refname>t:or</refname>
-<refpurpose>Process the t:or special rule</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="t:or"/&gt;&lt;xsl:template match="t:or" mode="titlepage.subrules"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>This template processes t:or.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="or_in_titlepage.subrules">
-<refnamediv>
-<refname>t:or (in titlepage.subrules mode)</refname>
-<refpurpose>Process the t:or special rule in
-titlepage.subrules mode</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template match="t:or" mode="titlepage.subrules"/&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>The titlepage.subrules mode doesn't apply to t:or, so just
-reprocess this node in the normal mode.</para>
-
-</refsect1></refentry>
-
-<refentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="template.element-or-list">
-<refnamediv>
-<refname>element-or-list</refname>
-<refpurpose>Construct the "or-list" used in the select attribute for
-special rules.</refpurpose>
-</refnamediv>
-<refsynopsisdiv>
-<synopsis>&lt;xsl:template name="element-or-list"&gt;
-&lt;xsl:param name="elements" select="*"/&gt;
-&lt;xsl:param name="element.count" select="count($elements)"/&gt;
-&lt;xsl:param name="count" select="1"/&gt;
-&lt;xsl:param name="orlist"/&gt;
-  ...
-&lt;/xsl:template&gt;</synopsis>
-</refsynopsisdiv>
-<refsect1><title>Description</title>
-
-<para>Walk through each of the children of t:or, producing the
-text of the select attribute.</para>
-
-</refsect1></refentry>
-</reference>
-