Index: main/trunk/greenstone3/web/interfaces/default/transform/gli4gs3.xsl
===================================================================
--- main/trunk/greenstone3/web/interfaces/default/transform/gli4gs3.xsl	(revision 32134)
+++ main/trunk/greenstone3/web/interfaces/default/transform/gli4gs3.xsl	(revision 32150)
@@ -7,48 +7,63 @@
   exclude-result-prefixes="java util">
   
-  <!-- style includes global params interface_name, library_name -->
-  <xsl:include href="style.xsl"/>
+  <xsl:output method="xml"/>    
   
-  <xsl:output method="html"/>  
-  
-  <!-- the main page layout template is here -->
-  <xsl:template match="page">
-    <html>
-      <head>
-	<title>
-	  <!-- put a space in the title in case the actual value is missing - mozilla will not display a page with no title-->
-	  <xsl:call-template name="pageTitle"/><xsl:text> </xsl:text>
-	</title>
-	<xsl:call-template name="globalStyle"/>
-	<xsl:call-template name="pageStyle"/>
-      </head>
-      <body>
-	<xsl:attribute name="dir"><xsl:call-template name="direction"/></xsl:attribute>
-	<div id="page-wrapper">
-	  <xsl:apply-templates select="pageResponse"/>
-	  <xsl:call-template name="greenstoneFooter"/>                	   
-	</div>
-      </body>
-    </html>
+  <!--
+	1. This XSLT rewrites the applet page generated by PageAction, from the top node of / down,
+	to replace it with a JNLP Java Web Start file to launch GLI (web/applet/SignedGatherer.java).
+	2. Putting in an xml processing instruction doesn't seem to go through and causes stylesheet transform errors
+	after following https://www.w3schools.com/xml/ref_xsl_el_processing-instruction.asp 
+  -->
+  <xsl:template match="/">
+	  <!--
+		/*
+		 *    Java Web Start support for Greenstone Librarian Interface (GLI) applet.
+		 *    Copyright (C) 2002 New Zealand Digital Library, http://www.nzdl.org
+		 *
+		 *    This program is free software; you can redistribute it and/or modify
+		 *    it under the terms of the GNU General Public License as published by
+		 *    the Free Software Foundation; either version 2 of the License, or
+		 *    (at your option) any later version.
+		 *
+		 *    This program is distributed in the hope that it will be useful,
+		 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
+		 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+		 *    GNU General Public License for more details.
+		 *
+		 *    You should have received a copy of the GNU General Public License
+		 *    along with this program; if not, write to the Free Software
+		 *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+		 */
+	  -->
+	  <jnlp
+		  spec="1.0+"
+		  codebase="http://localhost:8383/greenstone3/applet"
+		  href="GLIappWebStart.jnlp">
+		  <information>
+			<title>Greenstone Librarian Interface</title>
+			<vendor>New Zealand Digital Library</vendor>
+			<homepage href="http://www.greenstone.org/"/>
+			<description>GLI</description>
+			<description kind="short">Greenstone Librarian Interface (GLI) as Web Start Application over JNLP</description>
+			<offline-allowed/>
+		  </information>
+		  <resources>
+			<j2se version="1.7+"/>
+			<jar href="SignedGatherer.jar"/>
+		  </resources>
+		  <application-desc main-class="org.greenstone.gatherer.WebGatherer">
+			<!--<argument>-gwcgi=/greenstone3</argument>
+			<argument>-gsdl3=true</argument>-->
+			<argument>-gwcgi=<xsl:value-of select="/page/pageResponse/Applet/PARAM[@name='gwcgi']/@value" /></argument>
+			<argument>-gsdl3=<xsl:value-of select="/page/pageResponse/Applet/PARAM[@name='gsdl3']/@value" /></argument>
+		  </application-desc>		 
+		  <!-- https://stackoverflow.com/questions/12600076/getting-user-home-folder-from-jws-signed-jar -->
+		  <security>
+			<all-permissions/>
+		  </security>
+		</jnlp>
+	 
   </xsl:template>
 
