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

Last change on this file since 18387 was 18387, checked in by kjdon, 15 years ago

moved all icon templates into new icons.xsl so gs2 interface can share them. added direction template

  • Property svn:keywords set to Author Date Id Revision
File size: 7.4 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 <xsl:include href="icons.xsl"/>
10
11 <!-- some global parameters - these are set by whoever is invoking the transformation -->
12 <xsl:param name="interface_name"/>
13 <xsl:param name="library_name"/>
14
15 <!-- global style info goes here -->
16 <xsl:template name="globalStyle">
17 <link rel="stylesheet" href="interfaces/default/style/core.css" type="text/css"/>
18 </xsl:template>
19
20 <xsl:template name="response">
21 <xsl:apply-templates select="pageResponse"/>
22 <xsl:if test="descendant::error">
23 <script language="Javascript">
24 <xsl:text disable-output-escaping="yes">
25 function removeAllChildren(node) {
26 while (node.hasChildNodes()) {
27 node.removeChild(node.firstChild);
28 }
29 }
30
31 function toggleHideError(obj) {
32 if (obj.style.display == "none") {
33 obj.style.display = "";
34 hide_link = document.getElementById("hide");
35 removeAllChildren(hide_link);
36 hide_link.appendChild(document.createTextNode("</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'hide_error')"/><xsl:text disable-output-escaping="yes">"));
37 } else {
38 obj.style.display = "none";
39 hide_link = document.getElementById("hide");
40 removeAllChildren(hide_link);
41 hide_link.appendChild(document.createTextNode("</xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'show_error')"/><xsl:text disable-output-escaping="yes">"));
42 }
43 }
44 </xsl:text>
45 </script>
46 <p align='right'><a id="hide" href="javascript:toggleHideError(error);"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, '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 <xsl:template name="greenstoneFooter">
54 <div id="footer">
55 <xsl:call-template name="dividerBar">
56 <xsl:with-param name="text" select="util:getInterfaceText($interface_name, /page/@lang, 'gs3power')"/>
57 </xsl:call-template>
58 </div>
59 </xsl:template>
60
61 <xsl:template match="error">
62 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'error')"/> <xsl:value-of select="."/>
63 </xsl:template>
64
65 <xsl:template name="standardPageBanner">
66 <xsl:param name="collName"/>
67 <xsl:param name="pageType"/>
68 <xsl:variable name="this-element" select="/page/pageResponse/collection|/page/pageResponse/serviceCluster"/>
69 <div id="banner">
70 <p>
71 <a href="{$library_name}?a=p&amp;sa=about&amp;c={$collName}">
72 <xsl:choose>
73 <xsl:when test="$this-element/displayItem[@name='icon']">
74 <img border="0">
75 <xsl:attribute name="src">
76 <xsl:value-of select="$this-element/metadataList/metadata[@name='httpPath']"/>/images/<xsl:value-of select="$this-element/displayItem[@name='icon']"/>
77 </xsl:attribute>
78 <xsl:attribute name="alt">
79 <xsl:value-of select="$this-element/displayItem[@name='name']"/>
80 </xsl:attribute>
81 <xsl:attribute name="title">
82 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'aboutpage')"/>
83 </xsl:attribute>
84 </img>
85 </xsl:when>
86 <xsl:otherwise>
87 <xsl:value-of select="$this-element/displayItem[@name='name']"/>
88 </xsl:otherwise>
89 </xsl:choose>
90 </a>
91 </p>
92 <ul id="bannerlist">
93 <xsl:call-template name="top-buttons">
94 <xsl:with-param name="collName" select="$collName"/>
95 <xsl:with-param name="pageType" select="$pageType"/>
96 </xsl:call-template>
97 </ul>
98 </div>
99 </xsl:template>
100
101 <xsl:template name="top-buttons">
102 <xsl:param name="collName"/>
103 <xsl:param name="pageType"/>
104 <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>
105 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/>
106 </a></li>
107 <xsl:choose>
108 <xsl:when test="$pageType='help'">
109 <li><a><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/></a></li>
110 </xsl:when>
111 <xsl:otherwise>
112 <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>
113 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
114 </a></li>
115 </xsl:otherwise>
116 </xsl:choose>
117 <xsl:choose>
118 <xsl:when test="$pageType='pref'">
119 <li><a><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/></a></li>
120 </xsl:when>
121 <xsl:otherwise>
122 <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>
123 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
124 </a></li>
125 </xsl:otherwise>
126 </xsl:choose>
127 </xsl:template>
128
129 <xsl:template name="navigationBar">
130 <xsl:param name="collName"/>
131 <xsl:variable name="this-element" select="/page/pageResponse/collection|/page/pageResponse/serviceCluster"/>
132 <xsl:variable name="this-service" select="/page/pageResponse/service/@name"/>
133 <xsl:choose>
134 <xsl:when test="$this-element/serviceList/service">
135 <div id="navbar">
136 <ul id="navbarlist">
137 <xsl:for-each select="$this-element/serviceList/service">
138 <xsl:variable name="action"><xsl:choose>
139 <xsl:when test="@name=$this-service">CURRENT</xsl:when>
140 <xsl:when test="@type='query'">q</xsl:when>
141 <xsl:when test="@type='browse'">b</xsl:when>
142 <xsl:when test="@type='process'">pr</xsl:when>
143 <xsl:when test="@type='applet'">a</xsl:when>
144 <xsl:otherwise>DO_NOT_DISPLAY</xsl:otherwise>
145 </xsl:choose></xsl:variable>
146 <xsl:choose>
147 <xsl:when test="$action='CURRENT'">
148 <li><a ><xsl:value-of select="displayItem[@name='name']"/></a></li>
149 </xsl:when>
150 <xsl:when test="$action !='DO_NOT_DISPLAY'">
151 <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>
152 </xsl:when>
153 </xsl:choose>
154 </xsl:for-each>
155 </ul>
156 </div>
157 </xsl:when>
158 <xsl:otherwise>
159 <xsl:call-template name="dividerBar">
160 <xsl:with-param name="text" select="'&#160;'"/>
161 </xsl:call-template>
162 </xsl:otherwise>
163 </xsl:choose>
164 </xsl:template>
165
166
167 <xsl:template name="dividerBar">
168 <xsl:param name='text'/>
169 <xsl:choose>
170 <xsl:when test="$text">
171 <div class="divbar"><xsl:value-of select="$text"/></div>
172 </xsl:when>
173 <xsl:otherwise>
174 <div class="divbar"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></div>
175 </xsl:otherwise>
176 </xsl:choose>
177 </xsl:template>
178
179
180 <xsl:template name="direction">
181 <xsl:if test="/page/@lang='ar' or /page/@lang='fa' or /page/@lang='he' or /page/@lang='ur' or /page/@lang='ps' or /page/@lang='prs'">rtl</xsl:if>
182 </xsl:template>
183
184</xsl:stylesheet>
185
186
Note: See TracBrowser for help on using the repository browser.