| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478 | 
							- <?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 9600 2012-09-11 12:12:09Z kosek $
 
-     </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>
 
 
  |