<?xml version='1.0'?> <!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]> <!--############################################################################# | $Id: part-chap-app.mod.xsl,v 1.7 2004/01/18 11:56:29 j-devenish Exp $ |- ############################################################################# | $Author: j-devenish $ + ############################################################################## --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" exclude-result-prefixes="doc" version='1.0'> <doc:reference id="part-chap-app" xmlns=""> <referenceinfo> <releaseinfo role="meta"> $Id: part-chap-app.mod.xsl,v 1.7 2004/01/18 11:56:29 j-devenish Exp $ </releaseinfo> <authorgroup> &ramon; &james; </authorgroup> <copyright> <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year> <holder>Ramon Casellas</holder> </copyright> <revhistory> <doc:revision rcasver="1.4">&rev_2003_05;</doc:revision> </revhistory> </referenceinfo> <title>Parts, Chapters and Appendixes <filename>part-chap-app.mod.xsl</filename></title> <partintro> <para> </para> </partintro> </doc:reference> <doc:template xmlns=""> <refpurpose>Process <doc:db>set</doc:db>, <doc:db>part</doc:db> and <doc:db>chapter</doc:db> elements</refpurpose> <doc:description> <para> Invokes the mapping templates and applies content templates. </para> </doc:description> <doc:variables> &no_var; </doc:variables> <doc:seealso> <itemizedlist> <listitem><simpara>&mapping;</simpara></listitem> <listitem><simpara><xref linkend="template.content-templates"/></simpara></listitem> </itemizedlist> </doc:seealso> </doc:template> <xsl:template match="set|part|chapter"> <xsl:call-template name="map.begin"/> <xsl:call-template name="content-templates-rootid"/> <xsl:call-template name="map.end"/> </xsl:template> <!-- <doc:template match="chapter" xmlns=""> <refpurpose> XSL template for Chapters.</refpurpose> <doc:description> <para> This is the main entry point for a <sgmltag class="start">chapter</sgmltag> subtree. This template processes any chapter. Outputs <literal>\chapter{title}</literal>, calls templates and apply-templates. Since chapters only apply in books, some assumptions could be done in order to optimize the stylesheet behaviour.</para> <formalpara><title>Remarks and Bugs</title> <itemizedlist> <listitem><para> EMPTY templates: chapter/title, chapter/titleabbrev, chapter/subtitle, chapter/docinfo|chapterinfo.</para></listitem> </itemizedlist> </formalpara> <formalpara><title>Affected by</title> map. </formalpara> </doc:description> </doc:template> --> <doc:template xmlns=""> <refpurpose>Process <doc:db>appendix</doc:db> elements</refpurpose> <doc:description> <para> Formats appendices. </para> </doc:description> <doc:variables> &no_var; </doc:variables> <doc:notes> <para> For each appendix, mappings are used and content templates are applies. </para> <para> For <doc:db>appendix</doc:db> elements that occur as children of <doc:db>book</doc:db> or <doc:db>part</doc:db>, the &LaTeX; <function condition="latex">chapter</function> command will be used. Otherwise, the <function condition="latex">section</function> will be used. </para> <para> If an <doc:db>appendix</doc:db> is the first, or the last, then the &LaTeX; mappings for appendix-groups will be invoked in addition to the mapping for the appendix itself. For chapter-level appendices, the <quote>appendices-chapter</quote> is used. Otherwise, the <quote>appendices-section</quote> mapping is used. </para> </doc:notes> <doc:seealso> <itemizedlist> <listitem><simpara>&mapping;</simpara></listitem> <listitem><simpara><xref linkend="template.content-templates"/></simpara></listitem> </itemizedlist> </doc:seealso> </doc:template> <xsl:template match="appendix"> <xsl:if test="not (preceding-sibling::appendix)"> <xsl:text> </xsl:text> <xsl:choose> <xsl:when test="local-name(..)='book' or local-name(..)='part'"> <xsl:text>\newcommand{\dbappendix}[1]{\chapter{#1}}% </xsl:text> <xsl:call-template name="map.begin"> <xsl:with-param name="keyword">appendices-chapter</xsl:with-param> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:text>\newcommand{\dbappendix}[1]{\section{#1}}% </xsl:text> <xsl:call-template name="map.begin"> <xsl:with-param name="keyword">appendices-section</xsl:with-param> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:call-template name="map.begin"/> <xsl:call-template name="content-templates"/> <xsl:call-template name="map.end"/> <xsl:if test="not (following-sibling::appendix)"> <xsl:text> </xsl:text> <xsl:choose> <xsl:when test="local-name(..)='book' or local-name(..)='part'"> <xsl:call-template name="map.end"> <xsl:with-param name="keyword">appendices-chapter</xsl:with-param> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:call-template name="map.end"> <xsl:with-param name="keyword">appendices-section</xsl:with-param> </xsl:call-template> </xsl:otherwise> </xsl:choose> <xsl:text> </xsl:text> </xsl:if> </xsl:template> </xsl:stylesheet>