站内搜索:     
站点首页破釜学院编程开发XSL教程 → XSL基础教程(三)
正在加载相关信息.....
Web 站内搜索
XSL基础教程(三)
】【打印】【加入收藏】【关闭收藏到新浪ViVi】【收藏到365KEY】 浏览字号:
日期:2004-08-02 人气: 出处:饮水思源站

青苹果工作室编译,转自 ccidnet 网站
2001年03月16日
内容:
 
XSL索引
XSL过滤器
XSL条件IF
XSL条件Choose

XSL(eXtensible Style sheet Language),即可扩展样式表语言,是XML的亲密
伙伴。要学习好XML,不能不掌握XSL。本文就向你全面讲述XSL的一切一切:
XSL索引:将XML文档转换成HTML之前,如何用XML解析器来对XML文档进行索引。

XSL索引
XSL可以用来对一个XML文档进行索引。
将索引信息放在哪里
现在重新看看在以前许多章节中都曾看到过的 XML文档:

    <?xml version="1.0"?>
    <CATALOG>
      <CD>
        <TITLE>Empire Burlesque</TITLE>
        <ARTIST>Bob Dylan</ARTIST>
        <COUNTRY>USA</COUNTRY>
        <COMPANY>Columbia</COMPANY>
        <PRICE>10.90</PRICE>
        <YEAR>1985</YEAR>
      </CD>
    .
    .
    .
要想将这个XML文件作为一个普通的HTML文件输出,并且同时对它进行索引,只需
要在XSL文件中增加一个order-by 属性,如下:
<xsl:for-each select="CATALOG/CD" order-by="+ ARTIST">
order-by属性使用加号(+)或减号(-)来定义是使用升序还是降序,再用一个元素
名称来定义排序的元素。

现在来看看经过轻微调整的XSL样式表(或在IE5中打开它):

    <?xml version='1.0'?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl>
    <xsl:template match="/">
      <html>
      <body>
        <table border="2" bgcolor="yellow">
          <tr>
            <th>Title</th>
            <th>Artist</th>
          </tr>
          <xsl:for-each select="CATALOG/CD"
           order-by="+ ARTIST">
          <tr>
            <td><xsl:value-of select="TITLE"/></td>
            <td><xsl:value-of select="ARTIST"/></td>
          </tr>
          </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>
    </xsl:stylesheet>
在浏览器中转换
以下是在浏览器中将XML文件转换成HTML所需要的简单代码:

    <html>
    <body>
    <script language="javascript">
    // Load XML
    var xml = new ActiveXObject("Microsoft.XMLDOM")
    xml.async = false
    xml.load("cd_catalog.xml")
    // Load the XSL
    var xsl = new ActiveXObject("Microsoft.XMLDOM")
    xsl.async = false
    xsl.load("cd_catalog_sort.xsl")
    // Transform
    document.write(xml.transformNode(xsl))
    </script>
    </body>
    </html>
如果使用的是Internet Explorer 5.0 或更高版本,请点击这里查看结果

>>>> 进入论坛交流 <<<<