]> git.stg.codes - stg.git/blob - doc/xslt/html/admon.xsl
[NY] Code deduplication.
[stg.git] / doc / xslt / html / admon.xsl
1 <?xml version='1.0'?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                 version='1.0'>
4
5 <!-- ********************************************************************
6      $Id: admon.xsl 8421 2009-05-04 07:49:49Z bobstayton $
7      ********************************************************************
8
9      This file is part of the XSL DocBook Stylesheet distribution.
10      See ../README or http://docbook.sf.net/release/xsl/current/ for
11      copyright and other information.
12
13      ******************************************************************** -->
14
15 <xsl:template match="*" mode="admon.graphic.width">
16   <xsl:param name="node" select="."/>
17   <xsl:text>25</xsl:text>
18 </xsl:template>
19
20 <xsl:template match="note|important|warning|caution|tip">
21   <xsl:choose>
22     <xsl:when test="$admon.graphics != 0">
23       <xsl:call-template name="graphical.admonition"/>
24     </xsl:when>
25     <xsl:otherwise>
26       <xsl:call-template name="nongraphical.admonition"/>
27     </xsl:otherwise>
28   </xsl:choose>
29 </xsl:template>
30
31 <xsl:template name="admon.graphic">
32   <xsl:param name="node" select="."/>
33   <xsl:value-of select="$admon.graphics.path"/>
34   <xsl:choose>
35     <xsl:when test="local-name($node)='note'">note</xsl:when>
36     <xsl:when test="local-name($node)='warning'">warning</xsl:when>
37     <xsl:when test="local-name($node)='caution'">caution</xsl:when>
38     <xsl:when test="local-name($node)='tip'">tip</xsl:when>
39     <xsl:when test="local-name($node)='important'">important</xsl:when>
40     <xsl:otherwise>note</xsl:otherwise>
41   </xsl:choose>
42   <xsl:value-of select="$admon.graphics.extension"/>
43 </xsl:template>
44
45 <xsl:template name="graphical.admonition">
46   <xsl:variable name="admon.type">
47     <xsl:choose>
48       <xsl:when test="local-name(.)='note'">Note</xsl:when>
49       <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
50       <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
51       <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
52       <xsl:when test="local-name(.)='important'">Important</xsl:when>
53       <xsl:otherwise>Note</xsl:otherwise>
54     </xsl:choose>
55   </xsl:variable>
56
57   <xsl:variable name="alt">
58     <xsl:call-template name="gentext">
59       <xsl:with-param name="key" select="$admon.type"/>
60     </xsl:call-template>
61   </xsl:variable>
62
63   <div>
64     <xsl:call-template name="common.html.attributes"/>
65     <xsl:if test="$admon.style != ''">
66       <xsl:attribute name="style">
67         <xsl:value-of select="$admon.style"/>
68       </xsl:attribute>
69     </xsl:if>
70
71     <table border="0">
72       <xsl:attribute name="summary">
73         <xsl:value-of select="$admon.type"/>
74         <xsl:if test="title|info/title">
75           <xsl:text>: </xsl:text>
76           <xsl:value-of select="(title|info/title)[1]"/>
77         </xsl:if>
78       </xsl:attribute>
79       <tr>
80         <td rowspan="2" align="center" valign="top">
81           <xsl:attribute name="width">
82             <xsl:apply-templates select="." mode="admon.graphic.width"/>
83           </xsl:attribute>
84           <img alt="[{$alt}]">
85             <xsl:attribute name="src">
86               <xsl:call-template name="admon.graphic"/>
87             </xsl:attribute>
88           </img>
89         </td>
90         <th align="{$direction.align.start}">
91           <xsl:call-template name="anchor"/>
92           <xsl:if test="$admon.textlabel != 0 or title or info/title">
93             <xsl:apply-templates select="." mode="object.title.markup"/>
94           </xsl:if>
95         </th>
96       </tr>
97       <tr>
98         <td align="{$direction.align.start}" valign="top">
99           <xsl:apply-templates/>
100         </td>
101       </tr>
102     </table>
103   </div>
104 </xsl:template>
105
106 <xsl:template name="nongraphical.admonition">
107   <div>
108     <xsl:call-template name="common.html.attributes">
109       <xsl:with-param name="inherit" select="1"/>
110     </xsl:call-template>
111     <xsl:if test="$admon.style">
112       <xsl:attribute name="style">
113         <xsl:value-of select="$admon.style"/>
114       </xsl:attribute>
115     </xsl:if>
116
117     <xsl:if test="$admon.textlabel != 0 or title or info/title">
118       <h3 class="title">
119         <xsl:call-template name="anchor"/>
120         <xsl:apply-templates select="." mode="object.title.markup"/>
121       </h3>
122     </xsl:if>
123
124     <xsl:apply-templates/>
125   </div>
126 </xsl:template>
127
128 <xsl:template match="note/title"></xsl:template>
129 <xsl:template match="important/title"></xsl:template>
130 <xsl:template match="warning/title"></xsl:template>
131 <xsl:template match="caution/title"></xsl:template>
132 <xsl:template match="tip/title"></xsl:template>
133
134 </xsl:stylesheet>