6fd6d8c99702c49d60c1ccc2d4c12acb7d5f3bd0
[exim-website.git] / templates / doc / chapter.xsl
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
4    
5    <!-- WRAPPER -->
6       <xsl:import href="../wrapper.xsl"/>
7       <xsl:template match="/"> <xsl:apply-imports/> </xsl:template>
8       <xsl:template name="content"><xsl:apply-templates/></xsl:template>
9       
10    <!-- Where am I relative to the root. Lets mirrors host this in subfolders -->
11       <xsl:variable name="docroot" select="'../../../..'"/>
12
13    <!-- Title -->
14       <xsl:variable name="html.head.title" select="concat(/chapter/chapter_id,'. ',/chapter/title)"/>
15
16    <xsl:variable name="html.head.append">
17
18       <!-- CSS -->
19          <link rel="stylesheet" type="text/css" href="{$docroot}/doc/chapter.css"/>
20
21       <!-- Canonical -->
22          <link rel="canonical" href="{/chapter/canonical_url}"/>
23
24    </xsl:variable>
25  
26    <!-- JavaScript -->
27       <xsl:variable name="html.body.append">
28          <script type="text/javascript" src="{$docroot}/doc/chapter.js"/>
29       </xsl:variable>
30
31    <!-- Table of Contents -->
32       <xsl:variable name="html.body.outer.append">
33          <div id="toc">
34             <ul class="hidden"/>
35             <img src="../../../../doc/contents.png" width="16" height="155"/>
36          </div>
37       </xsl:variable>
38
39    <!-- CONTENT -->
40       <xsl:template match="/chapter">
41
42          <!-- Navigation -->
43          <a class="previous_page" href="{prev_url}"><![CDATA[<-previous]]></a>
44          <xsl:if test="next_url">
45             <a class="next_page" href="{next_url}"><![CDATA[next->]]></a>
46          </xsl:if>
47
48          <!-- Chapter Wrapper -->
49          <div id="chapter" class="chapter{@class}">
50
51             <!-- Chapter Title -->
52             <h2 id="{@id}" class="{@class}">
53                <xsl:value-of select="concat('Chapter ',chapter_id,' - ',title)"/>
54             </h2>
55
56             <!-- Chapter Info -->
57                <xsl:apply-templates select="*[name()!='section']"/>
58                <xsl:apply-templates select="section"/>
59          </div>
60
61          <!-- Navigation -->
62             <a class="previous_page" href="{prev_url}"><![CDATA[<-previous]]></a>
63             <a class="next_page"     href="{next_url}"><![CDATA[next->]]></a>
64
65       </xsl:template>
66
67    <!-- Section -->
68       <xsl:template match="/chapter/section">
69          <!-- Section Wrapper -->
70          <div class="section{@class}">
71
72             <!-- Section Title -->
73             <xsl:choose>
74                <xsl:when test="@class='index'">
75                   <h3 id="{@id}" class="{@class}">
76                      <xsl:value-of select="title"/>
77                   </h3>
78                </xsl:when>
79                <xsl:otherwise>
80                   <h3 id="{@id}" class="{@class}">
81                      <xsl:value-of select="concat(position(),'. ',title)"/>
82                   </h3>
83                </xsl:otherwise>
84             </xsl:choose>
85
86             <!-- Section Paragraphs -->
87             <xsl:apply-templates select="*"/>
88          </div>
89       </xsl:template>
90
91    <!-- Section paragraph -->
92       <xsl:template match="/chapter/section/para">
93          <p>
94             <xsl:if test="@revisionflag!=''"><xsl:attribute name="class">changed</xsl:attribute></xsl:if>
95             <xsl:apply-templates/>
96          </p>
97       </xsl:template>
98
99    <!-- Ignore -->
100       <xsl:template match="chapter_id|prev_url|next_url|canonical_url"/>
101
102 </xsl:stylesheet>