以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  请帮忙:根据各元素的值显示不同颜色  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=22707)


--  作者:流星
--  发布时间:10/1/2005 11:57:00 PM

--  请帮忙:根据各元素的值显示不同颜色
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="student3.xsl"?>
<roster>
 <student>
  <number>001</number>
  <name>John</name>
  <Java>85</Java>
  <Oracle>88</Oracle>
  <VisualBasic>90</VisualBasic>
 </student>
 
 <student>
  <number>002</number>
  <name>Peter</name>
  <Java>65</Java>
  <Oracle>54</Oracle>
  <VisualBasic>95</VisualBasic>
 </student>
 
 <student>
  <number>003</number>
  <name>Jacken</name>
  <Java>95</Java>
  <Oracle>82</Oracle>
  <VisualBasic>67</VisualBasic>
 </student>
 
 <student>
  <number>004</number>
  <name>Windey</name>
  <Java>76</Java>
  <Oracle>87</Oracle>
  <VisualBasic>75</VisualBasic>
 </student>
 
 <student>
  <number>005</number>
  <name>Anita</name>
  <Java>88</Java>
  <Oracle>65</Oracle>
  <VisualBasic>99</VisualBasic>
 </student>
 
 <student>
  <number>006</number>
  <name>Richard</name>
  <Java>87</Java>
  <Oracle>78</Oracle>
  <VisualBasic>90</VisualBasic>
 </student>
 
 <student>
  <number>007</number>
  <name>Regina</name>
  <Java>90</Java>
  <Oracle>76</Oracle>
  <VisualBasic>59</VisualBasic>
 </student>
 
 <student>
  <number>008</number>
  <name>Kitty</name>
  <Java>67</Java>
  <Oracle>87</Oracle>
  <VisualBasic>89</VisualBasic>
 </student>
 
 <student>
  <number>009</number>
  <name>Esmond</name>
  <Java>65</Java>
  <Oracle>87</Oracle>
  <VisualBasic>89</VisualBasic>
 </student>
 
 <student>
  <number>010</number>
  <name>Dino</name>
  <Java>98</Java>
  <Oracle>98</Oracle>
  <VisualBasic>88</VisualBasic>
 </student>
</roster>

怎样编辑student3.xsl文件显示所有学生成绩,并且如果某学生的某项成绩大于90分,则此成绩用红色显示,小于60分则用黑色显示,否则用蓝色显示
我编辑了一个student3.xsl文件,但实现的功能是如果某项成绩大于90,则此学生所有成绩都用红色显示,某项成绩小于60,则此学生所有成绩都用黑色显示,否则都用蓝色显示
请各位帮帮忙,修改一下,实现我需要的功能。谢~~~
代码如下:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="uri:xsl">
 <xsl:template match="/">
  <html>
   <body>
    <h2 align="center">学生成绩单</h2>
    <xsl:apply-templates select="roster"/>
   </body>
  </html>
 </xsl:template>
 <xsl:template match="roster">
  <table boder="1" cellpadding="10" align="center">
   <tr>
    <th>学号</th>
    <th>姓名</th>
    <th>Java</th>
    <th>Oracle</th>
    <th>VisualBasic</th>
   </tr>
   
   <xsl:for-each select="student" order-by="number">
    <xsl:choose>
     <xsl:when match=".[Java $gt$ 90 or Oracle $gt$ 90 or VisualBasic $gt$ 90]">
      <tr>
       <xsl:for-each select="*">
        <td>
         <font color="red">
          <xsl:value-of select="."/>
         </font>
        </td>
       </xsl:for-each>
      </tr>
     </xsl:when>
    
     <xsl:when match=".[Java $lt$ 60 or Oracle $lt$ 60 or VisualBasic $lt$ 60]">
      <tr>
       <xsl:for-each select="*">
        <td>
         <font color="blue">
          <xsl:value-of select="."/>
         </font>
        </td>
       </xsl:for-each>
      </tr>
     </xsl:when>
     
     <xsl:otherwise>
      <tr>
       <xsl:for-each select="*">
        <td>
         <font color="black">
          <xsl:value-of select="."/>
         </font>
        </td>
       </xsl:for-each>
      </tr>
     </xsl:otherwise>
     
    </xsl:choose>
   </xsl:for-each>
  </table>
 </xsl:template>
</xsl:stylesheet>


--  作者:Qr
--  发布时间:10/2/2005 10:49:00 AM

--  
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="uri:xsl">
<xsl:template match="/">
  <html>
   <body>
    <h2 align="center">学生成绩单</h2>
    <xsl:apply-templates select="roster"/>
   </body>
  </html>
</xsl:template>

<xsl:template match="roster">
  <table boder="1" cellpadding="10" align="center">
   <tr>
    <th>学号</th>
    <th>姓名</th>
    <th>Java</th>
    <th>Oracle</th>
    <th>VisualBasic</th>
   </tr>
   
   <xsl:apply-templates select="student"  order-by="number"/>
   
  </table>
</xsl:template>

<xsl:template match="student">
   <tr>
   <td><xsl:apply-templates select="number"/></td>
   <td><xsl:apply-templates select="name"/></td>
   <td><xsl:apply-templates select="Java"/></td>
   <td><xsl:apply-templates select="Oracle"/></td>
   <td><xsl:apply-templates select="VisualBasic"/></td>
   </tr>
</xsl:template>

<xsl:template match="number|name">
   <xsl:value-of select="."/>
</xsl:template>

<xsl:template match="Java|Oracle|VisualBasic">
   <xsl:choose>
     <xsl:when match=".[. $gt$ 90 or . $eq$ 90]"><font color="red"><xsl:value-of select="."/></font></xsl:when>
     <xsl:when match=".[. $lt$ 60]"><xsl:value-of select="."/></xsl:when>
     <xsl:otherwise><font color="blue"><xsl:value-of select="."/></font></xsl:otherwise>
   </xsl:choose>
</xsl:template>

</xsl:stylesheet>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms