Changeset 3885
- Timestamp:
- 2003-03-18T13:25:55+12:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl3/interfaces/default/transform/classifier.xsl
r3871 r3885 1 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 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 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&c=collName&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&c=collName&d=name"><img3 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&c=collName&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&c=collName&d=name"><img 15 15 src="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> 16 16 17 <xsl:template match="document" priority="4"><td><a xmlns:xslt="http://www.w3.org/1999/XSL/Transform" href="library?a=d&c=collName&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&s={$serviceName}&c={$collName}&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&c=collName&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&s={$serviceName}&c={$collName}&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&c={$collName}&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&s=<xsl:value-of select='$serviceName'/>&c=<xsl:value-of select='$collName'/>&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&s=<xsl:value-of select='$serviceName'/>&c=<xsl:value-of select='$collName'/>&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> 58 273 </xsl:for-each> 59 </t r></table>274 </table> 60 275 <xsl:call-template name="greenBar"/> 61 276 </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 <!-- 79 280 <xsl:template match="classifier[@type='vertical' and @interleave='false']"> 80 281 <xsl:param name="collName">coll-name</xsl:param> 81 282 <xsl:param name="serviceName">ClassifierBrowse</xsl:param> 82 <xsl:variable name='link' select='@link'/> 283 <xsl:variable name='link' select='@link'/>--> 83 284 <!-- 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> 84 289 <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'> 90 291 <tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr> 91 292 </xsl:for-each> … … 93 294 <xsl:call-template name="greenBar"/> 94 295 </xsl:template> 95 296 --> 297 <!-- 96 298 <xsl:template match="classifier[@type='horizontal' and @interleave='false']"> 97 299 <xsl:param name="collName">coll-name</xsl:param> 98 300 <xsl:param name="serviceName">ClassifierBrowse</xsl:param> 99 <xsl:variable name='link' select='@link'/> 301 <xsl:variable name='link' select='@link'/>--> 100 302 <!-- process the nodes and documents separately--> 101 303 <!-- 102 304 <table width='537'><tr valign='top'> 103 <xsl:for-each select=' node'>305 <xsl:for-each select='classifierNode'> 104 306 <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> 105 307 </xsl:for-each></tr> 106 308 <tr valign='top'> 107 <xsl:for-each select=' node'>309 <xsl:for-each select='classifierNode'> 108 310 <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> 109 311 </table> 110 312 <table width='537'> 111 <xsl:for-each select='//document '>313 <xsl:for-each select='//documentNode'> 112 314 <tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr> 113 315 </xsl:for-each> … … 115 317 <xsl:call-template name="greenBar"/> 116 318 </xsl:template> 117 319 --> 320 <!-- 118 321 <xsl:template match="classifier[@type='horizontal' and @interleave='true']"> 119 322 <xsl:param name="collName">coll-name</xsl:param> 120 323 <xsl:param name="serviceName">ClassifierBrowse</xsl:param> 121 <xsl:variable name='link' select='@link'/> 324 <xsl:variable name='link' select='@link'/>--> 122 325 <!-- process the nodes and documents together --> 123 326 <!-- 124 327 <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> 127 330 </xsl:when> 128 331 <xsl:otherwise><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates> … … 131 334 </tr> 132 335 <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> 135 338 <xsl:otherwise><td></td><xsl:if test="$link='icon'"><td></td></xsl:if> 136 339 </xsl:otherwise> … … 140 343 <xsl:call-template name="greenBar"/> 141 344 </xsl:template> 142 345 --> 143 346 <!-- different template for document, not used at the moment 144 347 priority attribute used to decide which template to use --> 145 348 <!-- 146 <xsl:template match="document " priority="1">349 <xsl:template match="documentNode" priority="1"> 147 350 <xsl:param name="collName">coll-name</xsl:param> 148 351 <xsl:variable name='library' select='ancestor::page/config/library_name'/> 149 352 <xsl:variable name='year' select="metadataList/metadata[@name='Year']"/> 150 353 <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&c={$collName}&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&c={$collName}&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&c={$collName}&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"> 167 362 <xsl:param name="collName">coll-name</xsl:param> 168 363 <xsl:param name="serviceName">ClassifierBrowse</xsl:param> … … 170 365 <xsl:variable name="library" select="ancestor::page/config/library_name"/> 171 366 <xsl:choose><xsl:when test="$link='icon'"> 172 <td><a><xsl:attribute name='href'><xsl:value-of select='$library'/>?a=b&s=<xsl:value-of select='$serviceName'/>&c=<xsl:value-of select='$collName'/>&cl=<xsl:value-of select='@n ame'/><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&s=<xsl:value-of select='$serviceName'/>&c=<xsl:value-of select='$collName'/>&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> 173 368 </xsl:when><xsl:otherwise> 174 <td><a><xsl:attribute name='href'><xsl:value-of select='$library'/>?a=b&s=<xsl:value-of select='$serviceName'/>&c=<xsl:value-of select='$collName'/>&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&s=<xsl:value-of select='$serviceName'/>&c=<xsl:value-of select='$collName'/>&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"> 183 376 <xsl:param name="collName">coll-name</xsl:param> 184 377 <xsl:param name="serviceName">ClassifierBrowse</xsl:param> … … 186 379 <td><p/> 187 380 <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> 190 383 </xsl:when> 191 384 <xsl:otherwise><tr valign='top'><xsl:apply-templates select='.'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr> … … 194 387 </xsl:when> 195 388 <xsl:otherwise> 196 <table><tr valign='top'><xsl:for-each select=' node|document'>389 <table><tr valign='top'><xsl:for-each select='classifierNode|documentNode'> 197 390 <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> 198 391 </xsl:when> … … 204 397 </td> 205 398 </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"> 209 403 <xsl:param name="collName">coll-name</xsl:param> 210 404 <xsl:param name="serviceName">ClassifierBrowse</xsl:param> 211 405 <xsl:param name="link">icon</xsl:param> 212 406 <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> 216 410 </xsl:when> 217 411 <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> 219 413 </xsl:otherwise></xsl:choose> 220 414 </xsl:if> 221 415 </td> 222 416 </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.