xsl-mode屬性用法

本文出自 「熔 巖」 博客,出處http://lavasoft.blog.51cto.com/62575/60517app

 

 

對某一個元素作屢次處理,那麼選擇<xsl:apply-template元素處理。
若是要每次對同一個元素處理輸出不一樣的結果,那麼就須要使用mode屬性。
<xsl:template>和<xsl:apply-templates>都有一個mode屬性,只有在這兩個元素裏面同時設定了mode屬性,而且屬性值相同,那麼模板規則纔會匹配。spa

 

例如:
employees.xml
<? xml version ="1.0" encoding ="GB2312" ?>
<? xml-stylesheet type ="text/xsl" href ="employees.xsl" ?>

<!-- 這是公司僱員的信息-->
< employees >

     < employee sn ="E-200402100001" >
         < name >zhangsan </ name >
         < age >25 </ age >
        <!-- 月薪小於等於2000元的僱員工資,以現金方式發放-->
         < monthly_pay mode ="cash" >
            1200.00
         </ monthly_pay >
     </ employee >
    
     < employee sn ="E-200402100006" >
         < name >lisi </ name >
         < age >28 </ age >
         < monthly_pay mode ="cash" >
            1600.00
         </ monthly_pay >
     </ employee >
    
     < employee sn ="E-200503220001" >
         < name >wangwu </ name >
         < age >30 </ age >
        <!-- 月薪高於2000元的僱員工資,以信用卡轉賬的方式發放-->
         < monthly_pay mode ="credit_card" >
            3500.00
         </ monthly_pay >
     </ employee >
    
</ employees >
 
employees.xsl
<? xml version ="1.0" ?>
< xsl:stylesheet version ="1.0" xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" >
    
     < xsl:template match ="/" >
         < table border ="1" >
             < xsl:apply-templates select ="employees/employee" mode ="table" />
         </ table >
         < xsl:apply-templates select ="employees/employee" mode ="list" />
     </ xsl:template >
    
     < xsl:template match ="employee" mode ="table" >
         < tr >
             < td > < xsl:value-of select ="name" /> </ td >
             < td > < xsl:value-of select ="age" /> </ td >
             < td > < xsl:value-of select ="monthly_pay" /> </ td >
         </ tr >
     </ xsl:template >
    
     < xsl:template match ="employee" mode ="list" >
         < ul >
             < li > < xsl:value-of select ="name" /> </ li >
             < li > < xsl:value-of select ="age" /> </ li >
             < li > < xsl:value-of select ="monthly_pay" /> </ li >
         </ ul >
     </ xsl:template >
    
</ xsl:stylesheet >
 
輸出的HTML文件:
< table border ="1" >
     < tr >
         < td >zhangsan </td>
         < td >25 </td>
         < td >1200.00 </td>
     </tr>
     < tr >
         < td >lisi </td>
         < td >28 </td>
         < td >1600.00 </td>
     </tr>
     < tr >
         < td >wangwu </td>
         < td >30 </td>
         < td >3500.00 </td>
     </tr>
</table>
< ul >
     < li >zhangsan </li>
     < li >25 </li>
     < li >1200.00 </li>
</ul>
< ul >
     < li >lisi </li>
     < li >28 </li>
     < li >1600.00 </li>
</ul>
< ul >
     < li >wangwu </li>
     < li >30 </li>
     < li >3500.00 </li>
</ul>
 
IE中顯式效果:
相關文章
相關標籤/搜索