source: main/trunk/greenstone3/web/interfaces/oran/transform/pages/classifier.xsl@ 25685

Last change on this file since 25685 was 25685, checked in by sjm84, 12 years ago

Removed an obsolete part of the fallback classifierNode template

File size: 6.8 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 xmlns:gslib="http://www.greenstone.org/skinning"
7 xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
8 extension-element-prefixes="java util"
9 exclude-result-prefixes="java util gsf">
10
11 <!-- use the 'main' layout -->
12 <xsl:import href="layouts/main.xsl"/>
13 <xsl:import href="classifiertools.xsl"/>
14
15 <!-- set page title -->
16 <xsl:template name="pageTitle"><gslib:serviceName/></xsl:template>
17
18 <!-- set page breadcrumbs -->
19 <xsl:template name="breadcrumbs"><gslib:siteLink/><gslib:rightArrow/><gslib:collectionNameLinked/><gslib:rightArrow/></xsl:template>
20
21 <!-- the page content -->
22 <xsl:template match="/page/pageResponse">
23 <xsl:call-template name="classifierPre"/>
24
25 <script type="text/javascript" src="interfaces/{$interface_name}/js/classifier_scripts.js"><xsl:text> </xsl:text></script>
26 <script type="text/javascript">$(window).load(openStoredClassifiers);</script>
27
28 <!-- this right sidebar -->
29 <xsl:if test="$berryBasketOn or ($documentBasketOn and (util:contains(/page/pageRequest/userInformation/@groups, 'administrator') or util:contains(/page/pageRequest/userInformation/@groups, 'all-collections-editor') or util:contains(/page/pageRequest/userInformation/@groups, $thisCollectionEditor)))">
30 <div id="rightSidebar">
31 <xsl:if test="$berryBasketOn">
32 <!-- show the berry basket if it's turned on -->
33 <gslib:berryBasket/>
34 <xsl:text> </xsl:text>
35 </xsl:if>
36
37 <xsl:if test="$documentBasketOn">
38 <gslib:documentBasket/>
39 <xsl:text> </xsl:text>
40 </xsl:if>
41 </div>
42 </xsl:if>
43
44 <!--
45 show the clasifier results -
46 you can change the appearance of the results by editing
47 the two templates at the bottom of this file
48 -->
49 <div id="results">
50 <xsl:variable name="collName"><xsl:value-of select="/page/pageRequest/paramList/param[@name='c']/@value"/></xsl:variable>
51 <xsl:variable name="serviceName"><xsl:value-of select="service/@name"/></xsl:variable>
52
53 <xsl:call-template name="classifierResultsPre"/>
54
55 <xsl:apply-templates select="classifier">
56 <xsl:with-param name="collName" select="$collName"/>
57 <xsl:with-param name="serviceName" select="$serviceName"/>
58 </xsl:apply-templates>
59 </div>
60
61 <div class="clear"><xsl:text> </xsl:text></div>
62 </xsl:template>
63
64 <!--
65 TEMPLATE FOR DOCUMENTS
66 -->
67 <xsl:template match="documentNode"><!-- priority="3"-->
68 <!-- The book icon -->
69 <td>
70 <img>
71 <xsl:attribute name="src">
72 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'book_image')"/>
73 </xsl:attribute>
74 </img>
75 </td>
76 <!-- The document link -->
77 <td>
78 <a>
79 <xsl:choose>
80 <xsl:when test="@docType = 'paged'">
81 <xsl:attribute name="href"><xsl:value-of select="$library_name"/>?a=d&amp;c=<xsl:value-of select="/page/pageResponse/collection/@name"/>&amp;d=<xsl:value-of select="@nodeID"/>&amp;dt=<xsl:value-of select="@docType"/>&amp;p.a=b&amp;p.s=<xsl:value-of select="/page/pageResponse/service/@name"/></xsl:attribute>
82 </xsl:when>
83 <xsl:otherwise>
84 <xsl:attribute name="href"><xsl:value-of select="$library_name"/>?a=d&amp;c=<xsl:value-of select="/page/pageResponse/collection/@name"/>&amp;d=<xsl:value-of select="@nodeID"/>&amp;dt=<xsl:value-of select="@docType"/>&amp;p.a=b&amp;p.s=<xsl:value-of select="/page/pageResponse/service/@name"/>&amp;ed=1</xsl:attribute>
85 </xsl:otherwise>
86 </xsl:choose>
87 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/>
88 </a>
89 </td>
90 <!-- The berry (optional) -->
91 <td>
92 <xsl:call-template name="documentBerryForClassifierOrSearchPage"/>
93 </td>
94 </xsl:template>
95
96 <!--
97 TEMPLATE FOR GROUPS OF DOCUMENTS
98 -->
99 <xsl:template match="classifierNode"><!-- priority="3"-->
100
101 <table id="title{@nodeID}"><tbody><tr>
102 <!-- Bookshelf icon -->
103 <td>
104 <img>
105 <xsl:attribute name="src"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'bookshelf_image')"/></xsl:attribute>
106 </img>
107 </td>
108 <!-- Link title -->
109 <td>
110 <a href="javascript:toggleSection('{@nodeID}');">
111 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/>
112 </a>
113 </td>
114 </tr></tbody></table>
115
116 <!-- Show any documents or sub-groups in this group -->
117 <xsl:if test="documentNode|classifierNode">
118 <div id="div{@nodeID}" class="classifierContainer">
119 <table>
120 <xsl:for-each select="documentNode|classifierNode">
121 <tr>
122 <xsl:apply-templates select="."/>
123 </tr>
124 </xsl:for-each>
125 </table>
126 </div>
127 </xsl:if>
128 </xsl:template>
129
130 <xsl:template name="classifierPre">
131 <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'">
132 <xsl:call-template name="mapFeaturesJSONNodes"/>
133 </xsl:if>
134 </xsl:template>
135
136 <xsl:template name="classifierResultsPre">
137 <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'">
138 <xsl:call-template name="mapFeaturesMap"/>
139 </xsl:if>
140 </xsl:template>
141
142 <xsl:template name="mapFeaturesJSONNodes">
143 <div id="jsonNodes" style="display:none;">
144 <xsl:text>[</xsl:text>
145 <xsl:for-each select="//documentNode">
146 <xsl:if test="metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']">
147 <xsl:text>{</xsl:text>
148 <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">",</xsl:text>
149 <xsl:text disable-output-escaping="yes">"title":"</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Title']"/><xsl:text disable-output-escaping="yes">",</xsl:text>
150 <xsl:text disable-output-escaping="yes">"lat":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Latitude']"/><xsl:text>,</xsl:text>
151 <xsl:text disable-output-escaping="yes">"lng":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Longitude']"/>
152 <xsl:text>}</xsl:text>
153 <xsl:if test="not(position() = count(//documentNode))">
154 <xsl:text>,</xsl:text>
155 </xsl:if>
156 </xsl:if>
157 </xsl:for-each>
158 <xsl:text>]</xsl:text>
159 </div>
160
161 <!-- Although these aren't visible, they are necessary because it forces Greenstone to include this metadata in the page xml -->
162 <gsf:metadata name="Latitude"/>
163 <gsf:metadata name="Longitude"/>
164 </xsl:template>
165
166 <xsl:template name="mapFeaturesMap">
167 <div id="map_canvas" class="map_canvas_half"><xsl:text> </xsl:text></div>
168 </xsl:template>
169</xsl:stylesheet>
170
Note: See TracBrowser for help on using the repository browser.