XML与XSLT

        之前有谈过XML与CSS的搭配,可以让用户拥有多种数据显示样式。但这种搭配亦有不足之处,首先 编写者必须了解和掌握XML和CSS两种语法规则,无形中增加了编写者的知识成本;其次,编写者无法对数据进行查询性的显示,即通过XML与CSS的搭配只能将所有数据全部显示出来,无法实现只显示符合某种条件的数据。

       为了降低编写者的知识成本,W3C组织又在XML文件基础之上定义了新的样式文件 -- XSLT(eXtended Stylesheet Language Transformation)。它遵循XML语法要求,编写者只要会写XML文件,就能够写出简单的XSLT文件。

<? xml version=”1.0” encoding=”GB2312” ?>
< xsl:stylesheet  version =”1.0”  xmlns:xsl =”http:/www.3w.org/1999/XSL/Transform”>
  
<!-- Formatting commands for this document as a whole -- >
</ xsl:stylesheet >

       XSLT样式文件使用模板(Template)系统来匹配XML文件中的内容,并规定如何处理它们。一旦某个模板匹配上了XML中的一个元素,就会将模板内容应用到该元素上。使用xsl:value-of可以查询出XML中指定结点的值,使用xsl:for-each,xsl:choose、xsl:when和xsl:otherwise,xsl:if元素可以对数据实现循环查询和条件条件。

       XSLT样式文件中必须有一个与XML文档根元素匹配的模板。

<? xml version="1.0" encoding="utf-8" ?>
< xsl:stylesheet  version ="1.0"  xmlns:xsl ="http://www.w3.org/1999/XSL/Transform"   >
  
< xsl:template  match ="/" >
      
< html >
          
< head >
            
< title > XSLT样式表文件使用举例 </ title >
        
</ head >
        
< body  style ="text-align:center" >
            
< xsl:apply-templates  />
        
</ body >
    
</ html >
  
</ xsl:template >
</ xsl:stylesheet >  

        每个模板以<xsl:template>标记开始,结束与</xsl:template>。其match属性说明该模板将会应用到XML中的哪个元素上去,“/”表示XML文档的根元素。

        下面我们用一个具体的例子来说明。假设有一个用于存储用户在网上购物信息的XML文件,其内容如下:

<? xml version="1.0" encoding="gb2312" ?>
<? xml-stylesheet type=”text/xsl” href=”Test.xsl” ?>
< shoppingcart >
  
< customer >
    
< name > 赵子龙 </ name >
    
< email >
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值