XSLT——XML样式表转换语言

XML样式表转换语言

1. XSLT是XSLTransformations的缩写,它是XSL的一个组成部分。

XSL(EXtensible StyleSheet)由三部分组成:

–  XSLT。XSLT的作用是将一个XML文档转换为另一种类别的XML文档(也包括HTML文档)。

–  XPath。XPath的作用是指定访问XML数据的寻址路径表达式。

–  XSL-FO(XSL Formatting Objects)。XSL-FO的作用是对XML文档中的数据排版

2. XSLT工作原理:将如下XML文档转换为HTML文档

<?xml version="1.0" encoding="GBK" ?>
<?xml-stylesheet type="text/xsl" href="books.xsl" ?>
<books>
  <book category="TP18">
    <title lang=”cn”>人工智能及其应用</title>
    <authors>
      <author>蔡自兴</author>
      <author>徐光祐</author>
    </authors>
    <ISBN>7-302-02127-9</ISBN>
    <date>1996年5月</date>
<publisher>清华大学出版社</publisher>
<price>32.50</price>
  </book>
</books> 

相应的XSLT文档:

 <?xml version="1.0" encoding="GBK" ?>
 <xsl:stylesheet version="1.0 "  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template  match="/books/book">
   <table border="1">
   <tr>
      <td bgcolor="#9acd32">标题</td>
      <td><xsl:value-of select="title" /></td>
   </tr>  
   <tr>
      <td bgcolor="#9acd32">作者</td>
      <td><xsl:for-each select="authors/author">
                <xsl:value-of select="." /> <![CDATA[   ]]>
              </xsl:for-each> </td>
   </tr>
   <tr>
      <td bgcolor="#9acd32">出版社</td>
      <td><xsl:value-of select="publisher" /></td>
   </tr> 
  </table>
   <br/>
 </xsl:template>
 </xsl:stylesheet> 

转换后产生的HTML文档:

<table border="1">
   <tr> <td bgcolor="#9acd32">标题</td>
           <td>人工智能及其应用</td> </tr>  
   <tr><td bgcolor="#9acd32">作者</td>
          <td>蔡自兴 徐光祐</td> </tr>
   <tr> <td bgcolor="#9acd32">出版社</td>
           <td>清华大学出版社</td> </tr>
</table>

3. XSLT工作原理

4.将XML转换为HTML

•    要将XML文档转换为HTML,除了要进行转换的XML文件本身之外,还需要一个指定转换规则的XSLT文件,此外,还必须在XML文件中指出对应的XSLT文件的URL。

•    在XML文件中,必须在开头放置一条处理指令,其格式为:

  <?xml-stylesheettype=“text/xsl”  href=”your-xsl-file-URL”?> 

•    在XSLT文件中其根元素必须是stylesheet,并且必须声明XSLT的命名空间,为这个空间指定前缀,例如:

 <xsl:stylesheet version=”1.0” xmlns:xsl=http://www.w3.org/1999/XSL/Transform >

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值