-  <xsl:template name="pageTitle">
-    <xsl:value-of select="pageResponse/service/applet"/>
-  </xsl:template>
+</xsl:stylesheet>
 
-  <!-- page specific style goes here -->
-  <xsl:template name="pageStyle"/>
-
-  <xsl:template match="pageResponse">
-    <xsl:variable name="collName"><xsl:value-of select="../pageRequest/paramList/param[@name='c']/@value"/></xsl:variable>
-    
-    <!-- <xsl:call-template name="navigationBar">
-    <xsl:with-param name="collName" select="$collName"/>
-  </xsl:call-template>-->      
-    <div >
-      <xsl:copy-of select="Applet"/>
-    </div>
-  </xsl:template>
-
-</xsl:stylesheet>  
-
Index: main/trunk/greenstone3/web/interfaces/default/transform/gslib.xsl
===================================================================
--- main/trunk/greenstone3/web/interfaces/default/transform/gslib.xsl	(revision 32134)
+++ main/trunk/greenstone3/web/interfaces/default/transform/gslib.xsl	(revision 32150)
@@ -385,9 +385,16 @@
 
   <xsl:template name="libraryInterfaceLink">
-    <!--<li>-->
-      <a href="{$library_name}?a=p&amp;sa=gli4gs3">
+    <div class="paramLabel">
+	  <!-- 
+		Using HTML5 download attribute to anchor tag, providing download-as-filename value, so Gli App JNLP file downloads.
+		Seems we don't need to set the MIME type for downloaded JNLP to launch, if program associations are correctly set up.
+	  -->
+      <a href="{$library_name}?a=p&amp;sa=gli4gs3" download="GLIappWebStart.jnlp">
         <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home.librarian_interface')"/>
       </a>
-    <!--</li>-->
+    </div>
+	<div class="paramValue">
+	  <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home.gliapp_webstart')"/>
+	</div>
   </xsl:template>
   
