2 <!DOCTYPE xsl:stylesheet [
<!ENTITY % xsldoc.ent SYSTEM
"./xsldoc.ent"> %xsldoc.ent; ]
>
3 <!--#############################################################################
4 | $Id: part-chap-app.mod.xsl,v 1.7 2004/01/18 11:56:29 j-devenish Exp $
5 |- #############################################################################
6 | $Author: j-devenish $
7 + ############################################################################## -->
10 xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform"
11 xmlns:
doc=
"http://nwalsh.com/xsl/documentation/1.0"
12 exclude-result-prefixes=
"doc" version='
1.0'
>
14 <doc:reference id=
"part-chap-app" xmlns=
"">
16 <releaseinfo role=
"meta">
17 $Id: part-chap-app.mod.xsl,v
1.7 2004/
01/
18 11:
56:
29 j-devenish Exp $
24 <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year>
25 <holder>Ramon Casellas
</holder>
28 <doc:revision rcasver=
"1.4">&rev_2003_05;</doc:revision>
31 <title>Parts, Chapters and Appendixes
<filename>part-chap-app.mod.xsl
</filename></title>
41 <doc:template xmlns=
"">
42 <refpurpose>Process
<doc:db>set
</doc:db>,
<doc:db>part
</doc:db> and
<doc:db>chapter
</doc:db> elements
</refpurpose>
45 Invokes the mapping templates and applies content templates.
53 <listitem><simpara>&mapping;</simpara></listitem>
54 <listitem><simpara><xref linkend=
"template.content-templates"/></simpara></listitem>
58 <xsl:template match=
"set|part|chapter">
59 <xsl:call-template name=
"map.begin"/>
60 <xsl:call-template name=
"content-templates-rootid"/>
61 <xsl:call-template name=
"map.end"/>
65 <doc:template match="chapter" xmlns="">
66 <refpurpose> XSL template for Chapters.</refpurpose>
68 <para> This is the main entry point for a <sgmltag class="start">chapter</sgmltag> subtree.
69 This template processes any chapter. Outputs <literal>\chapter{title}</literal>, calls
70 templates and apply-templates. Since chapters only apply in books,
71 some assumptions could be done in order to optimize the stylesheet behaviour.</para>
73 <formalpara><title>Remarks and Bugs</title>
76 EMPTY templates: chapter/title,
79 chapter/docinfo|chapterinfo.</para></listitem>
83 <formalpara><title>Affected by</title> map.
89 <doc:template xmlns=
"">
90 <refpurpose>Process
<doc:db>appendix
</doc:db> elements
</refpurpose>
101 For each appendix, mappings are used and content templates are
105 For
<doc:db>appendix
</doc:db> elements that occur as children of
106 <doc:db>book
</doc:db> or
<doc:db>part
</doc:db>, the
&LaTeX;
107 <function condition=
"latex">chapter
</function> command will be
108 used. Otherwise, the
<function condition=
"latex">section
</function>
112 If an
<doc:db>appendix
</doc:db> is the first, or the last, then
113 the
&LaTeX; mappings for appendix-groups will be invoked in
114 addition to the mapping for the appendix itself. For
115 chapter-level appendices, the
<quote>appendices-chapter
</quote>
116 is used. Otherwise, the
<quote>appendices-section
</quote>
122 <listitem><simpara>&mapping;</simpara></listitem>
123 <listitem><simpara><xref linkend=
"template.content-templates"/></simpara></listitem>
127 <xsl:template match=
"appendix">
128 <xsl:if test=
"not (preceding-sibling::appendix)">
129 <xsl:text> </xsl:text>
131 <xsl:when test=
"local-name(..)='book' or local-name(..)='part'">
132 <xsl:text>\newcommand{\dbappendix}[
1]{\chapter{#
1}}%
</xsl:text>
133 <xsl:call-template name=
"map.begin">
134 <xsl:with-param name=
"keyword">appendices-chapter
</xsl:with-param>
138 <xsl:text>\newcommand{\dbappendix}[
1]{\section{#
1}}%
</xsl:text>
139 <xsl:call-template name=
"map.begin">
140 <xsl:with-param name=
"keyword">appendices-section
</xsl:with-param>
145 <xsl:call-template name=
"map.begin"/>
146 <xsl:call-template name=
"content-templates"/>
147 <xsl:call-template name=
"map.end"/>
148 <xsl:if test=
"not (following-sibling::appendix)">
149 <xsl:text> </xsl:text>
151 <xsl:when test=
"local-name(..)='book' or local-name(..)='part'">
152 <xsl:call-template name=
"map.end">
153 <xsl:with-param name=
"keyword">appendices-chapter
</xsl:with-param>
157 <xsl:call-template name=
"map.end">
158 <xsl:with-param name=
"keyword">appendices-section
</xsl:with-param>
162 <xsl:text> </xsl:text>