- Timestamp:
- 2009-01-06T14:26:10+13:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
greenstone3/trunk/web/interfaces/default/transform/querytools.xsl
r13505 r18316 10 10 <xsl:template name="resultNavigation"> 11 11 <xsl:param name="collName"/> 12 <div class="resultnavigation"> 13 <!-- hits type --> 14 <xsl:variable name='ht'> 15 <xsl:choose> 16 <xsl:when test="/page/pageResponse/service/paramList/param[@name='hitsPerPage']">s</xsl:when> 17 <xsl:otherwise>i</xsl:otherwise> 18 </xsl:choose> 19 </xsl:variable> 20 21 <xsl:variable name="param-list" select="/page/pageRequest/paramList"/> 22 <!-- hits per page --> 23 <xsl:variable name="hpp"> 24 <xsl:choose> 25 <xsl:when test="$ht='s'"><xsl:value-of select="$param-list/param[@name='s1.hitsPerPage']/@value"/></xsl:when> 26 <xsl:when test="$param-list/param[@name='hitsPerPage']"><xsl:value-of select="$param-list/param[@name='hitsPerPage']/@value"/></xsl:when> 27 <xsl:otherwise>20</xsl:otherwise> 28 </xsl:choose> 29 </xsl:variable> 30 <!-- total docs - this may be in numDocsMatched or numDocsReturned metadata --> 31 <xsl:variable name="td"> 32 <xsl:choose> 33 <xsl:when test="/page/pageResponse/metadataList/metadata[@name='numDocsReturned']"> 34 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name='numDocsReturned']"/> 35 </xsl:when> 36 <xsl:when test="/page/pageResponse/metadataList/metadata[@name='numDocsMatched']"> 37 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name='numDocsMatched']"/> 38 </xsl:when> 39 <xsl:otherwise> <!-- this is just a fall back - shoudl always have the metadata --> 40 <xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/> 41 </xsl:otherwise> 42 </xsl:choose> 43 </xsl:variable> 44 45 <!-- only continue if hpp != -1 and td > hpp --> 46 <xsl:if test="not($hpp=-1) and $td > $hpp"> 47 <!-- start page --> 48 <xsl:variable name="here"> 12 <div class="resultnavigation"> 13 <!-- hits type --> 14 <xsl:variable name='ht'> 49 15 <xsl:choose> 50 <xsl:when test="$ht='s'"><xsl:value-of select="$param-list/param[@name='s1.startPage']/@value"/></xsl:when> 51 <xsl:when test="$param-list/param[@name='startPage']"><xsl:value-of select="$param-list/param[@name='startPage']/@value"/></xsl:when> 52 <xsl:otherwise>1</xsl:otherwise> 16 <xsl:when test="/page/pageResponse/service/paramList/param[@name='hitsPerPage']">s</xsl:when> 17 <xsl:otherwise>i</xsl:otherwise> 53 18 </xsl:choose> 54 19 </xsl:variable> 55 <xsl:variable name="sa" select="/page/pageRequest/@subaction"/> 56 <xsl:variable name="service" select="$param-list/param[@name='s']/@value"/> 57 <xsl:variable name="prev" select="$here - 1"/> 58 <xsl:variable name="next" select="$here + 1"/> 59 <xsl:variable name="page-param"><xsl:if test="$ht='s'">s1.</xsl:if>startPage</xsl:variable> 60 61 <div> 20 21 <xsl:variable name="param-list" select="/page/pageRequest/paramList"/> 22 <!-- hits per page --> 23 <xsl:variable name="hpp"> 24 <xsl:choose> 25 <xsl:when test="$ht='s'"><xsl:value-of select="$param-list/param[@name='s1.hitsPerPage']/@value"/></xsl:when> 26 <xsl:when test="$param-list/param[@name='hitsPerPage']"><xsl:value-of select="$param-list/param[@name='hitsPerPage']/@value"/></xsl:when> 27 <xsl:otherwise>20</xsl:otherwise> 28 </xsl:choose> 29 </xsl:variable> 30 <!-- total docs - this may be in numDocsMatched or numDocsReturned metadata --> 31 <xsl:variable name="td"> 32 <xsl:choose> 33 <xsl:when test="/page/pageResponse/metadataList/metadata[@name='numDocsReturned']"> 34 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name='numDocsReturned']"/> 35 </xsl:when> 36 <xsl:when test="/page/pageResponse/metadataList/metadata[@name='numDocsMatched']"> 37 <xsl:value-of select="/page/pageResponse/metadataList/metadata[@name='numDocsMatched']"/> 38 </xsl:when> 39 <xsl:otherwise> <!-- this is just a fall back - should always have the metadata --> 40 <xsl:value-of select="count(/page/pageResponse/documentNodeList/documentNode)"/> 41 </xsl:otherwise> 42 </xsl:choose> 43 </xsl:variable> 44 45 <!-- only continue if hpp != -1 and td > hpp --> 46 <xsl:if test="not($hpp=-1) and $td > $hpp"> 47 <!-- start page --> 48 <xsl:variable name="here"> 49 <xsl:choose> 50 <xsl:when test="$ht='s'"><xsl:value-of select="$param-list/param[@name='s1.startPage']/@value"/></xsl:when> 51 <xsl:when test="$param-list/param[@name='startPage']"><xsl:value-of select="$param-list/param[@name='startPage']/@value"/></xsl:when> 52 <xsl:otherwise>1</xsl:otherwise> 53 </xsl:choose> 54 </xsl:variable> 55 <xsl:variable name="sa" select="/page/pageRequest/@subaction"/> 56 <xsl:variable name="service" select="$param-list/param[@name='s']/@value"/> 57 <xsl:variable name="prev" select="$here - 1"/> 58 <xsl:variable name="next" select="$here + 1"/> 59 <xsl:variable name="page-param"><xsl:if test="$ht='s'">s1.</xsl:if>startPage</xsl:variable> 60 61 <div> 62 62 <div> 63 64 65 66 67 68 69 63 <xsl:if test="$here > 1"><a href="{$library_name}?a=q&sa={$sa}&c={$collName}&s={$service}&rt=rd&{$page-param}={$prev}"><img src="interfaces/default/images/less.gif" width='30' height='16' border='0' align='top'/><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.matches')"/><xsl:text> </xsl:text><xsl:value-of select="number(($prev - 1)*$hpp + 1)"/> - <xsl:value-of select="number(($prev * $hpp))"/></a></xsl:if> 64 65 66 <xsl:if test="(($here * $hpp) + 1) < $td"> 67 <xsl:variable name='m' select="number($next * $hpp)"/> 68 <xsl:variable name='mm'><xsl:choose><xsl:when test="$m < $td"><xsl:value-of select='$m'/></xsl:when><xsl:otherwise><xsl:value-of select='$td'/></xsl:otherwise></xsl:choose></xsl:variable> 69 <a href="{$library_name}?a=q&sa={$sa}&c={$collName}&s={$service}&rt=rd&{$page-param}={$next}"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.matches')"/><xsl:text> </xsl:text><xsl:value-of select="number(($next - 1)*$hpp + 1)"/> - <xsl:value-of select="$mm"/><img src="interfaces/default/images/more.gif" width='30' height='16' border='0' align='top'/></a></xsl:if></div> 70 70 </div> 71 </xsl:if>72 </div>71 </xsl:if> 72 </div> 73 73 </xsl:template> 74 74 75 75 <xsl:template name="matchDocs"> 76 76 <!-- If the number of matching documents is known, display it --> 77 77 <div id="matchdocs"> 78 <xsl:variable name="numDocsMatched" select="metadataList/metadata[@name='numDocsMatched']"/>79 <xsl:variable name="numDocsReturned" select="metadataList/metadata[@name='numDocsReturned']"/>80 <xsl:choose>81 82 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.nodocsmatch')"/>83 84 85 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.onedocsmatch')"/>86 87 88 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.manydocsmatch', $numDocsMatched)"/>89 <xsl:if test="$numDocsReturned"> (<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.docsreturned', $numDocsReturned)"/>)</xsl:if>90 91 92 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.atleastdocsmatch', $numDocsReturned)"/>93 94 </xsl:choose>95 </div>78 <xsl:variable name="numDocsMatched" select="metadataList/metadata[@name='numDocsMatched']"/> 79 <xsl:variable name="numDocsReturned" select="metadataList/metadata[@name='numDocsReturned']"/> 80 <xsl:choose> 81 <xsl:when test="$numDocsMatched='0' or $numDocsReturned='0'"> 82 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.nodocsmatch')"/> 83 </xsl:when> 84 <xsl:when test="$numDocsMatched='1' or $numDocsReturned='1'"> 85 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.onedocsmatch')"/> 86 </xsl:when> 87 <xsl:when test="$numDocsMatched"> 88 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.manydocsmatch', $numDocsMatched)"/> 89 <xsl:if test="$numDocsReturned"> (<xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.docsreturned', $numDocsReturned)"/>)</xsl:if> 90 </xsl:when> 91 <xsl:when test="$numDocsReturned"> 92 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.atleastdocsmatch', $numDocsReturned)"/> 93 </xsl:when> 94 </xsl:choose> 95 </div> 96 96 </xsl:template> 97 97 98 98 <!-- paging is now done by the query action, so here we just print out all the docs that we have --> 99 99 <xsl:template name="resultList"> 100 100 <xsl:param name="collName"/> 101 101 <ul id="resultlist"> 102 <xsl:for-each select="documentNodeList/documentNode">102 <xsl:for-each select="documentNodeList/documentNode"> 103 103 <li><table> 104 <xsl:call-template name="documentNodeWrapper">105 <xsl:with-param name="collName" select="$collName"/>106 <xsl:with-param name="serviceName" select="/page/pageResponse/service/@name"/>107 </xsl:call-template>108 104 <xsl:call-template name="documentNodeWrapper"> 105 <xsl:with-param name="collName" select="$collName"/> 106 <xsl:with-param name="serviceName" select="/page/pageResponse/service/@name"/> 107 </xsl:call-template> 108 </table> 109 109 </li> 110 110 </xsl:for-each> … … 118 118 <xsl:variable name="berrybasketswitch"><xsl:value-of select="/page/pageRequest/paramList/param[@name='berrybasket']/@value"/></xsl:variable> 119 119 <!--<xsl:if test="$berryBaskets = 'true'">--> 120 120 <xsl:if test="$berrybasketswitch = 'on'"> 121 121 <xsl:call-template name="addBerry"> 122 122 <xsl:with-param name="collName" select="$collName"/> … … 135 135 <xsl:param name="collName"/> 136 136 <xsl:param name="serviceName"/> 137 138 139 137 <a><xsl:attribute name="href"><xsl:value-of select='$library_name'/>?a=d&c=<xsl:value-of select='$collName'/>&d=<xsl:value-of select='@nodeID'/><xsl:if test="@nodeType='leaf'">&sib=1</xsl:if>&dt=<xsl:value-of select='@docType'/>&p.a=q&&p.sa=<xsl:value-of select="/page/pageRequest/@subaction"/>&p.s=<xsl:value-of select="$serviceName"/></xsl:attribute> 138 <xsl:apply-templates select="." mode="displayNodeIcon"/> 139 </a> 140 140 <span><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/></span> 141 141 </xsl:template> 142 142 143 143 <xsl:template name="termInfo"> 144 <div class="terminfo">145 <xsl:if test="count(termList/term) > 0">146 144 <div class="terminfo"> 145 <xsl:if test="count(termList/term) > 0"> 146 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'query.wordcount')"/> 147 147 <xsl:for-each select="termList/term"> 148 148 <xsl:if test="position() > 1">, </xsl:if> 149 149 <xsl:value-of select="@name"/>: <xsl:value-of select="@freq"/> 150 150 </xsl:for-each> 151 </xsl:if>152 </div>151 </xsl:if> 152 </div> 153 153 </xsl:template> 154 154
Note:
See TracChangeset
for help on using the changeset viewer.