Index: main/trunk/greenstone3/web/interfaces/default/transform/icons.xsl
===================================================================
--- main/trunk/greenstone3/web/interfaces/default/transform/icons.xsl	(revision 32134)
+++ 	(revision )
@@ -1,122 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<xsl:stylesheet version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:java="http://xml.apache.org/xslt/java"
-  xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
-  extension-element-prefixes="java util"
-  exclude-result-prefixes="java util">
- 
-  <!-- some global parameters - these are set by whoever is invoking the transformation -->
-  <xsl:param name="interface_name"/>
-
-  <!-- Display the appropriate image, depending on the node type -->
-  <xsl:template match="documentNode" mode="displayNodeIcon">
-    
-    <!-- Root node: book icon (open or closed) -->
-    <xsl:choose>
-      <xsl:when test="@nodeType='root'">
-	<xsl:choose>
-	  <xsl:when test="documentNode">
-	    <xsl:call-template name="openbookimg">
-	      <xsl:with-param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'close_book')"/></xsl:with-param>
-	    </xsl:call-template>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:call-template name="closedbookimg">
-	      <xsl:with-param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'open_book')"/></xsl:with-param>
-	    </xsl:call-template>
-	  </xsl:otherwise>
-	</xsl:choose>
-      </xsl:when>
-      
-      <!-- Internal node: folder icon (open or closed) -->
-      <xsl:when test="@nodeType='internal'">
-	<xsl:choose>
-	  <xsl:when test="documentNode">
-	    <xsl:call-template name="openfolderimg">
-	      <xsl:with-param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'close_folder')"/></xsl:with-param>
-	    </xsl:call-template>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:call-template name="closedfolderimg">
-	      <xsl:with-param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'open_folder')"/></xsl:with-param>
-	    </xsl:call-template>
-	  </xsl:otherwise>
-	</xsl:choose>
-      </xsl:when>
-      
-      <!-- Leaf node: page icon, and this is the default -->
-      <xsl:otherwise>
-	<xsl:call-template name="textpageimg">
-	  <xsl:with-param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'view_document')"/></xsl:with-param>
-	</xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <xsl:template name="openbookimg">
-    <xsl:param name="alt"/>
-    <xsl:param name="title"/>
-    <img  border="0" width="28" height="23"
-      src="interfaces/basic/images/openbook.gif"
-      alt="{$alt}" title="{$title}"/>
-  </xsl:template>
-
-  <xsl:template name="closedbookimg">
-    <xsl:param name="alt"/>
-    <xsl:param name="title"/>
-    <img border="0" width="18" height="11"
-      src="interfaces/basic/images/book.gif"
-      alt="{$alt}" title="{$title}"/>
-  </xsl:template>
-
-  <xsl:template name="openfolderimg">
-    <xsl:param name="alt"/>
-    <xsl:param name="title"/>
-    <img border="0" width="23" height="15"
-      src="interfaces/basic/images/openfldr.gif"
-      alt="{$alt}" title="{$title}"/>
-  </xsl:template>
-
-  <xsl:template name="closedfolderimg">
-    <xsl:param name="alt"/>
-    <xsl:param name="title"/>
-    <img  border="0" width="23" height="15"
-      src="interfaces/basic/images/clsdfldr.gif"
-      alt="{$alt}" title="{$title}"/>
-  </xsl:template>
-
-  <xsl:template name="textpageimg">
-    <xsl:param name="alt"/>
-    <xsl:param name="title"/>
-    <img  border="0" width="16" height="21"
-      src="interfaces/basic/images/itext.gif"
-      alt="{$alt}" title="{$title}"/>
-  </xsl:template>
-
-  <xsl:template name="bookshelfimg">
-    <xsl:param name="alt"/>
-    <xsl:param name="title"/>
-    <img  border="0" width="20" height="16"
-      src="interfaces/basic/images/bshelf.gif"  
-      alt="{$alt}" title="{$title}"/>
-  </xsl:template>
-
-  <xsl:template name="iconpdf">
-    <xsl:param name="alt">PDF</xsl:param>
-    <xsl:param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'texticonpdf')"/></xsl:param>
-    <img border="0" width='26' height='26' 
-      src='interfaces/basic/images/ipdf.gif' 
-      alt='{$alt}' title='{$title}'/>
-  </xsl:template>
-  
-  <xsl:template name="icondoc">
-    <xsl:param name="alt">Word</xsl:param>
-    <xsl:param name="title"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'texticonmsword')"/></xsl:param>
-    <img border="0" width='26' height='26' 
-      src='interfaces/basic/images/imsword.gif' 
-      alt='{$alt}' title='{$title}'/>
-  </xsl:template>
-
-</xsl:stylesheet>
-
Index: main/trunk/greenstone3/web/interfaces/default/transform/pages/home.xsl
===================================================================
--- main/trunk/greenstone3/web/interfaces/default/transform/pages/home.xsl	(revision 32134)
+++ main/trunk/greenstone3/web/interfaces/default/transform/pages/home.xsl	(revision 32150)
@@ -59,5 +59,5 @@
 		
 		<xsl:for-each select="serviceList/service[@type='authen']">
-			<!--<gslib:libraryInterfaceLink/><br/>-->
+			<!--<gslib:libraryInterfaceLink/><br/><br/>-->
 			<gslib:authenticationLink/><br/><br/>
 			<gslib:registerLink/><br/>
