- Timestamp:
- 2012-10-25T15:53:59+13:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/transform/pages/query.xsl
r26372 r26400 156 156 </xsl:for-each> 157 157 </xsl:template> 158 158 159 <xsl:template name="displayMatchDocs"> 159 160 <div id="matchdocs"> 160 161 <xsl:variable name="numDocsMatched" select="/page/pageResponse/metadataList/metadata[@name='numDocsMatched']"/> 161 <xsl:variable name="numDocsReturned" select="/page/pageResponse/metadataList/metadata[@name='numDocsReturned']"/> 162 <xsl:variable name="numDocsReturned"><xsl:call-template name="numDocsReturned"/></xsl:variable> <!-- select="/page/pageResponse/metadataList/metadata[@name='numDocsReturned']"/>--> 163 <xsl:variable name="docLevel"><xsl:call-template name="documentLevel"/></xsl:variable> 164 <xsl:variable name="docLevelText"><xsl:call-template name="documentLevelText"><xsl:with-param name="numDocsMatched" select="$numDocsMatched"/><xsl:with-param name="level" select="$docLevelText"/></xsl:call-template></xsl:variable> 162 165 <xsl:choose> 163 166 <xsl:when test="$numDocsMatched='0' or $numDocsReturned='0'"> 164 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.nodocsmatch' )"/>167 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.nodocsmatch', $docLevelText)"/> 165 168 </xsl:when> 166 169 <xsl:when test="$numDocsMatched='1' or $numDocsReturned='1'"> 167 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.onedocsmatch' )"/>170 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.onedocsmatch', $docLevelText)"/> 168 171 </xsl:when> 169 172 <xsl:when test="$numDocsMatched"> 170 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.manydocsmatch', $numDocsMatched)"/>171 <xsl:if test="$numDocsReturned and not($numDocsMatched=$numDocsReturned)"> (<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.docsreturned', $numDocsReturned)"/>)</xsl:if>173 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.manydocsmatch', concat($numDocsMatched, ';', $docLevelText))"/> 174 <xsl:if test="$numDocsReturned and not($numDocsMatched=$numDocsReturned)"> (<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.docsreturned', concat($numDocsReturned, ';', $docLevelText))"/>)</xsl:if> 172 175 </xsl:when> 173 176 <xsl:when test="$numDocsReturned"> 174 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.atleastdocsmatch', $numDocsReturned)"/>177 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.atleastdocsmatch', concat($numDocsReturned, ';', $docLevelText))"/> 175 178 </xsl:when> 176 179 </xsl:choose> 177 180 </div> 178 181 179 182 </xsl:template> 183 184 <xsl:template name="numDocsMatched"> 185 <xsl:choose> 186 <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsMatched']"> 187 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsMatched']"/> 188 </xsl:when> 189 <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"> 190 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"/> 191 </xsl:when> 192 <xsl:otherwise><xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/></xsl:otherwise> 193 </xsl:choose> 194 </xsl:template> 195 196 <xsl:template name="numDocsReturned"> 197 <xsl:choose> 198 <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"> 199 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"/> 200 </xsl:when> 201 <xsl:otherwise><xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/></xsl:otherwise> 202 </xsl:choose> 203 </xsl:template> 204 205 <xsl:template name="documentLevel"> 206 <xsl:choose> 207 <xsl:when test="/page/pageRequest/paramList/param[@name='level']"> 208 <xsl:value-of select="/page/pageRequest/paramList/param[@name='level']/@value" /> 209 </xsl:when> 210 <xsl:when test="/page/pageRequest/paramList/param[@name='s1.level']"> 211 <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.level']/@value" /> 212 </xsl:when> 213 <xsl:otherwise>Doc</xsl:otherwise> 214 </xsl:choose> 215 </xsl:template> 216 217 <xsl:template name="documentLevelText"> 218 <xsl:param name="numDocsMatched">0</xsl:param> 219 <xsl:param name="level">Doc</xsl:param> 220 <xsl:choose> 221 <xsl:when test="$numDocsMatched = 1"> 222 <xsl:choose> 223 <xsl:when test="$level = 'Doc'"> 224 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.document')"/> 225 </xsl:when> 226 <xsl:otherwise> 227 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.section')"/> 228 </xsl:otherwise> 229 </xsl:choose> 230 </xsl:when> 231 <!-- 0 or more than one use plural. is that the case for all langs??--> 232 <xsl:otherwise> 233 <xsl:choose> 234 <xsl:when test="$level = 'Doc'"> 235 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.document_plural')"/> 236 </xsl:when> 237 <xsl:otherwise> 238 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.section_plural')"/> 239 </xsl:otherwise> 240 </xsl:choose> 241 </xsl:otherwise> 242 </xsl:choose> 243 </xsl:template> 244 180 245 <xsl:template name="displayTermInfo"> 181 <!-- Find the total number of documents returned -->182 <xsl:variable name="docMax">183 <xsl:choose>184 <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']">185 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsReturned']"/>186 </xsl:when>187 <xsl:when test="/page/pageResponse/metadataList/metadata[@name = 'numDocsMatched']">188 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name = 'numDocsMatched']"/>189 </xsl:when>190 <xsl:otherwise><xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/></xsl:otherwise>191 </xsl:choose>192 </xsl:variable>193 246 194 247 <!-- Find the number of documents displayed per page --> 195 <xsl:variable name="level"> 196 <xsl:choose> 197 <xsl:when test="/page/pageRequest/paramList/param[@name='level']"> 198 <xsl:value-of select="/page/pageRequest/paramList/param[@name='level']/@value" /> 199 </xsl:when> 200 <xsl:when test="/page/pageRequest/paramList/param[@name='s1.level']"> 201 <xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.level']/@value" /> 202 </xsl:when> 203 <xsl:otherwise>Doc</xsl:otherwise> 204 </xsl:choose> 205 </xsl:variable> 248 <xsl:variable name="level"><xsl:call-template name="documentLevel"/></xsl:variable> 206 249 207 250 <!-- The list of search terms with their frequency and document count --> … … 215 258 </xsl:if> 216 259 217 <xsl:for-each select="/page/pageResponse/termList/term"> 218 <xsl:choose> 219 <!-- If there is only one or two search terms then show the expanded information --> 220 <xsl:when test="count(/page/pageResponse/termList/term) < 3"> 221 <span class="termInfo"> 222 <span style="font-style:italic;"><xsl:value-of select="@name"/></span> 223 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.occurs')"/><xsl:text> </xsl:text> 224 <xsl:choose> 225 <xsl:when test="@freq = 1"> 226 <xsl:value-of select="@freq"/> 227 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.time')"/> 228 </xsl:when> 229 <xsl:otherwise> 230 <xsl:value-of select="@freq"/> 231 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.time_plural')"/> 232 </xsl:otherwise> 233 </xsl:choose> 234 <!--<xsl:if test="not(not(@numDocsMatch) or @numDocsMatch = '')">--> 235 <xsl:if test="@numDocsMatch > 0"> 236 <xsl:text> </xsl:text><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.in')"/><xsl:text> </xsl:text> 237 <xsl:value-of select="@numDocsMatch"/> 238 <xsl:choose> 239 <xsl:when test="@numDocsMatch = 1"> 240 <xsl:text> </xsl:text> 241 <xsl:choose> 242 <xsl:when test="$level = 'Doc'"> 243 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.document')"/> 244 </xsl:when> 245 <xsl:otherwise> 246 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.section')"/> 247 </xsl:otherwise> 248 </xsl:choose> 249 </xsl:when> 250 <xsl:when test="@numDocsMatch > 1"> 251 <xsl:text> </xsl:text> 252 <xsl:choose> 253 <xsl:when test="$level = 'Doc'"> 254 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.document_plural')"/> 255 </xsl:when> 256 <xsl:otherwise> 257 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.section_plural')"/> 258 </xsl:otherwise> 259 </xsl:choose> 260 </xsl:when> 261 </xsl:choose> 262 </xsl:if> 263 <br /> 264 </span> 265 </xsl:when> 266 <xsl:otherwise> 267 <span style="font-style:italic;"><xsl:value-of select="@name"/></span> (<xsl:value-of select="@freq"/>) 268 </xsl:otherwise> 269 </xsl:choose> 270 </xsl:for-each> 271 </p> 260 <!-- If there is only one or two search terms then show the expanded information --><xsl:choose> 261 <xsl:when test="count(/page/pageResponse/termList/term) < 3"> 262 <xsl:for-each select="/page/pageResponse/termList/term"> 263 <xsl:variable name="occursTextKey"> 264 <xsl:choose> 265 <xsl:when test="@freq = 1">query.termoccurs.1.1</xsl:when> 266 <xsl:when test="@numDocsMatch = 1">query.termoccurs.x.1</xsl:when> 267 <xsl:otherwise>query.termoccurs.x.x</xsl:otherwise></xsl:choose></xsl:variable> 268 <xsl:variable name="levelText"><xsl:call-template name="documentLevelText"><xsl:with-param name="level" select="$level"/><xsl:with-param name="numDocsMatched" select="@numDocsMatch"/></xsl:call-template></xsl:variable> 269 <span class="termInfo"> 270 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, $occursTextKey, concat(@name,';', @freq,';', @numDocsMatch,';', $levelText))"/></span><br/> 271 </xsl:for-each> 272 </xsl:when> 273 <xsl:otherwise> 274 <xsl:for-each select="/page/pageResponse/termList/term"> 275 <span style="font-style:italic;"><xsl:value-of select="@name"/></span> (<xsl:value-of select="@freq"/>) 276 </xsl:for-each> 277 </xsl:otherwise> 278 </xsl:choose> 279 </p> 272 280 </xsl:template> 273 281
Note:
See TracChangeset
for help on using the changeset viewer.