Changeset 3885


Ignore:
Timestamp:
2003-03-18T13:25:55+12:00 (21 years ago)
Author:
kjdon
Message:

reworked the classification xslt

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/interfaces/default/transform/classifier.xsl

    r3871 r3885  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    22<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 extension-element-prefixes="java">
    6 
    7 <xsl:include href="style.xsl"/>
    8 
    9 <xsl:output method="html"/> 
    10 
    11 <!--
    12 <xslt:template xmlns:xslt="http://www.w3.org/1999/XSL/Transform" match="document" priority="6"><td><a href="library?a=d&amp;c=collName&amp;d=name"><img src="interfaces/default/images/book.gif" width="18" height="11" border="0"/></a></td><td><xslt:value-of select="metadataList/metadata[@name='Keyword']"/>***</td></xslt:template>
    13 
    14 <xsl:template match="document" priority="3"><td><a xmlns:xslt="http://www.w3.org/1999/XSL/Transform" href="library?a=d&amp;c=collName&amp;d=name"><img
     3  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     4  xmlns:java="http://xml.apache.org/xslt/java"
     5  extension-element-prefixes="java">
     6 
     7  <xsl:include href="style.xsl"/>
     8
     9  <xsl:output method="html"/> 
     10
     11<!--
     12<xslt:template xmlns:xslt="http://www.w3.org/1999/XSL/Transform" match="documentNode" priority="6"><td><a href="library?a=d&amp;c=collName&amp;d=name"><img src="interfaces/default/images/book.gif" width="18" height="11" border="0"/></a></td><td><xslt:value-of select="metadataList/metadata[@name='Keyword']"/>***</td></xslt:template>
     13
     14<xsl:template match="documentNode" priority="3"><td><a xmlns:xslt="http://www.w3.org/1999/XSL/Transform" href="library?a=d&amp;c=collName&amp;d=name"><img
    1515src="interfaces/default/images/book.gif" width="18" height="11" border="0"/></a></td><td><xslt:value-of xmlns:xslt="http://www.w3.org/1999/XSL/Transform" select="metadataList/metadata[@name='Keyword']"/></td></xsl:template>
    1616
    17 <xsl:template match="document" priority="4"><td><a xmlns:xslt="http://www.w3.org/1999/XSL/Transform" href="library?a=d&amp;c=collName&amp;d=name"><xslt:value-of select="metadataList/metadata[@name='Keyword']"/></a></td></xsl:template>
    18 -->
    19 <xsl:template match="page">
    20 <xsl:variable name="collName"><xsl:value-of select="request/paramList/param[@name='c']/@value"/></xsl:variable>
    21 <xsl:variable name="serviceName"><xsl:value-of select="service/@name"/></xsl:variable>
    22 <html>
    23 <xsl:call-template name="greenstoneHead"/>
    24 <body xsl:use-attribute-sets="body-style">
    25 <center>
    26 <xsl:call-template name="collectionPageBanner">
    27 <xsl:with-param name="collName" select="$collName"/>
    28 </xsl:call-template>
    29 <xsl:apply-templates select="service/classifierList">
    30 <xsl:with-param name="collName" select="$collName"/>
    31 <xsl:with-param name="serviceName" select="$serviceName"/>
    32 </xsl:apply-templates>
    33 <p/>
    34 <xsl:apply-templates select="response/classifier">
    35 <xsl:with-param name="collName" select="$collName"/>
    36 <xsl:with-param name="serviceName" select="$serviceName"/>
    37 </xsl:apply-templates>
    38 </center>
    39 <xsl:call-template name="greenstoneFooter"/>
    40 </body>
    41 </html>
    42 </xsl:template>
    43 
    44 <xsl:template match="classifierList">
    45 <xsl:param name="collName">coll-name</xsl:param>
    46 <xsl:param name="serviceName">ClassifierBrowse</xsl:param>
    47 <xsl:variable name="library" select="ancestor::page/config/library_name"/>
    48 <xsl:variable name="selected" select="ancestor::page/response/classifier/@name"/>
    49 <table width='537'><tr>
    50 <xsl:for-each select="classifier">
    51 <xsl:variable name="cname" select="@name"/>
    52 <xsl:choose>
    53 <xsl:when test="@name=$selected">
    54 <td align='center'><xsl:value-of select="ancestor::service/display/classifier[@name=$cname]/name"/></td>
    55 </xsl:when>
    56 <xsl:otherwise>
    57 <td align='center'><a href="{$library}?a=b&amp;s={$serviceName}&amp;c={$collName}&amp;cl={@name}"><xsl:value-of select="ancestor::service/display/classifier[@name=$cname]/name"/></a></td></xsl:otherwise></xsl:choose>
     17<xsl:template match="documentNode" priority="4"><td><a xmlns:xslt="http://www.w3.org/1999/XSL/Transform" href="library?a=d&amp;c=collName&amp;d=name"><xslt:value-of select="metadataList/metadata[@name='Keyword']"/></a></td></xsl:template>
     18-->
     19  <xsl:template match="page">
     20    <xsl:variable name="collName"><xsl:value-of select="request/paramList/param[@name='c']/@value"/></xsl:variable>
     21    <xsl:variable name="serviceName"><xsl:value-of select="service/@name"/></xsl:variable>
     22    <html>
     23      <xsl:call-template name="greenstoneHead"/>
     24      <body xsl:use-attribute-sets="body-style">
     25    <center>
     26      <xsl:call-template name="collectionPageBanner">
     27        <xsl:with-param name="collName" select="$collName"/>
     28      </xsl:call-template>
     29      <xsl:apply-templates select="service/classifierList">
     30        <xsl:with-param name="collName" select="$collName"/>
     31        <xsl:with-param name="serviceName" select="$serviceName"/>
     32      </xsl:apply-templates>
     33      <p/>
     34      <xsl:apply-templates select="response/classifier">
     35        <xsl:with-param name="collName" select="$collName"/>
     36        <xsl:with-param name="serviceName" select="$serviceName"/>
     37      </xsl:apply-templates>
     38    </center>
     39    <xsl:call-template name="greenstoneFooter"/>
     40      </body>
     41    </html>
     42  </xsl:template>
     43 
     44  <xsl:template match="classifierList">
     45    <xsl:param name="collName">coll-name</xsl:param>
     46    <xsl:param name="serviceName">service-name</xsl:param>
     47    <xsl:variable name="library" select="ancestor::page/config/library_name"/>
     48    <xsl:variable name="selected" select="ancestor::page/response/classifier/@name"/>
     49    <table width='537'><tr>
     50    <xsl:for-each select="classifier">
     51      <xsl:variable name="cname" select="@name"/>
     52      <xsl:choose>
     53        <xsl:when test="@name=$selected">
     54          <td align='center'><xsl:value-of select="ancestor::service/display/classifier[@name=$cname]/name"/></td>
     55        </xsl:when>
     56        <xsl:otherwise>
     57          <td align='center'><a href="{$library}?a=b&amp;s={$serviceName}&amp;c={$collName}&amp;cl={@name}"><xsl:value-of select="ancestor::service/display/classifier[@name=$cname]/name"/></a></td></xsl:otherwise></xsl:choose>
     58    </xsl:for-each>
     59      </tr></table>
     60    <xsl:call-template name="greenBar"/>
     61  </xsl:template>
     62 
     63  <!-- recursively process all nodes and documents -->
     64 
     65  <xsl:template match="classifier">
     66    <xsl:param name="collName">coll-name</xsl:param>
     67    <xsl:param name="serviceName">service-name</xsl:param>
     68    <xsl:variable name="cl_name"><xsl:value-of select="@name"/></xsl:variable>
     69    <xsl:variable name="interleave"><xsl:value-of select="ancestor::page/service/classifierList/classifier[@name=$cl_name]/@documentInterleave"/></xsl:variable>
     70    <xsl:variable name="orientation"><xsl:value-of select="ancestor::page/service/classifierList/classifier[@name=$cl_name]/@orientation"/></xsl:variable>
     71    <xsl:variable name='mode'><xsl:value-of select='$orientation'/>-<xsl:value-of select='$interleave'/></xsl:variable>
     72    <xsl:choose>
     73      <xsl:when test="$mode='horizontal-true'">
     74    <xsl:apply-templates select="." mode='horizontal-true'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     75      </xsl:when>
     76      <xsl:when test="$mode='horizontal-false'">
     77    <xsl:apply-templates select="." mode='horizontal-false'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     78      </xsl:when>
     79      <xsl:when test="$mode='vertical-true'">
     80    <xsl:apply-templates select="." mode='vertical-true'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     81      </xsl:when>
     82      <xsl:when test="$mode='vertical-false'">
     83    <xsl:apply-templates select="." mode='vertical-false'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     84      </xsl:when>
     85    </xsl:choose>
     86  </xsl:template>
     87 
     88  <!-- vertical and interleave = true: process all document and classifier children together, recursively -->
     89  <xsl:template match="classifier" mode="vertical-true">
     90    <xsl:param name="collName">coll-name</xsl:param>
     91    <xsl:param name="serviceName">service-name</xsl:param>
     92    <table width='537'>
     93      <xsl:for-each select='classifierNode|documentNode'>
     94    <tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr>
     95    <xsl:if test='name()="classifierNode"'>
     96      <!--recurse into the children-->
     97      <tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr>
     98    </xsl:if>
     99      </xsl:for-each>
     100    </table>
     101    <xsl:call-template name="greenBar"/>
     102  </xsl:template>
     103 
     104  <!--vertical and interleave = false: process all classifier nodes, recursively, then do the document ones separately -->
     105  <xsl:template match="classifier" mode="vertical-false">
     106    <xsl:param name="collName">coll-name</xsl:param>
     107    <xsl:param name="serviceName">service-name</xsl:param>
     108    <!-- process the nodes and documents separately-->
     109    <table width='537'>
     110      <xsl:for-each select='classifierNode'>
     111    <tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
     112    <tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr></xsl:for-each>
     113    </table>
     114    <table width='537'>
     115      <xsl:for-each select='//documentNode'>
     116    <tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
     117      </xsl:for-each>
     118    </table>
     119    <xsl:call-template name="greenBar"/>
     120  </xsl:template>
     121
     122
     123  <xsl:template match="classifier" mode="horizontal-true">
     124    <xsl:param name="collName">coll-name</xsl:param>
     125    <xsl:param name="serviceName">service-name</xsl:param>
     126    <!-- process the nodes and documents together -->
     127   
     128    <table>
     129      <tr valign='top'>
     130    <xsl:for-each select='classifierNode|documentNode'>
     131      <xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     132    </xsl:for-each>
     133      </tr>
     134      <tr valign='top'>
     135    <xsl:for-each select='classifierNode|documentNode'>
     136      <td></td> <!-- the empty cell for the icon -->
     137      <xsl:choose><xsl:when test='name()="classifierNode" and classifierNode|documentNode'>
     138          <xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     139        </xsl:when>
     140        <xsl:otherwise>
     141          <td></td>
     142        </xsl:otherwise>
     143      </xsl:choose>
     144    </xsl:for-each>
     145      </tr>
     146    </table>
     147    <xsl:call-template name="greenBar"/>
     148  </xsl:template>
     149
     150  <xsl:template match="classifier" mode="horizontal-false">
     151    <xsl:param name="collName">coll-name</xsl:param>
     152    <xsl:param name="serviceName">service-name</xsl:param>
     153    <!-- process the nodes and documents separately-->
     154   
     155    <table width='537'><tr valign='top'>
     156    <xsl:for-each select='classifierNode'>
     157      <xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     158    </xsl:for-each></tr>
     159      <tr valign='top'>
     160    <xsl:for-each select='classifierNode'>
     161      <xsl:apply-templates select='.' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></xsl:for-each></tr>
     162    </table>
     163    <table width='537'>
     164      <xsl:for-each select='//documentNode'>
     165    <tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
     166      </xsl:for-each>
     167    </table>
     168    <xsl:call-template name="greenBar"/>
     169  </xsl:template>
     170
     171<xsl:template match="documentNode">
     172<xsl:param name="collName">coll-name</xsl:param>
     173<xsl:variable name='library' select='ancestor::page/config/library_name'/>
     174<td><a href="{$library}?a=d&amp;c={$collName}&amp;d={@nodeID}"><img src='interfaces/default/images/book.gif' width='18' height='11' border='0'/></a></td><td><xsl:value-of select="metadataList/metadata[@name='Title']"/></td>
     175</xsl:template>
     176
     177
     178  <!-- icon + title -->
     179  <xsl:template match="classifierNode">
     180    <xsl:param name="collName">coll-name</xsl:param>
     181    <xsl:param name="serviceName">service-name</xsl:param>
     182    <xsl:variable name="library" select="ancestor::page/config/library_name"/>
     183    <td><a><xsl:attribute name='href'><xsl:value-of select='$library'/>?a=b&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><img src='interfaces/default/images/bshelf.gif' border='0' width='20' height='16' /></a></td><td align='left'><xsl:value-of select="metadataList/metadata[@name='Title']"/></td>
     184  </xsl:template>
     185 
     186  <!-- the title is a link: an alternative template -->
     187  <!--
     188  <xsl:template match="classifierNode">
     189    <xsl:param name="collName">coll-name</xsl:param>
     190    <xsl:param name="serviceName">service-name</xsl:param>
     191    <xsl:variable name="library" select="ancestor::page/config/library_name"/>
     192    <td><a><xsl:attribute name='href'><xsl:value-of select='$library'/>?a=b&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:value-of select="metadataList/metadata[@name='Title']"/></a></td>
     193  </xsl:template>
     194  -->
     195
     196<!-- processing for the recursive bit -->
     197<!-- if interleave=true, process all child nodes and documents, else just do nodes -->
     198
     199
     200  <xsl:template match="classifierNode" mode="process-all-children">
     201    <xsl:param name="collName">coll-name</xsl:param>
     202    <xsl:param name="serviceName">service-name</xsl:param>
     203    <td><p/>
     204    <!-- only do this if there are children -->
     205    <xsl:if test="classifierNode|documentNode">
     206      <xsl:choose>
     207    <xsl:when test='@orientation="vertical"'>
     208      <table> 
     209        <xsl:for-each select='classifierNode|documentNode'>
     210          <tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr>
     211          <xsl:if test='name()="classifierNode"'>
     212        <tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
     213          </xsl:if>       
     214        </xsl:for-each>
     215      </table>
     216    </xsl:when>
     217    <xsl:otherwise> <!-- horizontal -->
     218      <table>
     219        <tr valign='top'>
     220          <xsl:for-each select='classifierNode|documentNode'>
     221        <xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     222        <xsl:if test='name()="classifierNode"'>
     223          <xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     224        </xsl:if>
     225          </xsl:for-each>
     226        </tr>
     227      </table>
     228    </xsl:otherwise>
     229      </xsl:choose>
     230    </xsl:if>
     231    </td>
     232  </xsl:template>
     233
     234  <xsl:template match="classifierNode" mode="process-node-children">
     235    <xsl:param name="collName">coll-name</xsl:param>
     236    <xsl:param name="serviceName">ClassifierBrowse</xsl:param>
     237    <td><p/>
     238      <xsl:if test='classifierNode'><!-- only do this if there are child nodes - netscape craps out at an empty table like <table  /> -->
     239    <xsl:choose>
     240      <xsl:when test='@orientation="vertical"'>
     241        <table>
     242          <xsl:for-each select='classifierNode'>
     243        <tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr>
     244        <tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr>
     245          </xsl:for-each>
     246        </table>
     247      </xsl:when>
     248      <xsl:otherwise>
     249        <table>
     250          <tr valign='top'><xsl:apply-templates select='classifierNode'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     251        <xsl:apply-templates select='classifierNode' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
     252        </table>
     253      </xsl:otherwise>
     254    </xsl:choose>
     255      </xsl:if>
     256    </td>
     257  </xsl:template>
     258
     259</xsl:stylesheet>
     260
     261
     262<!--
     263
     264<xsl:template match="classifier[@type='vertical' and @interleave='true']">
     265<xsl:param name="collName">coll-name</xsl:param>
     266<xsl:param name="serviceName">ClassifierBrowse</xsl:param>
     267<xsl:variable name='link' select='@link'/>
     268<table width='537'><xsl:for-each select='classifierNode|documentNode'>
     269<xsl:choose><xsl:when test='name()="classifierNode"'><tr valign='top'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr><tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr>
     270</xsl:when>
     271<xsl:otherwise><tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
     272</xsl:otherwise></xsl:choose>
    58273</xsl:for-each>
    59 </tr></table>
     274</table>
    60275<xsl:call-template name="greenBar"/>
    61276</xsl:template>
    62 
    63 <!-- recursively process all nodes and documents -->
    64 
    65 <xsl:template match="classifier[@type='vertical' and @interleave='true']">
    66 <xsl:param name="collName">coll-name</xsl:param>
    67 <xsl:param name="serviceName">ClassifierBrowse</xsl:param>
    68 <xsl:variable name='link' select='@link'/>
    69 <table width='537'><xsl:for-each select='node|document'>
    70 <xsl:choose><xsl:when test='name()="node"'><tr valign='top'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr><tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr>
    71 </xsl:when>
    72 <xsl:otherwise><tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
    73 </xsl:otherwise></xsl:choose>
    74 </xsl:for-each>
    75 </table>
    76 <xsl:call-template name="greenBar"/>
    77 </xsl:template>
    78 
     277-->
     278
     279<!--
    79280<xsl:template match="classifier[@type='vertical' and @interleave='false']">
    80281<xsl:param name="collName">coll-name</xsl:param>
    81282<xsl:param name="serviceName">ClassifierBrowse</xsl:param>
    82 <xsl:variable name='link' select='@link'/>
     283<xsl:variable name='link' select='@link'/>-->
    83284<!-- process the nodes and documents separately-->
     285<!--<table width='537'>
     286<xsl:for-each select='classifierNode'>
     287<tr valign='top'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr><tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr></xsl:for-each>
     288</table>
    84289<table width='537'>
    85 <xsl:for-each select='node'>
    86 <tr valign='top'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr><tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr></xsl:for-each>
    87 </table>
    88 <table width='537'>
    89 <xsl:for-each select='//document'>
     290<xsl:for-each select='//documentNode'>
    90291<tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
    91292</xsl:for-each>
     
    93294<xsl:call-template name="greenBar"/>
    94295</xsl:template>
    95 
     296-->
     297<!--
    96298<xsl:template match="classifier[@type='horizontal' and @interleave='false']">
    97299<xsl:param name="collName">coll-name</xsl:param>
    98300<xsl:param name="serviceName">ClassifierBrowse</xsl:param>
    99 <xsl:variable name='link' select='@link'/>
     301<xsl:variable name='link' select='@link'/>-->
    100302<!-- process the nodes and documents separately-->
    101 
     303<!--
    102304<table width='537'><tr valign='top'>
    103 <xsl:for-each select='node'>
     305<xsl:for-each select='classifierNode'>
    104306<xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
    105307</xsl:for-each></tr>
    106308<tr valign='top'>
    107 <xsl:for-each select='node'>
     309<xsl:for-each select='classifierNode'>
    108310<xsl:apply-templates select='.' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></xsl:for-each></tr>
    109311</table>
    110312<table width='537'>
    111 <xsl:for-each select='//document'>
     313<xsl:for-each select='//documentNode'>
    112314<tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
    113315</xsl:for-each>
     
    115317<xsl:call-template name="greenBar"/>
    116318</xsl:template>
    117 
     319-->
     320<!--
    118321<xsl:template match="classifier[@type='horizontal' and @interleave='true']">
    119322<xsl:param name="collName">coll-name</xsl:param>
    120323<xsl:param name="serviceName">ClassifierBrowse</xsl:param>
    121 <xsl:variable name='link' select='@link'/>
     324<xsl:variable name='link' select='@link'/>-->
    122325<!-- process the nodes and documents together -->
    123 
     326<!--
    124327<table><tr valign='top'>
    125 <xsl:for-each select='node|document'>
    126 <xsl:choose><xsl:when test='name()="node"'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
     328<xsl:for-each select='classifierNode|documentNode'>
     329<xsl:choose><xsl:when test='name()="classifierNode"'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
    127330</xsl:when>
    128331<xsl:otherwise><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates>
     
    131334</tr>
    132335<tr valign='top'>
    133 <xsl:for-each select='node|document'>
    134 <xsl:choose><xsl:when test='name()="node" and node|document'><xsl:if test="$link='icon'"><td></td></xsl:if><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></xsl:when>
     336<xsl:for-each select='classifierNode|documentNode'>
     337<xsl:choose><xsl:when test='name()="classifierNode" and classifierNode|documentNode'><xsl:if test="$link='icon'"><td></td></xsl:if><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></xsl:when>
    135338<xsl:otherwise><td></td><xsl:if test="$link='icon'"><td></td></xsl:if>
    136339</xsl:otherwise>
     
    140343<xsl:call-template name="greenBar"/>
    141344</xsl:template>
    142 
     345-->
    143346<!-- different template for document, not used at the moment
    144347priority attribute used to decide which template to use -->
    145348<!--
    146 <xsl:template match="document" priority="1">
     349<xsl:template match="documentNode" priority="1">
    147350<xsl:param name="collName">coll-name</xsl:param>
    148351<xsl:variable name='library' select='ancestor::page/config/library_name'/>
    149352<xsl:variable name='year' select="metadataList/metadata[@name='Year']"/>
    150353<xsl:variable name='month' select="metadataList/metadata[@name='Month']"/>
    151 <td><b><xsl:if test="not($year = preceding-sibling::document[1]/metadataList/metadata[@name='Year'])"><xsl:value-of select="$year"/></xsl:if></b></td>
    152 <td><b><xsl:if test="not($year = preceding-sibling::document[1]/metadataList/metadata[@name='Year'] and $month = preceding-sibling::document[1]/metadataList/metadata[@name='Month'])"><xsl:value-of select="$month"/></xsl:if></b></td>
    153 <td><a href="{$library}?a=r&amp;c={$collName}&amp;r={@name}"><img src='interfaces/default/images/book.gif' width='18' height='11' border='0'/></a></td><td><xsl:value-of select="metadataList/metadata[@name='Title']"/></td>
    154 </xsl:template>
    155 -->
    156 
    157 <xsl:template match="document">
    158 <xsl:param name="collName">coll-name</xsl:param>
    159 <xsl:variable name='library' select='ancestor::page/config/library_name'/>
    160 <td><a href="{$library}?a=d&amp;c={$collName}&amp;d={@name}"><img src='interfaces/default/images/book.gif' width='18' height='11' border='0'/></a></td><td><xsl:value-of select="metadataList/metadata[@name='Title']"/></td>
    161 </xsl:template>
    162 
    163 
    164 <!-- the output for the classifier link and label, may be overwritten -->
    165 
    166 <xsl:template match="node" mode="current-node">
     354<td><b><xsl:if test="not($year = preceding-sibling::documentNode[1]/metadataList/metadata[@name='Year'])"><xsl:value-of select="$year"/></xsl:if></b></td>
     355<td><b><xsl:if test="not($year = preceding-sibling::documentNode[1]/metadataList/metadata[@name='Year'] and $month = preceding-sibling::documentNode[1]/metadataList/metadata[@name='Month'])"><xsl:value-of select="$month"/></xsl:if></b></td>
     356<td><a href="{$library}?a=r&amp;c={$collName}&amp;r={@nodeID}"><img src='interfaces/default/images/book.gif' width='18' height='11' border='0'/></a></td><td><xsl:value-of select="metadataList/metadata[@name='Title']"/></td>
     357</xsl:template>
     358-->
     359<!--
     360
     361<xsl:template match="classifierNode" mode="current-node">
    167362<xsl:param name="collName">coll-name</xsl:param>
    168363<xsl:param name="serviceName">ClassifierBrowse</xsl:param>
     
    170365<xsl:variable name="library" select="ancestor::page/config/library_name"/>
    171366<xsl:choose><xsl:when test="$link='icon'">
    172 <td><a><xsl:attribute name='href'><xsl:value-of select='$library'/>?a=b&amp;s=<xsl:value-of select='$serviceName'/>&amp;c=<xsl:value-of select='$collName'/>&amp;cl=<xsl:value-of select='@name'/><xsl:if test="node|document">.pr</xsl:if></xsl:attribute><img src='interfaces/default/images/bshelf.gif' border='0' width='20' height='16' /></a></td><td align='left'><xsl:value-of select="metadataList/metadata[@name='Title']"/></td>
     367<td><a><xsl:attribute name='href'><xsl:value-of select='$library'/>?a=b&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><img src='interfaces/default/images/bshelf.gif' border='0' width='20' height='16' /></a></td><td align='left'><xsl:value-of select="metadataList/metadata[@name='Title']"/></td>
    173368</xsl:when><xsl:otherwise>
    174 <td><a><xsl:attribute name='href'><xsl:value-of select='$library'/>?a=b&amp;s=<xsl:value-of select='$serviceName'/>&amp;c=<xsl:value-of select='$collName'/>&amp;cl=<xsl:value-of select='@name'/><xsl:if test="node|document">.pr</xsl:if></xsl:attribute><xsl:value-of select="metadataList/metadata[@name='Title']"/></a></td>
    175 </xsl:otherwise></xsl:choose>
    176 </xsl:template>
    177 
    178 <!-- processing for the recursive bit -->
    179 <!-- if interleave=true, process all child nodes and documents, else just do nodes -->
    180 
    181 
    182 <xsl:template match="node" mode="process-all-children">
     369<td><a><xsl:attribute name='href'><xsl:value-of select='$library'/>?a=b&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:value-of select="metadataList/metadata[@name='Title']"/></a></td>
     370</xsl:otherwise></xsl:choose>
     371</xsl:template>
     372-->
     373
     374<!--
     375<xsl:template match="classifierNode" mode="process-all-children">
    183376<xsl:param name="collName">coll-name</xsl:param>
    184377<xsl:param name="serviceName">ClassifierBrowse</xsl:param>
     
    186379<td><p/>
    187380<xsl:choose><xsl:when test='@type="vertical"'>
    188 <table><xsl:for-each select='node|document'>
    189 <xsl:choose><xsl:when test='name()="node"'><tr valign='top'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr><tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr>
     381<table><xsl:for-each select='classifierNode|documentNode'>
     382<xsl:choose><xsl:when test='name()="classifierNode"'><tr valign='top'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr><tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr>
    190383</xsl:when>
    191384<xsl:otherwise><tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
     
    194387</xsl:when>
    195388<xsl:otherwise>
    196 <table><tr valign='top'><xsl:for-each select='node|document'>
     389<table><tr valign='top'><xsl:for-each select='classifierNode|documentNode'>
    197390<xsl:choose><xsl:when test='name()="node"'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates>
    198391</xsl:when>
     
    204397</td>
    205398</xsl:template>
    206 
    207 
    208 <xsl:template match="node" mode="process-node-children">
     399-->
     400
     401<!--
     402<xsl:template match="classifierNode" mode="process-node-children">
    209403<xsl:param name="collName">coll-name</xsl:param>
    210404<xsl:param name="serviceName">ClassifierBrowse</xsl:param>
    211405<xsl:param name="link">icon</xsl:param>
    212406<td><p/>
    213 <xsl:if test='node'><!-- only do this if there are child nodes - netscape craps out at an empty table like <table  /> -->
    214 <xsl:choose><xsl:when test='@type="vertical"'>
    215 <table><xsl:for-each select='node'><tr valign='top'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr><tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr></xsl:for-each></table>
     407<xsl:if test='classifierNode'>--><!-- only do this if there are child nodes - netscape craps out at an empty table like <table  /> -->
     408<!--<xsl:choose><xsl:when test='@type="vertical"'>
     409<table><xsl:for-each select='classifierNode'><tr valign='top'><xsl:apply-templates select='.' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates></tr><tr valign='top'><td></td><xsl:apply-templates select='.' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr></xsl:for-each></table>
    216410</xsl:when>
    217411<xsl:otherwise>
    218 <table><tr valign='top'><xsl:apply-templates select='node' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates><xsl:apply-templates select='node' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr></table>
     412<table><tr valign='top'><xsl:apply-templates select='classifierNode' mode='current-node'><xsl:with-param name='link' select='$link'/><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates><xsl:apply-templates select='classifierNode' mode='process-node-children'><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='link' select='$link'/></xsl:apply-templates></tr></table>
    219413</xsl:otherwise></xsl:choose>
    220414</xsl:if>
    221415</td>
    222416</xsl:template>
    223 
    224 </xsl:stylesheet>
    225 
    226 
    227 
    228 
     417-->
     418
     419
     420
     421
     422
Note: See TracChangeset for help on using the changeset viewer.