diff options
Diffstat (limited to '3rdParty/DocBook/XSL/template/titlepage.xml')
-rw-r--r-- | 3rdParty/DocBook/XSL/template/titlepage.xml | 478 |
1 files changed, 478 insertions, 0 deletions
diff --git a/3rdParty/DocBook/XSL/template/titlepage.xml b/3rdParty/DocBook/XSL/template/titlepage.xml new file mode 100644 index 0000000..f1e1e3c --- /dev/null +++ b/3rdParty/DocBook/XSL/template/titlepage.xml @@ -0,0 +1,478 @@ +<?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><xsl:template match="t:templates"/></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><xsl:template match="xsl:*"/></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><xsl:template match="t:titlepage"/></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><xsl:template match="@*" mode="copy.literal.atts"/></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><xsl:template match="t:titlepage-content"/></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> + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <author predicate="[count(previous-sibling::author)<2]"/> + <!-- other titlepage elements --> + </t:titlepage-contents> +</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> + <t:titlepage-contents side="recto"> + <!-- other titlepage elements --> + <authorgroup> + <t:or> + <author/> + <editor/> + <corpauthor/> + </t:or> + </authorgroup> + <!-- other titlepage elements --> + </t:titlepage-contents> +</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><xsl:template match="t:titlepage-separator"/></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><xsl:template match="t:titlepage-before"/></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><xsl:template match="*" mode="copy"/></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><xsl:template match="@*" mode="copy"/></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><xsl:template match="*" mode="document.order"/></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><xsl:template match="*" mode="document.order"/></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><xsl:template match="*" mode="titlepage.specialrules"/></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><xsl:template match="*" mode="titlepage.subrules"/></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><xsl:template match="t:or"/><xsl:template match="t:or" mode="titlepage.subrules"/></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><xsl:template match="t:or" mode="titlepage.subrules"/></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><xsl:template name="element-or-list"> +<xsl:param name="elements" select="*"/> +<xsl:param name="element.count" select="count($elements)"/> +<xsl:param name="count" select="1"/> +<xsl:param name="orlist"/> + ... +</xsl:template></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> + |