Index: main/trunk/greenstone3/web/interfaces/default/transform/style.xsl
===================================================================
--- main/trunk/greenstone3/web/interfaces/default/transform/style.xsl	(revision 32134)
+++ 	(revision )
@@ -1,275 +1,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<xsl:stylesheet version="1.0"
-  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-  xmlns:java="http://xml.apache.org/xslt/java"
-  xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
-  xmlns:gslib="http://www.greenstone.org/skinning"
-  extension-element-prefixes="java util"
-  exclude-result-prefixes="java util">
-  
-  <xsl:include href="icons.xsl"/>
-
-  <!-- some global parameters - these are set by whoever is invoking the transformation -->
-  <xsl:param name="interface_name"/>
-  <xsl:param name="library_name"/>
-
-  <!-- any global style stuff should go in here -->
-  <xsl:template name="response">
-    <xsl:apply-templates select="pageResponse"/>
-    <xsl:if test="descendant::error">
-      <script language="Javascript">
-	<xsl:text disable-output-escaping="yes">
-	  function removeAllChildren(node) {
-	    while (node.hasChildNodes()) {
-	      node.removeChild(node.firstChild);
-	    }
-	  }
-
-	  function toggleHideError(obj) {
-	    if (obj.style.display == "none") {
-	      obj.style.display = "";
-	      hide_link = document.getElementById("hide");
-	      removeAllChildren(hide_link);
-	      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">"));
-	    } else {
-	      obj.style.display = "none";
-	      hide_link = document.getElementById("hide");
-	      removeAllChildren(hide_link);
-	      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">"));
-	    } 
-	  }
-	</xsl:text>
-      </script>
-      <p align='right'><a id="hide" href="javascript:toggleHideError(error);"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'show_error')"/></a></p>
-      <div id="error" style="display: none;">
-	<xsl:apply-templates select="descendant::error"/>
-      </div>
-    </xsl:if>
-  </xsl:template>
-
-  <xsl:template name="globalStyle">
-    <link rel="stylesheet" href="interfaces/default/style/core.css" type="text/css"/>
-    <!--<link rel="stylesheet" href="interfaces/gs2/style/gs2-style2.css" type="text/css"/>-->
-  </xsl:template>
-  
-  <xsl:template name="genericPageBanner">
-    <xsl:param name='text'/>
-    <xsl:variable name="lang" select="/page/@lang"/>
-    <center>
-      <table width="100%">
-	<tr><td align="left"></td>
-	  <td align="right">
-	    <table>
-	      <tr><td class="gsbutton">
-		  <a class="gsbutton" href="{$library_name}?a=p&amp;sa=home">
-		    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/>
-		  </a>
-		</td></tr></table>
-	  </td>
-	</tr>
-      </table>
-    </center>
-    <xsl:call-template name="dividerBar"><xsl:with-param name='text' select="$text"/></xsl:call-template>
-  </xsl:template>
-  
-  <xsl:template name="standardPageBanner">
-    <xsl:param name="collName"/>
-    <xsl:param name="pageType"/>
-    <xsl:param name="clTop"/>
-    <xsl:variable name="this-element" select="/page/pageResponse/collection"/>
-    <div id="banner">
-      <div class="pageinfo"> 
-	<xsl:call-template name="top-buttons">
-	  <xsl:with-param name="collName" select="$collName"/>
-	  <xsl:with-param name="pageType" select="$pageType"/>
-	</xsl:call-template>
-	<xsl:if test="not(/page/pageRequest/@action='d')">
-	  <xsl:variable name="text">
-	    <xsl:choose>
-	      <xsl:when test="$pageType='browse'">
-		<xsl:value-of select="/page/pageResponse/collection/serviceList/service[@name='ClassifierBrowse']/classifierList/classifier[@name=$clTop]/displayItem[@name='name']"/>
-	      </xsl:when>
-	      <xsl:otherwise>
-		<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, concat($pageType, '_t'))"/>
-	      </xsl:otherwise>
-	    </xsl:choose>
-	  </xsl:variable>
-	  <xsl:if test="$text != '__t_'">
-	    <p class="bannertitle"><xsl:value-of select="$text"/></p>
-	  </xsl:if>
-	</xsl:if>
-      </div>
-
-      <div class="collectimage">
-	<a href="{$library_name}?a=p&amp;sa=about&amp;c={$collName}">
-	  <xsl:choose>
-	    <xsl:when test="$this-element/displayItem[@name='icon']">
-	      <img border="0">
-		<xsl:attribute name="src">
-		  <xsl:value-of select="$this-element/metadataList/metadata[@name='httpPath']"/>/images/<xsl:value-of select="$this-element/displayItem[@name='icon']"/>
-		</xsl:attribute>	
-		<xsl:attribute name="alt">
-		  <xsl:value-of select="$this-element/displayItem[@name='name']"/>
-		</xsl:attribute>
-		<xsl:attribute name="title">
-		  <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'aboutpage')"/>
-		</xsl:attribute>
-	      </img>
-	    </xsl:when>
-	    <xsl:otherwise>
-	      <b><xsl:value-of select="$this-element/displayItem[@name='name']"/></b>
-	    </xsl:otherwise>
-	  </xsl:choose>
-	</a>
-      </div>
-    </div>
-    <div class="bannerextra"></div>	
-  </xsl:template>
-  
-  <xsl:template name="top-buttons">
-    <xsl:param name="collName"/>
-    <xsl:param name="pageType"/>
-    <p class="bannerlinks">
-      <a class="navlink" 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>
-	<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'home_b')"/>
-      </a>
-      <!--<xsl:choose>
-        <xsl:when test="$pageType='help'">
-	  <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
-	</xsl:when>
-	<xsl:otherwise>
-	  <a class="navlink" 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>
-	    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'help_b')"/>
-	  </a>
-	</xsl:otherwise>
-      </xsl:choose> -->
-      <xsl:choose>
-	<xsl:when test="$pageType='pref'">
-	  <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
-	</xsl:when>
-	<xsl:otherwise>
-	  <a class="navlink" 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>
-	    <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref_b')"/>
-	  </a>
-	</xsl:otherwise>
-      </xsl:choose>      
-    </p>
-  </xsl:template>
-  
-  <xsl:template name="navigationBar">
-    <xsl:param name="collName"/>
-    <xsl:param name="clTop"/>
-    <xsl:variable name="this-element" select="/page/pageResponse/collection"/>
-    <xsl:variable name="this-service" select="/page/pageResponse/service/@name"/>
-    <xsl:variable name="classifiers" select="$this-element/serviceList/service[@name='ClassifierBrowse']/classifierList[1]"/>
-
-    <!-- display order, for Arabic etc. languages, display right to left -->
-    <xsl:variable name="dir"><xsl:call-template name="direction"/></xsl:variable>
-    <xsl:variable name="sort_order"><xsl:choose><xsl:when test="$dir='rtl'">descending</xsl:when><xsl:otherwise>ascending</xsl:otherwise></xsl:choose></xsl:variable>	    
-
-    <div class="navbar">
-      <p class="navbar">
-	<xsl:choose>
-	  <xsl:when test="not($dir='rtl')">
-	    <xsl:if test="$this-element/serviceList/service[@type='query']">
-	      <xsl:call-template name="navbar-search"><xsl:with-param name="collName" select="$collName"/></xsl:call-template>
-	    </xsl:if>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:if test="$this-element/serviceList/service[@name='PhindApplet']">
-	      <xsl:call-template name="navbar-phind"><xsl:with-param name="collName" select="$collName"/></xsl:call-template>
-	    </xsl:if>
-	  </xsl:otherwise>
-	</xsl:choose>
-
-	<xsl:for-each select="$classifiers/classifier">
-	  <xsl:sort order="{$sort_order}" select="position()" />
-	  <xsl:apply-templates select="." mode="navbar">
-	    <xsl:with-param name="collName" select="$collName"/>
-	    <xsl:with-param name="clTop" select="$clTop"/>
-	  </xsl:apply-templates>
-	</xsl:for-each>
-	
-	<xsl:choose>	
-	  <xsl:when test="$dir='rtl'">
-	    <xsl:if test="$this-element/serviceList/service[@type='query']">
-	      <xsl:call-template name="navbar-search"><xsl:with-param name="collName" select="$collName"/></xsl:call-template>
-	    </xsl:if>
-	  </xsl:when>
-	  <xsl:otherwise>
-	    <xsl:if test="$this-element/serviceList/service[@name='PhindApplet']">
-	      <xsl:call-template name="navbar-phind"><xsl:with-param name="collName" select="$collName"/></xsl:call-template>
-	    </xsl:if>
-	  </xsl:otherwise>
-	</xsl:choose>
-      </p>
-    </div> 
-  </xsl:template>
-
-  <xsl:template name="navbar-search">
-    <xsl:param name="collName"/>
-    <xsl:choose>
-      <xsl:when test="/page/pageRequest/@action='q'">	  
-	<span class="narspace">search</span>
-      </xsl:when>
-      <xsl:otherwise>
-	<xsl:variable name="service">
-	  <xsl:choose>
-	    <xsl:when  test="not(/page/pageRequest/paramList/param[@name='ct'])">TextQuery</xsl:when>
-	    <xsl:when test="/page/pageRequest/paramList/param[@name='ct']/@value='0'">TextQuery</xsl:when>
-	    <xsl:when test="/page/pageRequest/paramList/param[@name='qt']/@value='1'"><xsl:choose><xsl:when test="/page/pageRequest/paramList/param[@name='qfm']/@value='1'">AdvancedFieldQuery</xsl:when><xsl:otherwise>FieldQuery</xsl:otherwise></xsl:choose></xsl:when>
-	    <xsl:otherwise>TextQuery</xsl:otherwise>
-	  </xsl:choose>
-	</xsl:variable>
-	<a class="navlink" href="{$library_name}?a=q&amp;rt=d&amp;s={$service}&amp;c={$collName}"><xsl:attribute name='title'><xsl:value-of select="/page/pageResponse/collection/service[@name=$service]/displayItem[@name='description']"/></xsl:attribute>search</a>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-  
-  <xsl:template name="navbar-phind">
-    <xsl:param name="collName"/>
-    <xsl:choose>
-      <xsl:when test="/page/pageRequest/paramList/param[@name='s']/@value='PhindApplet'">
-	<span class="narspace">phrases</span>
-      </xsl:when>
-      <xsl:otherwise>
-	<a class="navlink" href="{$library_name}?a=a&amp;rt=d&amp;s=PhindApplet&amp;c={$collName}"><xsl:if test="/page/pageResponse/collection/service[@name='PhindApplet']/displayItem[@name='description']"><xsl:attribute name='title'><xsl:value-of select="/page/pageResponse/collection/service[@name='PhindApplet']/displayItem[@name='description']"/></xsl:attribute></xsl:if>phrases</a>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <xsl:template match="classifier" mode="navbar">
-    <xsl:param name="collName"/>
-    <xsl:param name="clTop"/>
-    <xsl:choose>
-      <xsl:when test="/page/pageRequest/@action='b' and $clTop=@name">
-	<span class="narspace"><xsl:value-of select="displayItem[@name='name']"/></span>
-      </xsl:when>
-      <xsl:otherwise>
-	<a class="navlink" href="{$library_name}?a=b&amp;rt=r&amp;s=ClassifierBrowse&amp;c={$collName}&amp;cl={@name}"><xsl:attribute name='title'><xsl:value-of select="displayItem[@name='description']"/></xsl:attribute><xsl:value-of select="displayItem[@name='name']"/></a>
-      </xsl:otherwise>
-    </xsl:choose>
-  </xsl:template>
-
-  <xsl:template name="dividerBar">   
-    <xsl:param name='text'/>
-    <xsl:choose>
-      <xsl:when test="$text">
-	<div class="divbar"><p class="navbar"><xsl:value-of select="$text"/></p></div>
-      </xsl:when>
-      <xsl:otherwise>
-	<div class="divbar"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></div>
-      </xsl:otherwise>
-    </xsl:choose> 
-  </xsl:template>
-  
-  <xsl:template name="greenstoneFooter">
-    <div class="divbar"><p class="navbar">powered by greenstone3</p>
-    </div>
-  </xsl:template>  
-
-  <xsl:template name="direction">
-    <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>
-  </xsl:template>
-
-</xsl:stylesheet>  
