Changeset 4883


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

Location:
trunk/gsdl3/web/interfaces
Files:
1 added
2 edited

Legend:

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

    r4872 r4883  
    88 
    99  <xsl:include href="style.xsl"/>
    10 
     10  <xsl:include href="classifiertools.xsl"/>
     11 
    1112  <xsl:output method="html"/> 
    1213
     
    5455  </xsl:template>
    5556
    56   <xsl:template match="classifier">
    57     <xsl:param name="collName"/>
    58     <xsl:param name="serviceName"/>
    59     <xsl:variable name="cl_name"><xsl:value-of select="@name"/></xsl:variable>
    60     <xsl:choose>
    61       <xsl:when test="/page/pageResponse/service/classifierList/classifier[@name=$cl_name]/@horizontalAtTop">
    62     <xsl:apply-templates select="." mode="horizontal-at-top">
    63       <xsl:with-param name="collName" select="$collName"/>
    64       <xsl:with-param name="serviceName" select="$serviceName"/>
    65     </xsl:apply-templates>
    66       </xsl:when>
    67       <xsl:otherwise>
    68     <xsl:apply-templates select="." mode="default">
    69       <xsl:with-param name="collName" select="$collName"/>
    70       <xsl:with-param name="serviceName" select="$serviceName"/>
    71     </xsl:apply-templates>
    72       </xsl:otherwise>
    73     </xsl:choose>
    74   </xsl:template>
    75  
    76 
    77   <xsl:template match="classifier" mode="horizontal-at-top">
    78     <xsl:param name="collName"/>
    79     <xsl:param name="serviceName"/>
    80     <table width='537'>
    81       <tr valign='top'>
    82     <xsl:for-each select='classifierNode'>
    83       <xsl:apply-templates select='.' mode="horizontal"><xsl:with-param name='collName' select='$collName'/><xsl:with-param name='serviceName' select='$serviceName'/></xsl:apply-templates>
    84     </xsl:for-each>
    85       </tr>
    86     </table>
    87     <table width='537'>
    88       <tr valign='top'>
    89     <xsl:for-each select='classifierNode'>
    90       <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>
    91     </xsl:for-each>
    92       </tr>
    93     </table>
    94     <xsl:call-template name="greenBar"/>
    95   </xsl:template>
    96 
    97   <xsl:template match="classifier" mode="default"> <!-- the default -->
    98     <xsl:param name="collName"/>
    99     <xsl:param name="serviceName"/>
    100     <table width='537'>
    101       <xsl:for-each select='classifierNode|documentNode'>
    102     <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>
    103     <xsl:if test='name()="classifierNode"'>
    104       <!--recurse into the children-->
    105       <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>
    106     </xsl:if>
    107       </xsl:for-each>
    108     </table>
    109     <xsl:call-template name="greenBar"/>
    110   </xsl:template>
    111   <!-- recursively process all nodes and documents -->
    112  
    113   <xsl:template match="documentNode">
    114     <xsl:param name="collName"/>
    115     <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>
    116   </xsl:template>
    117  
    118   <!-- icon + title template-->
    119   <xsl:template match="classifierNode">
    120     <xsl:param name="collName"/>
    121     <xsl:param name="serviceName"/>
    122     <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>
    123   </xsl:template>
    124  
    125   <!-- the title is a link: an alternative template -->
    126   <xsl:template match="classifierNode" mode="horizontal">
    127     <xsl:param name="collName"/>
    128     <xsl:param name="serviceName"/>
    129     <xsl:choose>
    130       <xsl:when test="classifierNode|documentNode"><!-- the opened one -->
    131     <td><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name='Title']"/></td>
    132       </xsl:when>
    133       <xsl:otherwise>
    134     <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>
    135       </xsl:otherwise>
    136     </xsl:choose>
    137   </xsl:template>
    138  
    139 
    140 <!-- processing for the recursive bit -->
    141 <!-- if interleave=true, process all child nodes and documents, else just do nodes -->
    142 
    143 
    144   <xsl:template match="classifierNode" mode="process-all-children">
    145     <xsl:param name="collName"/>
    146     <xsl:param name="serviceName"/>
    147     <!-- only do this if there are children -->
    148     <xsl:if test="classifierNode|documentNode">
    149       <td>
    150       <table> 
    151     <xsl:for-each select='classifierNode|documentNode'>
    152       <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>
    153       <xsl:if test='name()="classifierNode"'>
    154         <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>
    155       </xsl:if>       
    156     </xsl:for-each>
    157       </table>
    158       </td>
    159     </xsl:if>
    160   </xsl:template>
    161  
    16257</xsl:stylesheet>
    16358
  • 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.