Changeset 31552

Show
Ignore:
Timestamp:
30.03.2017 12:18:26 (2 years ago)
Author:
kjdon
Message:

moved all templates from classifiertools to pages/classifier

Location:
main/trunk/greenstone3/web/interfaces/default/transform
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/transform/classifiertools.xsl

    r31550 r31552  
    88    exclude-result-prefixes="java util gsf"> 
    99 
    10   <xsl:import href="map-tools.xsl"/> 
    11   <xsl:import href="panorama-viewer-tools.xsl"/> 
    12  
    13     <xsl:template match="classifier"> 
    14         <xsl:param name="collName"/> 
    15         <xsl:param name="serviceName"/> 
    16         <div id="classifiers"> 
    17             <xsl:variable name="cl_name"><xsl:value-of select="@name"/></xsl:variable> 
    18             <xsl:choose> 
    19                 <xsl:when test="@childType = 'HList'"> 
    20                     <xsl:call-template name="HList"> 
    21                         <xsl:with-param name='collName' select='$collName'/> 
    22                         <xsl:with-param name='serviceName' select='$serviceName'/> 
    23                     </xsl:call-template> 
    24                 </xsl:when> 
    25                 <xsl:otherwise> 
    26                     <table id="classifiernodelist"> 
    27                         <xsl:text> </xsl:text> 
    28                         <xsl:call-template name="processNodeChildren"> 
    29                             <xsl:with-param name='collName' select='$collName'/> 
    30                             <xsl:with-param name='serviceName' select='$serviceName'/> 
    31                         </xsl:call-template> 
    32                     </table> 
    33                 </xsl:otherwise> 
    34             </xsl:choose> 
    35         </div> 
    36     </xsl:template> 
    37    
    38     <!-- this is a wrapper node, which the interface can use to add stuff into the classifier display that isn't part of and doesn't depend on the documentNode template which may come from the collection --> 
    39     <xsl:template name="documentNodeWrapper"> 
    40         <xsl:param name="collName"/> 
    41         <xsl:param name="serviceName"/>  
    42         <xsl:apply-templates select="."> 
    43             <xsl:with-param name="collName" select="$collName"/> 
    44             <xsl:with-param name="serviceName" select="$serviceName"/> 
    45         </xsl:apply-templates> 
    46         <!-- The berry (optional) --> 
    47         <td> 
    48             <xsl:call-template name="documentBerryForClassifierOrSearchPage"/> 
    49         </td> 
    50         <xsl:call-template name="documentNodePost"/> 
    51     </xsl:template> 
    5210 
    5311 
    54     <!-- is this ever used either??? --> 
    55     <xsl:template match="documentNode"> 
    56         <xsl:param name="collName"/> 
    57         <xsl:param name="serviceName"/> 
    58         <a href="{$library_name}?a=d&amp;c={$collName}&amp;d={@nodeID}&amp;dt={@docType}&amp;p.a=b&amp;p.s={$serviceName}"><xsl:apply-templates select="." mode="displayNodeIcon"/></a><xsl:value-of disable-output-escaping="yes"  select="metadataList/metadata[@name='Title']"/> 
    59     </xsl:template> 
    60    
    61    
    62     <!-- icon + title template--> 
    63     <!-- is this ever used??? --> 
    64     <xsl:template match="classifierNode"> 
    65         <xsl:param name="collName"/> 
    66         <xsl:param name="serviceName"/> 
    67         <a><xsl:attribute name='href'><xsl:value-of select='$library_name'/>?a=b&amp;rt=r&amp;s=<xsl:value-of select='$serviceName'/>&amp;c=<xsl:value-of select='$collName'/>&amp;cl=<xsl:value-of select='@nodeID'/><xsl:if test="classifierNode|documentNode">.pr</xsl:if></xsl:attribute><xsl:call-template name="bookshelfimg"/></a><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/> 
    68     </xsl:template> 
    69    
    70  
    71     <!-- processing for the recursive bit --> 
    72     <xsl:template match="classifierNode" mode="process-all-children"> 
    73         <xsl:param name="collName"/> 
    74         <xsl:param name="serviceName"/> 
    75         <xsl:call-template name="processNodeChildren"> 
    76             <xsl:with-param name='collName' select='$collName'/> 
    77             <xsl:with-param name='serviceName' select='$serviceName'/> 
    78         </xsl:call-template> 
    79     </xsl:template> 
    80  
    81     <xsl:template name="HList"> 
    82         <xsl:param name="collName"/> 
    83         <xsl:param name="serviceName"/> 
    84                 <ul class="horizontalContainer"> 
    85                     <xsl:for-each select='classifierNode'> 
    86                         <li> 
    87                             <xsl:attribute name="class"> 
    88                                 <xsl:if test="@nodeID = /page/pageRequest/paramList/param[@name = 'cl']/@value">selectedHorizontalClassifierNode </xsl:if> 
    89                                 <xsl:text>horizontalClassifierNode</xsl:text> 
    90                             </xsl:attribute> 
    91                             <xsl:apply-templates select='.'> 
    92                                 <xsl:with-param name='collName' select='$collName'/> 
    93                                 <xsl:with-param name='serviceName' select='$serviceName'/> 
    94                             </xsl:apply-templates> 
    95                         </li> 
    96                     </xsl:for-each> 
    97                 </ul> 
    98                 <table id="classifiernodelist"> 
    99                 <xsl:for-each select='classifierNode'> 
    100                     <xsl:call-template name="processNodeChildren"> 
    101                         <xsl:with-param name='collName' select='$collName'/> 
    102                         <xsl:with-param name='serviceName' select='$serviceName'/> 
    103                     </xsl:call-template> 
    104                 </xsl:for-each> 
    105                 </table> 
    106     </xsl:template>  
    107    
    108     <xsl:template name="processNodeChildren"> 
    109         <xsl:param name="collName"/> 
    110         <xsl:param name="serviceName"/> 
    111  
    112         <xsl:choose> 
    113             <xsl:when test="@childType = 'VList' or @childType = 'DateList'"> 
    114                 <xsl:value-of select="util:storeString('prevMonth', '')"/> 
    115                 <xsl:for-each select='classifierNode|documentNode'> 
    116                     <tr> 
    117                         <xsl:choose> 
    118                             <xsl:when test="name()='documentNode'"> 
    119                                 <xsl:if test="../@childType = 'DateList'"> 
    120                                     <xsl:variable name="prevMonth"><xsl:value-of select="util:getString('prevMonth')"/></xsl:variable> 
    121                                     <xsl:variable name="currentDate"><gsf:metadata name="Date"/></xsl:variable> 
    122                                     <xsl:variable name="currentMonth"><xsl:value-of select="util:getDetailFromDate($currentDate, 'month', /page/@lang)"/></xsl:variable> 
    123                                     <xsl:value-of select="util:storeString('prevMonth', $currentMonth)"/> 
    124                                     <td> 
    125                                         <xsl:if test="not($currentMonth = $prevMonth)"> 
    126                                             <xsl:value-of select="$currentMonth"/> 
    127                                         </xsl:if> 
    128                                         <xsl:text> </xsl:text> 
    129                                     </td> 
    130                                 </xsl:if> 
    131                                 <td> 
    132                                     <table id="div{@nodeID}"><tr> 
    133                                         <xsl:call-template name="documentNodeWrapper"> 
    134                                             <xsl:with-param name='collName' select='$collName'/> 
    135                                             <xsl:with-param name='serviceName' select='$serviceName'/> 
    136                                         </xsl:call-template> 
    137                                     </tr></table> 
    138                                 </td> 
    139                             </xsl:when> 
    140                             <xsl:when test="name()='classifierNode' and @childType = 'VList'"> 
    141                                 <td> 
    142                                     <table id="title{@nodeID}"><tr> 
    143                                         <xsl:if test="not(/page/pageResponse/format[@type='browse']/gsf:option[@name='turnstyleClassifiers']) or /page/pageResponse/format[@type='browse']/gsf:option[@name='turnstyleClassifiers']/@value='true'"> 
    144                                             <td class="headerTD"> 
    145                                                 <img id="toggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon">            
    146                                                     <xsl:attribute name="src"> 
    147                                                         <xsl:choose> 
    148                                                             <xsl:when test="classifierNode or documentNode"> 
    149                                                                 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/> 
    150                                                             </xsl:when> 
    151                                                             <xsl:otherwise> 
    152                                                                 <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/> 
    153                                                             </xsl:otherwise> 
    154                                                         </xsl:choose> 
    155                                                     </xsl:attribute> 
    156                                                 </img> 
    157                                             </td> 
    158                                         </xsl:if> 
    159                                         <xsl:apply-templates select='.'> 
    160                                             <xsl:with-param name='collName' select='$collName'/> 
    161                                             <xsl:with-param name='serviceName' select='$serviceName'/> 
    162                                         </xsl:apply-templates> 
    163                                     </tr></table> 
    164                                 </td> 
    165                                 <xsl:if test="child::classifierNode or child::documentNode"> 
    166                                     <!--recurse into the children--> 
    167                                     <tr><td><table class="childrenlist" id="div{@nodeID}"> 
    168                                         <xsl:apply-templates select='.' mode='process-all-children'> 
    169                                             <xsl:with-param name='collName' select='$collName'/> 
    170                                             <xsl:with-param name='serviceName' select='$serviceName'/> 
    171                                         </xsl:apply-templates> 
    172                                     </table></td></tr> 
    173                                 </xsl:if> 
    174                             </xsl:when> 
    175                             <xsl:otherwise>Unknown classifier style specified</xsl:otherwise> 
    176                         </xsl:choose> 
    177                     </tr> 
    178                 </xsl:for-each> 
    179             </xsl:when> 
    180             <xsl:when test="@childType = 'HTML'"> 
    181               <xsl:variable name="URL"><xsl:value-of select="documentNode/@nodeID"/></xsl:variable> 
    182       <iframe width="100%" height="600" frameborder="0"><xsl:attribute name="src"><xsl:value-of select="$URL"/></xsl:attribute>Frame for <xsl:value-of select="$URL"/></iframe> 
    183             </xsl:when> 
    184             <xsl:otherwise> 
    185               we are in the other wise 
    186             </xsl:otherwise> 
    187         </xsl:choose> 
    188     </xsl:template> 
    189  
    190     <xsl:template name="bookshelfimg"> 
    191         <xsl:param name="alt"/> 
    192         <xsl:param name="title"/> 
    193         <img border="0" width="20" height="16" src="interfaces/default/images/bshelf.gif" alt="{$alt}" title="{$title}"/> 
    194     </xsl:template> 
    195      
    196     <xsl:template name="documentNodePost"> 
    197         <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'"> 
    198             <xsl:if test="metadataList/metadata[@name='Latitude' or @name='Longitude']"> 
    199                 <xsl:call-template name="mapFeaturesIcon"/> 
    200             </xsl:if> 
    201         </xsl:if> 
    20212 
    20313 
    204         <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 
    205           <xsl:if test=" metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude'] and metadataList/metadata[@name = 'PhotoType']='Panorama'"> 
    206                     <xsl:call-template name="panoramaViewerFeaturesIcon"/> 
    207                   </xsl:if> 
    208         </xsl:if> 
    20914 
    210     </xsl:template> 
     15     
    21116 
    21217</xsl:stylesheet> 
  • main/trunk/greenstone3/web/interfaces/default/transform/pages/classifier.xsl

    r31551 r31552  
    1111    <!-- use the 'main' layout --> 
    1212    <xsl:import href="layouts/main.xsl"/> 
    13     <xsl:import href="classifiertools.xsl"/> 
     13    <xsl:import href="map-tools.xsl"/> 
     14    <xsl:import href="panorama-viewer-tools.xsl"/> 
    1415 
    1516    <!-- set page title --> 
     
    6263 
    6364        <div class="clear"><xsl:text> </xsl:text></div> 
     65    </xsl:template> 
     66 
     67    <xsl:template match="classifier"> 
     68        <xsl:param name="collName"/> 
     69        <xsl:param name="serviceName"/> 
     70        <div id="classifiers"> 
     71            <xsl:variable name="cl_name"><xsl:value-of select="@name"/></xsl:variable> 
     72            <xsl:choose> 
     73                <xsl:when test="@childType = 'HList'"> 
     74                    <xsl:call-template name="HList"> 
     75                        <xsl:with-param name='collName' select='$collName'/> 
     76                        <xsl:with-param name='serviceName' select='$serviceName'/> 
     77                    </xsl:call-template> 
     78                </xsl:when> 
     79                <xsl:otherwise> 
     80                    <table id="classifiernodelist"> 
     81                        <xsl:text> </xsl:text> 
     82                        <xsl:call-template name="processNodeChildren"> 
     83                            <xsl:with-param name='collName' select='$collName'/> 
     84                            <xsl:with-param name='serviceName' select='$serviceName'/> 
     85                        </xsl:call-template> 
     86                    </table> 
     87                </xsl:otherwise> 
     88            </xsl:choose> 
     89        </div> 
     90    </xsl:template> 
     91   
     92        <xsl:template name="HList"> 
     93        <xsl:param name="collName"/> 
     94        <xsl:param name="serviceName"/> 
     95                <ul class="horizontalContainer"> 
     96                    <xsl:for-each select='classifierNode'> 
     97                        <li> 
     98                            <xsl:attribute name="class"> 
     99                                <xsl:if test="@nodeID = /page/pageRequest/paramList/param[@name = 'cl']/@value">selectedHorizontalClassifierNode </xsl:if> 
     100                                <xsl:text>horizontalClassifierNode</xsl:text> 
     101                            </xsl:attribute> 
     102                            <xsl:apply-templates select='.'> 
     103                                <xsl:with-param name='collName' select='$collName'/> 
     104                                <xsl:with-param name='serviceName' select='$serviceName'/> 
     105                            </xsl:apply-templates> 
     106                        </li> 
     107                    </xsl:for-each> 
     108                </ul> 
     109                <table id="classifiernodelist"> 
     110                <xsl:for-each select='classifierNode'> 
     111                    <xsl:call-template name="processNodeChildren"> 
     112                        <xsl:with-param name='collName' select='$collName'/> 
     113                        <xsl:with-param name='serviceName' select='$serviceName'/> 
     114                    </xsl:call-template> 
     115                </xsl:for-each> 
     116                </table> 
     117    </xsl:template>  
     118 
     119    <xsl:template name="processNodeChildren"> 
     120        <xsl:param name="collName"/> 
     121        <xsl:param name="serviceName"/> 
     122 
     123        <xsl:choose> 
     124            <xsl:when test="@childType = 'VList' or @childType = 'DateList'"> 
     125                <xsl:value-of select="util:storeString('prevMonth', '')"/> 
     126                <xsl:for-each select='classifierNode|documentNode'> 
     127                    <tr> 
     128                        <xsl:choose> 
     129                            <xsl:when test="name()='documentNode'"> 
     130                                <xsl:if test="../@childType = 'DateList'"> 
     131                                    <xsl:variable name="prevMonth"><xsl:value-of select="util:getString('prevMonth')"/></xsl:variable> 
     132                                    <xsl:variable name="currentDate"><gsf:metadata name="Date"/></xsl:variable> 
     133                                    <xsl:variable name="currentMonth"><xsl:value-of select="util:getDetailFromDate($currentDate, 'month', /page/@lang)"/></xsl:variable> 
     134                                    <xsl:value-of select="util:storeString('prevMonth', $currentMonth)"/> 
     135                                    <td> 
     136                                        <xsl:if test="not($currentMonth = $prevMonth)"> 
     137                                            <xsl:value-of select="$currentMonth"/> 
     138                                        </xsl:if> 
     139                                        <xsl:text> </xsl:text> 
     140                                    </td> 
     141                                </xsl:if> 
     142                                <td> 
     143                                    <table id="div{@nodeID}"><tr> 
     144                                        <xsl:call-template name="documentNodeWrapper"> 
     145                                            <xsl:with-param name='collName' select='$collName'/> 
     146                                            <xsl:with-param name='serviceName' select='$serviceName'/> 
     147                                        </xsl:call-template> 
     148                                    </tr></table> 
     149                                </td> 
     150                            </xsl:when> 
     151                            <xsl:when test="name()='classifierNode' and @childType = 'VList'"> 
     152                                <td> 
     153                                    <table id="title{@nodeID}"><tr> 
     154                                        <xsl:if test="not(/page/pageResponse/format[@type='browse']/gsf:option[@name='turnstyleClassifiers']) or /page/pageResponse/format[@type='browse']/gsf:option[@name='turnstyleClassifiers']/@value='true'"> 
     155                                            <td class="headerTD"> 
     156                                                <img id="toggle{@nodeID}" onclick="toggleSection('{@nodeID}');" class="icon">            
     157                                                    <xsl:attribute name="src"> 
     158                                                        <xsl:choose> 
     159                                                            <xsl:when test="classifierNode or documentNode"> 
     160                                                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'collapse_image')"/> 
     161                                                            </xsl:when> 
     162                                                            <xsl:otherwise> 
     163                                                                <xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'expand_image')"/> 
     164                                                            </xsl:otherwise> 
     165                                                        </xsl:choose> 
     166                                                    </xsl:attribute> 
     167                                                </img> 
     168                                            </td> 
     169                                        </xsl:if> 
     170                                        <xsl:apply-templates select='.'> 
     171                                            <xsl:with-param name='collName' select='$collName'/> 
     172                                            <xsl:with-param name='serviceName' select='$serviceName'/> 
     173                                        </xsl:apply-templates> 
     174                                    </tr></table> 
     175                                </td> 
     176                                <xsl:if test="child::classifierNode or child::documentNode"> 
     177                                    <!--recurse into the children--> 
     178                                    <tr><td><table class="childrenlist" id="div{@nodeID}"> 
     179                                        <xsl:apply-templates select='.' mode='process-all-children'> 
     180                                            <xsl:with-param name='collName' select='$collName'/> 
     181                                            <xsl:with-param name='serviceName' select='$serviceName'/> 
     182                                        </xsl:apply-templates> 
     183                                    </table></td></tr> 
     184                                </xsl:if> 
     185                            </xsl:when> 
     186                            <xsl:otherwise>Unknown classifier style specified</xsl:otherwise> 
     187                        </xsl:choose> 
     188                    </tr> 
     189                </xsl:for-each> 
     190            </xsl:when> 
     191            <xsl:when test="@childType = 'HTML'"> 
     192              <xsl:variable name="URL"><xsl:value-of select="documentNode/@nodeID"/></xsl:variable> 
     193      <iframe width="100%" height="600" frameborder="0"><xsl:attribute name="src"><xsl:value-of select="$URL"/></xsl:attribute>Frame for <xsl:value-of select="$URL"/></iframe> 
     194            </xsl:when> 
     195            <xsl:otherwise> 
     196              we are in the other wise 
     197            </xsl:otherwise> 
     198        </xsl:choose> 
     199    </xsl:template> 
     200 
     201 
     202    <!-- processing for the recursive bit --> 
     203    <xsl:template match="classifierNode" mode="process-all-children"> 
     204        <xsl:param name="collName"/> 
     205        <xsl:param name="serviceName"/> 
     206        <xsl:call-template name="processNodeChildren"> 
     207            <xsl:with-param name='collName' select='$collName'/> 
     208            <xsl:with-param name='serviceName' select='$serviceName'/> 
     209        </xsl:call-template> 
     210    </xsl:template> 
     211 
     212   
     213 
     214    <!-- this is a wrapper node, which the interface can use to add stuff into the classifier display that isn't part of and doesn't depend on the documentNode template which may come from the collection --> 
     215    <xsl:template name="documentNodeWrapper"> 
     216        <xsl:param name="collName"/> 
     217        <xsl:param name="serviceName"/>  
     218        <xsl:apply-templates select="."> 
     219            <xsl:with-param name="collName" select="$collName"/> 
     220            <xsl:with-param name="serviceName" select="$serviceName"/> 
     221        </xsl:apply-templates> 
     222        <!-- The berry (optional) --> 
     223        <td> 
     224            <xsl:call-template name="documentBerryForClassifierOrSearchPage"/> 
     225        </td> 
     226        <xsl:call-template name="documentNodePost"/> 
    64227    </xsl:template> 
    65228 
     
    96259    </xsl:template> 
    97260 
     261    <xsl:template name="documentNodePost"> 
     262        <xsl:if test="/page/pageResponse/format[@type='display' or @type='browse' or @type='search']/gsf:option[@name='mapEnabled']/@value = 'true'"> 
     263            <xsl:if test="metadataList/metadata[@name='Latitude' or @name='Longitude']"> 
     264                <xsl:call-template name="mapFeaturesIcon"/> 
     265            </xsl:if> 
     266        </xsl:if> 
     267 
     268 
     269        <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 
     270          <xsl:if test=" metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude'] and metadataList/metadata[@name = 'PhotoType']='Panorama'"> 
     271                    <xsl:call-template name="panoramaViewerFeaturesIcon"/> 
     272                  </xsl:if> 
     273        </xsl:if> 
     274 
     275    </xsl:template> 
     276 
    98277    <!-- 
    99278    TEMPLATE FOR GROUPS OF DOCUMENTS 
     
    157336     
    158337     
     338    <xsl:template name="bookshelfimg"> 
     339        <xsl:param name="alt"/> 
     340        <xsl:param name="title"/> 
     341        <img border="0" width="20" height="16" src="interfaces/default/images/bshelf.gif" alt="{$alt}" title="{$title}"/> 
     342    </xsl:template> 
    159343 
    160344 
     
    162346      <!-- suppress xsltparam block in page --> 
    163347    </xsl:template> 
     348 
     349    <!-- is this ever used? copied from classifier tools and renamed xxxOld --> 
     350    <xsl:template match="documentNodeOld"> 
     351        <xsl:param name="collName"/> 
     352        <xsl:param name="serviceName"/> 
     353        <a href="{$library_name}?a=d&amp;c={$collName}&amp;d={@nodeID}&amp;dt={@docType}&amp;p.a=b&amp;p.s={$serviceName}"><xsl:apply-templates select="." mode="displayNodeIcon"/></a><xsl:value-of disable-output-escaping="yes"  select="metadataList/metadata[@name='Title']"/> 
     354    </xsl:template> 
     355   
     356   
     357    <!-- icon + title template--> 
     358    <!-- is this ever used??? copied from classifier tools and renamed xxxOld???  --> 
     359    <xsl:template match="classifierNodeOld"> 
     360        <xsl:param name="collName"/> 
     361        <xsl:param name="serviceName"/> 
     362        <a><xsl:attribute name='href'><xsl:value-of select='$library_name'/>?a=b&amp;rt=r&amp;s=<xsl:value-of select='$serviceName'/>&amp;c=<xsl:value-of select='$collName'/>&amp;cl=<xsl:value-of select='@nodeID'/><xsl:if test="classifierNode|documentNode">.pr</xsl:if></xsl:attribute><xsl:call-template name="bookshelfimg"/></a><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/> 
     363    </xsl:template> 
     364   
     365 
    164366</xsl:stylesheet> 
    165367