root/greenstone3/trunk/web/interfaces/oran/transform/style.xsl @ 18617

Revision 18617, 7.4 KB (checked in by oranfry, 11 years ago)

a sample skin in progress

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 browser.