source: greenstone3/trunk/web/interfaces/default/transform/style.xsl@ 17018

Last change on this file since 17018 was 17018, checked in by max, 16 years ago

Delete the HTML skeleton because it has been copied to other XSL files.

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