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

Revision 17018, 10.3 KB (checked in by max, 11 years ago)

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

  • Property svn:keywords set to Author Date Id Revision
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
18
19 <xsl:template name="response">
20      <xsl:apply-templates select="pageResponse"/>
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>
51 </xsl:template>
52
53
54
55
56  <xsl:template name="greenstonePageBanner">
57    <div id="banner">
58        <p>
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>
60            </img>
61    </p>
62    </div>
63    <div id="content">
64    <xsl:call-template name="dividerBar">
65            <xsl:with-param name="text" select="'select a collection'"/>
66        </xsl:call-template>   
67      </div>
68  </xsl:template>
69
70  <xsl:template name="greenstoneFooter">
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>
76  </xsl:template>
77 
78  <xsl:template match="error">
79    Error: <xsl:value-of select="."/>
80  </xsl:template>
81
82  <xsl:template name="standardPageBanner">
83    <xsl:param name="collName"/>
84    <xsl:param name="pageType"/>
85    <xsl:variable name="this-element" select="/page/pageResponse/collection|/page/pageResponse/serviceCluster"/>
86    <div  id="banner">   
87     <p>
88      <a href="{$library_name}?a=p&amp;sa=about&amp;c={$collName}">
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>
104        <xsl:value-of select="$this-element/displayItem[@name='name']"/>
105          </xsl:otherwise>
106        </xsl:choose>
107      </a>
108    </p>
109        <ul id="bannerlist">
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>
114       </ul>
115    </div>
116   </xsl:template>
117 
118  <xsl:template name="top-buttons">
119    <xsl:param name="collName"/>
120    <xsl:param name="pageType"/>
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>
122        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/>
123      </a></li>
124    <xsl:choose>
125      <xsl:when test="$pageType='help'">
126          <li><a><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/></a></li>
127      </xsl:when>
128      <xsl:otherwise>
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>
130        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
131          </a></li>
132        </xsl:otherwise>
133    </xsl:choose>
134    <xsl:choose>
135      <xsl:when test="$pageType='pref'">
136         <li><a><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></a></li>
137       </xsl:when>
138      <xsl:otherwise>
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>
140        <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
141          </a></li>
142        </xsl:otherwise>
143    </xsl:choose>
144  </xsl:template>
145
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"/>
150    <xsl:choose>
151    <xsl:when test="$this-element/serviceList/service">
152    <div id="navbar">
153        <ul id="navbarlist">
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'">
165          <li><a ><xsl:value-of select="displayItem[@name='name']"/></a></li>
166        </xsl:when>
167        <xsl:when test="$action !='DO_NOT_DISPLAY'">
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>
169        </xsl:when>
170          </xsl:choose>
171        </xsl:for-each>
172           </ul>
173     </div>
174      </xsl:when>
175      <xsl:otherwise>
176        <xsl:call-template name="dividerBar">
177            <xsl:with-param name="text" select="'&#160;'"/>
178        </xsl:call-template>           
179      </xsl:otherwise>
180    </xsl:choose>
181  </xsl:template>
182 
183 
184  <xsl:template name="dividerBar">
185   <xsl:param name='text'/>
186      <xsl:choose>
187      <xsl:when test="$text">
188     <div class="divbar"><xsl:value-of select="$text"/></div>
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>
194  </xsl:template>
195
196  <!-- Display the appropriate image, depending on the node type -->
197  <xsl:template match="documentNode" mode="displayNodeIcon">
198     
199    <!-- Root node: book icon (open or closed) -->
200    <xsl:choose>
201      <xsl:when test="@nodeType='root'">
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>
214      </xsl:when>
215     
216      <!-- Internal node: folder icon (open or closed) -->
217      <xsl:when test="@nodeType='internal'">
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>
237      </xsl:otherwise>
238    </xsl:choose>
239  </xsl:template>
240
241  <xsl:template name="openbookimg">
242    <xsl:param name="alt"/>
243    <xsl:param name="title"/>
244    <img  border="0" width="28" height="23"
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"/>
252    <img border="0" width="18" height="11"
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"/>
260    <img border="0" width="23" height="15"
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"/>
268    <img  border="0" width="23" height="15"
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"/>
276    <img  border="0" width="16" height="21"
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"/>
284    <img  border="0" width="20" height="16"
285      src="interfaces/default/images/bshelf.gif" 
286      alt="{$alt}" title="{$title}"/>
287  </xsl:template>
288</xsl:stylesheet> 
289
290
Note: See TracBrowser for help on using the browser.