Ignore:
Timestamp:
2003-07-04T11:36:52+12:00 (21 years ago)
Author:
kjdon
Message:

moved a lot of the classifier stuff into classifiertools.xsl so that it can be shared between interfaces

File:
1 edited

Legend:

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

    r4863 r4883  
    88 
    99  <xsl:include href="style.xsl"/>
    10 
     10  <xsl:include href="classifiertools.xsl"/>
     11 
    1112  <xsl:output method="html"/> 
    1213
     
    3435  </xsl:template>
    3536 
    36   <xsl:template match="classifier">
    37     <xsl:param name="collName"/>
    38     <xsl:param name="serviceName"/>
    39     <xsl:variable name="cl_name"><xsl:value-of select="@name"/></xsl:variable>
    40     <xsl:choose>
    41       <xsl:when test="/page/pageResponse/service/classifierList/classifier[@name=$cl_name]/@horizontalAtTop">
    42     <xsl:apply-templates select="." mode="horizontal-at-top">
    43       <xsl:with-param name="collName" select="$collName"/>
    44       <xsl:with-param name="serviceName" select="$serviceName"/>
    45     </xsl:apply-templates>
    46       </xsl:when>
    47       <xsl:otherwise>
    48     <xsl:apply-templates select="." mode="default">
    49       <xsl:with-param name="collName" select="$collName"/>
    50       <xsl:with-param name="serviceName" select="$serviceName"/>
    51     </xsl:apply-templates>
    52       </xsl:otherwise>
    53     </xsl:choose>
    54   </xsl:template>
    55  
    5637
    57   <xsl:template match="classifier" mode="horizontal-at-top">
    58     <xsl:param name="collName"/>
    59     <xsl:param name="serviceName"/>
    60     <table width='537'>
    61       <tr valign='top'>
    62     <xsl:for-each select='classifierNode'>
    63       <xsl:apply-templates select='.' mode="horizontal"><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
    64     </xsl:for-each>
    65       </tr>
    66     </table>
    67     <table width='537'>
    68       <tr valign='top'>
    69     <xsl:for-each select='classifierNode'>
    70       <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>
    71     </xsl:for-each>
    72       </tr>
    73     </table>
    74     <xsl:call-template name="greenBar"/>
    75   </xsl:template>
    76 
    77   <xsl:template match="classifier" mode="default"> <!-- the default -->
    78     <xsl:param name="collName"/>
    79     <xsl:param name="serviceName"/>
    80     <table width='537'>
    81       <xsl:for-each select='classifierNode|documentNode'>
    82     <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>
    83     <xsl:if test='name()="classifierNode"'>
    84       <!--recurse into the children-->
    85       <tr valign='top'><td><xsl:text> </xsl:text></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>
    86     </xsl:if>
    87       </xsl:for-each>
    88     </table>
    89     <xsl:call-template name="greenBar"/>
    90   </xsl:template>
    91   <!-- recursively process all nodes and documents -->
    92  
    93   <xsl:template match="documentNode">
    94     <xsl:param name="collName"/>
    95     <td><a href="{$library_name}?a=d&amp;c={$collName}&amp;d={@nodeID}&amp;dt={@documentType}"><xsl:apply-templates select="." mode="displayNodeIcon"/></a></td><td align='left'><xsl:value-of disable-output-escaping="yes"  select="metadataList/metadata[@name='Title']"/></td>
    96   </xsl:template>
    97  
    98   <!-- icon + title template-->
    99   <xsl:template match="classifierNode">
    100     <xsl:param name="collName"/>
    101     <xsl:param name="serviceName"/>
    102     <td><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><img src='interfaces/default/images/bshelf.gif' border='0' width='20' height='16' /></a></td><td align='left'><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/></td>
    103   </xsl:template>
    104  
    105   <!-- the title is a link: an alternative template -->
    106   <xsl:template match="classifierNode" mode="horizontal">
    107     <xsl:param name="collName"/>
    108     <xsl:param name="serviceName"/>
    109     <xsl:choose>
    110       <xsl:when test="classifierNode|documentNode"><!-- the opened one -->
    111     <td><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/></td>
    112       </xsl:when>
    113       <xsl:otherwise>
    114     <td><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:attribute><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/></a></td>
    115       </xsl:otherwise>
    116     </xsl:choose>
    117   </xsl:template>
    118  
    119 
    120 <!-- processing for the recursive bit -->
    121 <!-- if interleave=true, process all child nodes and documents, else just do nodes -->
    122 
    123 
    124   <xsl:template match="classifierNode" mode="process-all-children">
    125     <xsl:param name="collName"/>
    126     <xsl:param name="serviceName"/>
    127     <!-- only do this if there are children -->
    128     <xsl:if test="classifierNode|documentNode">
    129       <td>
    130       <table> 
    131     <xsl:for-each select='classifierNode|documentNode'>
    132       <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>
    133       <xsl:if test='name()="classifierNode"'>
    134         <tr valign='top'><td><xsl:text> </xsl:text></td><xsl:apply-templates select='.' mode='process-all-children'><xsl:with-param name='collName' select='$collName'/></xsl:apply-templates></tr>
    135       </xsl:if>       
    136     </xsl:for-each>
    137       </table>
    138       </td>
    139     </xsl:if>
    140   </xsl:template>
    141  
    14238</xsl:stylesheet>
    14339
Note: See TracChangeset for help on using the changeset viewer.