source: trunk/gsdl3/web/interfaces/default/transform/style.xsl@ 12015

Last change on this file since 12015 was 12015, checked in by shaoqun, 18 years ago

added berry basket

  • Property svn:keywords set to Author Date Id Revision
File size: 11.2 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 <!-- global style info goes here -->
13 <xsl:template name="globalStyle">
14 <link rel="stylesheet" href="interfaces/default/style/core.css" type="text/css"/>
15 </xsl:template>
16
17 <!-- the main page layout template is here -->
18 <xsl:template match="page">
19 <html>
20 <xsl:call-template name="pageHead"/>
21
22 <body>
23 <table border="0" cellspacing="0" cellpadding="0" width="100%">
24 <td valign="top" width="65"><!-- a space for our side bar-->
25 <img src="interfaces/default/images/spacer.gif" width="65" height="1" alt="" border="0"/><!-- an image cos netscape ignores the cell width -->
26 </td>
27 <td>
28 <table width="100%">
29 <tr><td>
30 <xsl:apply-templates select="pageResponse"/>
31 <xsl:if test="descendant::error">
32 <script language="Javascript">
33 <xsl:text disable-output-escaping="yes">
34 function removeAllChildren(node) {
35 while (node.hasChildNodes()) {
36 node.removeChild(node.firstChild);
37 }
38 }
39
40 function toggleHideError(obj) {
41 if (obj.style.display == "none") {
42 obj.style.display = "";
43 hide_link = document.getElementById("hide");
44 removeAllChildren(hide_link);
45 hide_link.appendChild(document.createTextNode("Hide Error"));
46 } else {
47 obj.style.display = "none";
48 hide_link = document.getElementById("hide");
49 removeAllChildren(hide_link);
50 hide_link.appendChild(document.createTextNode("Show Error"));
51
52 }
53 }
54 </xsl:text>
55 </script>
56 <p align='right'><a id="hide" href="javascript:toggleHideError(error);">Show Error</a></p>
57 <div id="error" style="display: none;">
58 <xsl:apply-templates select="descendant::error"/>
59 </div>
60 </xsl:if>
61 <xsl:call-template name="greenstoneFooter"/>
62 </td></tr>
63 </table>
64 </td>
65 </table>
66 </body>
67 </html>
68 </xsl:template>
69
70 <!-- put a space in the title in case the actual value is missing - mozilla will not display a page with no title-->
71 <xsl:template name="pageHead">
72 <head>
73 <title>
74 <xsl:call-template name="pageTitle"/><xsl:text> </xsl:text>
75 </title>
76 <xsl:call-template name="globalStyle"/>
77 <xsl:call-template name="pageStyle"/>
78 </head>
79 </xsl:template>
80
81
82 <xsl:template name="greenstonePageBanner">
83 <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>
84 <xsl:call-template name="dividerBar"/>
85 </xsl:template>
86
87 <xsl:template name="greenstoneFooter">
88 <center>
89 <p/>
90 <small><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'gs3power')"/></small>
91 </center>
92 </xsl:template>
93
94 <xsl:template match="error">
95 Error: <xsl:value-of select="."/>
96 </xsl:template>
97
98 <xsl:template name="standardPageBanner">
99 <xsl:param name="collName"/>
100 <xsl:param name="pageType"/>
101 <xsl:variable name="this-element" select="/page/pageResponse/collection|/page/pageResponse/serviceCluster"/>
102 <table width="100%">
103 <tr>
104 <td align="left">
105 <a href="{$library_name}?a=p&amp;sa=about&amp;c={$collName}">
106 <xsl:choose>
107 <xsl:when test="$this-element/displayItem[@name='icon']">
108 <img border="0">
109 <xsl:attribute name="src">
110 <xsl:value-of select="$this-element/metadataList/metadata[@name='httpPath']"/>/images/<xsl:value-of select="$this-element/displayItem[@name='icon']"/>
111 </xsl:attribute>
112 <xsl:attribute name="alt">
113 <xsl:value-of select="$this-element/displayItem[@name='name']"/>
114 </xsl:attribute>
115 <xsl:attribute name="title">
116 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'aboutpage')"/>
117 </xsl:attribute>
118 </img>
119 </xsl:when>
120 <xsl:otherwise>
121 <b><xsl:value-of select="$this-element/displayItem[@name='name']"/></b>
122 </xsl:otherwise>
123 </xsl:choose>
124 </a>
125 </td>
126 <td align="right">
127 <xsl:call-template name="top-buttons">
128 <xsl:with-param name="collName" select="$collName"/>
129 <xsl:with-param name="pageType" select="$pageType"/>
130 </xsl:call-template>
131 </td>
132 </tr>
133 </table>
134 <p/>
135 </xsl:template>
136
137 <xsl:template name="top-buttons">
138 <xsl:param name="collName"/>
139 <xsl:param name="pageType"/>
140 <table cellspacing='4'>
141 <tr>
142 <td class="gsbutton">
143 <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>
144 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/>
145 </a>
146 </td>
147 <xsl:choose>
148 <xsl:when test="$pageType='help'">
149 <td class="gsbuttonoff">
150 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
151 </td>
152 </xsl:when>
153 <xsl:otherwise>
154 <td class="gsbutton">
155 <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>
156 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
157 </a>
158 </td>
159 </xsl:otherwise>
160 </xsl:choose>
161 <xsl:choose>
162 <xsl:when test="$pageType='pref'">
163 <td class="gsbuttonoff">
164 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
165 </td>
166 </xsl:when>
167 <xsl:otherwise>
168 <td class="gsbutton">
169 <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>
170 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
171 </a>
172 </td>
173 </xsl:otherwise>
174 </xsl:choose>
175 </tr>
176 </table>
177
178 </xsl:template>
179
180 <xsl:template name="navigationBar">
181 <xsl:param name="collName"/>
182 <xsl:variable name="this-element" select="/page/pageResponse/collection|/page/pageResponse/serviceCluster"/>
183 <xsl:variable name="this-service" select="/page/pageResponse/service/@name"/>
184 <xsl:choose>
185 <xsl:when test="$this-element/serviceList/service">
186 <table border='0' cellspacing='0' width='100%'>
187 <tr>
188 <xsl:for-each select="$this-element/serviceList/service">
189 <xsl:variable name="action"><xsl:choose>
190 <xsl:when test="@name=$this-service">CURRENT</xsl:when>
191 <xsl:when test="@type='query'">q</xsl:when>
192 <xsl:when test="@type='browse'">b</xsl:when>
193 <xsl:when test="@type='process'">pr</xsl:when>
194 <xsl:when test="@type='applet'">a</xsl:when>
195 <xsl:otherwise>DO_NOT_DISPLAY</xsl:otherwise>
196 </xsl:choose></xsl:variable>
197 <xsl:choose>
198 <xsl:when test="$action='CURRENT'">
199 <td class="navbaroff"><nobr><xsl:value-of select="displayItem[@name='name']"/></nobr></td>
200 </xsl:when>
201 <xsl:when test="$action !='DO_NOT_DISPLAY'">
202 <td class="navbar"><a class="navbar" href="{$library_name}?a={$action}&amp;rt=d&amp;s={@name}&amp;c={$collName}"><xsl:if test="displayItem[@name='description']"><xsl:attribute name='title'><xsl:value-of select="displayItem[@name='description']"/></xsl:attribute></xsl:if><nobr><xsl:value-of select="displayItem[@name='name']"/></nobr></a></td>
203 </xsl:when>
204 </xsl:choose>
205 </xsl:for-each>
206 </tr>
207 </table>
208 </xsl:when>
209 <xsl:otherwise>
210 <table border='0' cellspacing='0' width='100%'><tr><td class="navbar">&#160;</td></tr></table>
211 </xsl:otherwise>
212 </xsl:choose>
213 </xsl:template>
214
215
216 <xsl:template name="dividerBar">
217 <xsl:param name='text'/>
218 <br/><table width='100%' border="0" cellpadding="0" cellspacing="0">
219 <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><br/>
220 </xsl:template>
221
222 <!-- Display the appropriate image, depending on the node type -->
223 <xsl:template match="documentNode" mode="displayNodeIcon">
224
225 <!-- Root node: book icon (open or closed) -->
226 <xsl:choose>
227 <xsl:when test="@nodeType='root'">
228 <xsl:choose>
229 <xsl:when test="documentNode">
230 <xsl:call-template name="openbookimg">
231 <xsl:with-param name="title">Close this book</xsl:with-param>
232 </xsl:call-template>
233 </xsl:when>
234 <xsl:otherwise>
235 <xsl:call-template name="closedbookimg">
236 <xsl:with-param name="title">Open this document and view contents</xsl:with-param>
237 </xsl:call-template>
238 </xsl:otherwise>
239 </xsl:choose>
240 </xsl:when>
241
242 <!-- Internal node: folder icon (open or closed) -->
243 <xsl:when test="@nodeType='internal'">
244 <xsl:choose>
245 <xsl:when test="documentNode">
246 <xsl:call-template name="openfolderimg">
247 <xsl:with-param name="title">Close this folder</xsl:with-param>
248 </xsl:call-template>
249 </xsl:when>
250 <xsl:otherwise>
251 <xsl:call-template name="closedfolderimg">
252 <xsl:with-param name="title">Open this folder and view contents</xsl:with-param>
253 </xsl:call-template>
254 </xsl:otherwise>
255 </xsl:choose>
256 </xsl:when>
257
258 <!-- Leaf node: page icon, and this is the default -->
259 <xsl:otherwise>
260 <xsl:call-template name="textpageimg">
261 <xsl:with-param name="title">View the document</xsl:with-param>
262 </xsl:call-template>
263 </xsl:otherwise>
264 </xsl:choose>
265 </xsl:template>
266
267 <xsl:template name="openbookimg">
268 <xsl:param name="alt"/>
269 <xsl:param name="title"/>
270 <img border="0" width="28" height="23"
271 src="interfaces/default/images/openbook.gif"
272 alt="{$alt}" title="{$title}"/>
273 </xsl:template>
274
275 <xsl:template name="closedbookimg">
276 <xsl:param name="alt"/>
277 <xsl:param name="title"/>
278 <img border="0" width="18" height="11"
279 src="interfaces/default/images/book.gif"
280 alt="{$alt}" title="{$title}"/>
281 </xsl:template>
282
283 <xsl:template name="openfolderimg">
284 <xsl:param name="alt"/>
285 <xsl:param name="title"/>
286 <img border="0" width="23" height="15"
287 src="interfaces/default/images/openfldr.gif"
288 alt="{$alt}" title="{$title}"/>
289 </xsl:template>
290
291 <xsl:template name="closedfolderimg">
292 <xsl:param name="alt"/>
293 <xsl:param name="title"/>
294 <img border="0" width="23" height="15"
295 src="interfaces/default/images/clsdfldr.gif"
296 alt="{$alt}" title="{$title}"/>
297 </xsl:template>
298
299 <xsl:template name="textpageimg">
300 <xsl:param name="alt"/>
301 <xsl:param name="title"/>
302 <img border="0" width="16" height="21"
303 src="interfaces/default/images/itext.gif"
304 alt="{$alt}" title="{$title}"/>
305 </xsl:template>
306
307 <xsl:template name="bookshelfimg">
308 <xsl:param name="alt"/>
309 <xsl:param name="title"/>
310 <img border="0" width="20" height="16"
311 src="interfaces/default/images/bshelf.gif"
312 alt="{$alt}" title="{$title}"/>
313 </xsl:template>
314</xsl:stylesheet>
315
316
Note: See TracBrowser for help on using the repository browser.