source: trunk/gsdl3/web/interfaces/classic/transform/style.xsl@ 8963

Last change on this file since 8963 was 8963, checked in by kjdon, 19 years ago

interior changed to internal, added in word and pdf images

  • Property svn:keywords set to Author Date Id Revision
File size: 14.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
6 extension-element-prefixes="java util"
7 exclude-result-prefixes="java util">
8
9 <!-- some global parameters - these are set by whoever is invoking the transformation -->
10 <xsl:param name="interface_name"/>
11 <xsl:param name="library_name"/>
12
13 <!-- the main page layout template is here -->
14 <xsl:template match="page">
15 <html>
16 <xsl:call-template name="pageHead"/>
17 <body>
18 <table border="0" cellspacing="0" cellpadding="0" width="100%">
19 <td valign="top" width="65">
20 <img src="interfaces/default/images/spacer.gif" width="65" height="1" alt="" border="0"/>
21 </td>
22 <td>
23 <center>
24 <table width="537">
25 <tr><td>
26 <xsl:apply-templates select="pageResponse"/>
27 <xsl:call-template name="greenstoneFooter"/>
28 </td></tr>
29 </table>
30 </center>
31 </td>
32 </table>
33 </body>
34 </html>
35 </xsl:template>
36
37 <!-- put a space in the title in case the actual value is missing - mozilla will not display a page with no title-->
38 <xsl:template name="pageHead">
39 <head>
40 <title>
41 <xsl:call-template name="pageTitle"/><xsl:text> </xsl:text>
42 </title>
43 <xsl:call-template name="globalStyle"/>
44 <xsl:call-template name="pageStyle"/>
45 </head>
46 </xsl:template>
47
48 <!-- any global style stuff should go in here -->
49 <xsl:template name="globalStyle">
50 <link rel="stylesheet" href="interfaces/default/style/core.css" type="text/css"/>
51 </xsl:template>
52
53 <xsl:template name="greenstonePageBanner">
54 <center><img src="interfaces/default/images/gsdlhead.gif"><xsl:attribute name="alt"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'gsdl')"/></xsl:attribute></img></center>
55 <xsl:call-template name="dividerBar"/>
56 </xsl:template>
57
58 <xsl:template name="genericPageBanner">
59 <xsl:param name='text'/>
60 <xsl:variable name="lang" select="/page/@lang"/>
61 <center>
62 <table width="100%">
63 <tr><td align="left"></td>
64 <td align="right">
65 <table>
66 <tr><td class="gsbutton">
67 <a class="gsbutton" href="{$library_name}?a=p&amp;sa=home">
68 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/>
69 </a>
70 </td></tr></table>
71 </td>
72 </tr>
73 </table>
74 </center>
75 <xsl:call-template name="dividerBar"><xsl:with-param name='text' select="$text"/></xsl:call-template>
76 </xsl:template>
77
78 <xsl:template name="standardPageBanner">
79 <xsl:param name="collName"/>
80 <xsl:param name="pageType"/>
81 <xsl:param name="clTop"/>
82 <xsl:variable name="this-element" select="/page/pageResponse/collection"/>
83 <table width="100%">
84 <tr>
85 <td align="left" rowspan="2">
86 <a href="{$library_name}?a=p&amp;sa=about&amp;c={$collName}">
87 <xsl:choose>
88 <xsl:when test="$this-element/displayItem[@name='icon']">
89 <img border="0">
90 <xsl:attribute name="src">
91 <xsl:value-of select="$this-element/metadataList/metadata[@name='httpPath']"/>/images/<xsl:value-of select="$this-element/displayItem[@name='icon']"/>
92 </xsl:attribute>
93 <xsl:attribute name="alt">
94 <xsl:value-of select="$this-element/displayItem[@name='name']"/>
95 </xsl:attribute>
96 <xsl:attribute name="title">
97 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'aboutpage')"/>
98 </xsl:attribute>
99 </img>
100 </xsl:when>
101 <xsl:otherwise>
102 <b><xsl:value-of select="$this-element/displayItem[@name='name']"/></b>
103 </xsl:otherwise>
104 </xsl:choose>
105 </a>
106 </td>
107 <td align="right">
108 <xsl:call-template name="top-buttons">
109 <xsl:with-param name="collName" select="$collName"/>
110 <xsl:with-param name="pageType" select="$pageType"/>
111 </xsl:call-template>
112 </td>
113 </tr>
114 <xsl:if test="not(/page/pageRequest/@action='d')">
115 <xsl:variable name="text">
116 <xsl:choose>
117 <xsl:when test="$pageType='browse'">
118 <xsl:value-of select="/page/pageResponse/collection/serviceList/service[@name='ClassifierBrowse']/classifierList/classifier[@name=$clTop]/displayItem[@name='name']"/>
119 </xsl:when>
120 <xsl:otherwise>
121 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, concat($pageType, '_t'))"/>
122 </xsl:otherwise>
123 </xsl:choose>
124 </xsl:variable>
125 <tr>
126 <td valign='top' align='right' width="200" height="57" style="background: url(interfaces/nzdl/images/titleicon.gif) no-repeat right bottom"><b><font size="+2" color='black'><xsl:value-of select="$text"/>&#160;&#160;</font></b></td>
127 </tr>
128 </xsl:if>
129 </table>
130 </xsl:template>
131
132 <xsl:template name="top-buttons">
133 <xsl:param name="collName"/>
134 <xsl:param name="pageType"/>
135 <table cellspacing='4'>
136 <tr>
137 <td class="gsbutton">
138 <a class="gsbutton" href="{$library_name}?a=p&amp;sa=home"><xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_tip')"/></xsl:attribute>
139 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/>
140 </a>
141 </td>
142 <!-- <xsl:choose>
143 <xsl:when test="$pageType='help'">
144 <td class="gsbuttonoff">
145 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
146 </td>
147 </xsl:when>
148 <xsl:otherwise>
149 <td class="gsbutton">
150 <a class="gsbutton" href="{$library_name}?a=p&amp;sa=help&amp;c={$collName}"><xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_tip')"/></xsl:attribute>
151 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
152 </a>
153 </td>
154 </xsl:otherwise>
155 </xsl:choose> -->
156 <xsl:choose>
157 <xsl:when test="$pageType='pref'">
158 <td class="gsbuttonoff">
159 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
160 </td>
161 </xsl:when>
162 <xsl:otherwise>
163 <td class="gsbutton">
164 <a class="gsbutton" href="{$library_name}?a=p&amp;sa=pref&amp;c={$collName}"><xsl:attribute name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_tip')"/></xsl:attribute>
165 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
166 </a>
167 </td>
168 </xsl:otherwise>
169 </xsl:choose>
170 </tr>
171 </table>
172 </xsl:template>
173
174 <xsl:template name="navigationBar">
175 <xsl:param name="collName"/>
176 <xsl:param name="clTop"/>
177 <xsl:variable name="this-element" select="/page/pageResponse/collection"/>
178 <xsl:variable name="this-service" select="/page/pageResponse/service/@name"/>
179 <xsl:variable name="classifiers" select="$this-element/serviceList/service[@name='ClassifierBrowse']/classifierList"/>
180 <table border='0' cellspacing='0' width='100%'>
181 <tr>
182 <xsl:if test="$this-element/serviceList/service[@type='query']">
183 <xsl:call-template name="navbar-search"><xsl:with-param name="collName" select="$collName"/></xsl:call-template>
184 </xsl:if>
185
186 <xsl:for-each select="$classifiers/classifier">
187 <xsl:apply-templates select="." mode="navbar">
188 <xsl:with-param name="collName" select="$collName"/>
189 <xsl:with-param name="clTop" select="$clTop"/>
190 </xsl:apply-templates>
191 </xsl:for-each>
192
193 <xsl:if test="$this-element/serviceList/service[@name='PhindApplet']">
194 <xsl:call-template name="navbar-phind"><xsl:with-param name="collName" select="$collName"/></xsl:call-template>
195 </xsl:if>
196 </tr>
197 </table>
198 </xsl:template>
199
200 <xsl:template name="navbar-search">
201 <xsl:param name="collName"/>
202 <xsl:choose>
203 <xsl:when test="/page/pageRequest/@action='q'">
204 <td class="navbaroff"><nobr>search</nobr></td>
205 </xsl:when>
206 <xsl:otherwise>
207 <xsl:variable name="service">
208 <xsl:choose>
209 <xsl:when test="not(/page/pageRequest/paramList/param[@name='ct'])">TextQuery</xsl:when>
210 <xsl:when test="/page/pageRequest/paramList/param[@name='ct']/@value='0'">TextQuery</xsl:when>
211 <xsl:when test="/page/pageRequest/paramList/param[@name='qt']/@value='1'"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='qfm']/@value='1'">AdvancedFieldQuery</xsl:when><xsl:otherwise>FieldQuery</xsl:otherwise></xsl:choose></xsl:when>
212 <xsl:otherwise>TextQuery</xsl:otherwise>
213 </xsl:choose>
214 </xsl:variable>
215
216 <td class="navbar"><a class="navbar" href="{$library_name}?a=q&amp;rt=d&amp;s={$service}&amp;c={$collName}"><xsl:attribute name='title'><xsl:value-of select="/page/pageResponse/collection/service[@name=$service]/displayItem[@name='description']"/></xsl:attribute><nobr>search</nobr></a></td>
217 </xsl:otherwise>
218 </xsl:choose>
219 </xsl:template>
220
221 <xsl:template name="navbar-phind">
222 <xsl:param name="collName"/>
223 <xsl:choose>
224 <xsl:when test="/page/pageRequest/paramList/param[@name='s']/@value='PhindApplet'">
225 <td class="navbaroff"><nobr>phrases</nobr></td>
226 </xsl:when>
227 <xsl:otherwise>
228 <td class="navbar"><a class="navbar" href="{$library_name}?a=a&amp;rt=d&amp;s=PhindApplet&amp;c={$collName}"><xsl:if test="/page/pageResponse/collection/service[@name='PhindApplet']/displayItem[@name='description']"><xsl:attribute name='title'><xsl:value-of select="/page/pageResponse/collection/service[@name='PhindApplet']/displayItem[@name='description']"/></xsl:attribute></xsl:if><nobr>phrases</nobr></a></td>
229 </xsl:otherwise>
230 </xsl:choose>
231 </xsl:template>
232
233 <xsl:template match="classifier" mode="navbar">
234 <xsl:param name="collName"/>
235 <xsl:param name="clTop"/>
236 <xsl:choose>
237 <xsl:when test="/page/pageRequest/@action='b' and $clTop=@name">
238 <td class="navbaroff"><nobr><xsl:value-of select="displayItem[@name='name']"/></nobr></td>
239 </xsl:when>
240 <xsl:otherwise>
241 <td class="navbar"><a class="navbar" href="{$library_name}?a=b&amp;rt=r&amp;s=ClassifierBrowse&amp;c={$collName}&amp;cl={@name}"><xsl:attribute name='title'><xsl:value-of select="displayItem[@name='description']"/></xsl:attribute><nobr><xsl:value-of select="displayItem[@name='name']"/></nobr></a></td>
242 </xsl:otherwise>
243 </xsl:choose>
244 </xsl:template>
245
246 <xsl:template name="dividerBar">
247 <xsl:param name='text'/>
248 <p><table width='537' border="0" cellpadding="0" cellspacing="0">
249 <tr><td valign='bottom' height='20' background='interfaces/default/images/greenbar.gif'><font size="+1" color="black"><b>&#160;<xsl:value-of select='$text'/></b></font></td></tr></table></p>
250 </xsl:template>
251
252 <xsl:template name="nzdlPageBanner">
253 <center>
254 <table width="537" cellspacing="0" cellpadding="0">
255 <tr valign="top">
256 <td rowspan="2" align="left"><center><img src="interfaces/nzdl/images/nzdl2gr.gif" width="457" height="181" ><xsl:attribute name="alt"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'nzdl')"/></xsl:attribute></img></center></td>
257 <td align="right"></td>
258 </tr>
259
260 <tr>
261 <td align="right"></td>
262 </tr>
263
264 <tr>
265 <td colspan="2"></td>
266 </tr>
267 </table>
268 </center>
269 <!-- end of page banner -->
270 </xsl:template>
271
272 <xsl:template name="greenstoneFooter">
273 <center>
274 <p/>
275 <small>powered by greenstone3</small>
276 </center>
277 </xsl:template>
278
279 <xsl:template name="imagegreenstone">
280 <img src="interfaces/nzdl/images/gsdl.gif" width="140" height="77" border="0" hspace='0'><xsl:attribute name='alt'><xsl:call-template name='textimagegreenstone'/></xsl:attribute></img>
281 </xsl:template>
282
283 <!-- Display the appropriate image, depending on the node type -->
284 <xsl:template match="documentNode" mode="displayNodeIcon">
285
286 <!-- Root node: book icon (open or closed) -->
287 <xsl:choose>
288 <xsl:when test="@nodeType='root'">
289 <xsl:choose>
290 <xsl:when test="documentNode">
291 <xsl:call-template name="openbookimg">
292 <xsl:with-param name="title">Close this book</xsl:with-param>
293 </xsl:call-template>
294 </xsl:when>
295 <xsl:otherwise>
296 <xsl:call-template name="closedbookimg">
297 <xsl:with-param name="title">Open this document and view contents</xsl:with-param>
298 </xsl:call-template>
299 </xsl:otherwise>
300 </xsl:choose>
301 </xsl:when>
302
303 <!-- Internal node: folder icon (open or closed) -->
304 <xsl:when test="@nodeType='internal'">
305 <xsl:choose>
306 <xsl:when test="documentNode">
307 <xsl:call-template name="openfolderimg">
308 <xsl:with-param name="title">Close this folder</xsl:with-param>
309 </xsl:call-template>
310 </xsl:when>
311 <xsl:otherwise>
312 <xsl:call-template name="closedfolderimg">
313 <xsl:with-param name="title">Open this folder and view contents</xsl:with-param>
314 </xsl:call-template>
315 </xsl:otherwise>
316 </xsl:choose>
317 </xsl:when>
318
319 <!-- Leaf node: page icon, and this is the default -->
320 <xsl:otherwise>
321 <xsl:call-template name="textpageimg">
322 <xsl:with-param name="title">View the document</xsl:with-param>
323 </xsl:call-template>
324 </xsl:otherwise>
325 </xsl:choose>
326 </xsl:template>
327
328
329 <xsl:template name="openbookimg">
330 <xsl:param name="alt"/>
331 <xsl:param name="title"/>
332 <img border="0" width="28" height="23"
333 src="interfaces/default/images/openbook.gif"
334 alt="{$alt}" title="{$title}"/>
335 </xsl:template>
336
337 <xsl:template name="closedbookimg">
338 <xsl:param name="alt"/>
339 <xsl:param name="title"/>
340 <img border="0" width="18" height="11"
341 src="interfaces/default/images/book.gif"
342 alt="{$alt}" title="{$title}"/>
343 </xsl:template>
344
345 <xsl:template name="openfolderimg">
346 <xsl:param name="alt"/>
347 <xsl:param name="title"/>
348 <img border="0" width="23" height="15"
349 src="interfaces/default/images/openfldr.gif"
350 alt="{$alt}" title="{$title}"/>
351 </xsl:template>
352
353 <xsl:template name="closedfolderimg">
354 <xsl:param name="alt"/>
355 <xsl:param name="title"/>
356 <img border="0" width="23" height="15"
357 src="interfaces/default/images/clsdfldr.gif"
358 alt="{$alt}" title="{$title}"/>
359 </xsl:template>
360
361 <xsl:template name="textpageimg">
362 <xsl:param name="alt"/>
363 <xsl:param name="title"/>
364 <img border="0" width="16" height="21"
365 src="interfaces/default/images/itext.gif"
366 alt="{$alt}" title="{$title}"/>
367 </xsl:template>
368
369 <xsl:template name="bookshelfimg">
370 <xsl:param name="alt"/>
371 <xsl:param name="title"/>
372 <img border="0" width="20" height="16"
373 src="interfaces/default/images/bshelf.gif"
374 alt="{$alt}" title="{$title}"/>
375 </xsl:template>
376
377 <xsl:template name="iconpdf">
378 <xsl:param name="alt">PDF</xsl:param>
379 <xsl:param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'texticonpdf')"/></xsl:param>
380 <img border="0" width='26' height='26'
381 src='interfaces/default/images/ipdf.gif'
382 alt='{$alt}' title='{$title}'/>
383 </xsl:template>
384
385 <xsl:template name="icondoc">
386 <xsl:param name="alt">Word</xsl:param>
387 <xsl:param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'texticonmsword')"/></xsl:param>
388 <img border="0" width='26' height='26'
389 src='interfaces/default/images/imsword.gif'
390 alt='{$alt}' title='{$title}'/>
391 </xsl:template>
392
393</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.