XSL基础教程第四章

基础教程

 

XSL索引
    XSL可以用来对一个XML文档进行索引。
  
  将索引信息放在哪里
    现在重新看看在以前许多章节中都曾看到过的 XML文档:
  
    <?xml version="1.0"?>
  
    <CATALOG>
  
     <CD>
  
      <TITLE>Empire Burlesque</TITLE>
  
      <ARTIST>Bob Dylan</ARTIST>
  
      <COUNTRY><?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />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 或更高版本,请点击这里查看结果。
  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文件,只需要为XSL文件中的for-each元素的选择属性增加一个过滤器,如下:
  
    <xsl:for-each select="CATALOG/CD[ARTIST='Bob Dylan']">
  
    合法的过滤器操作符是:
  
    = 等于
  
    != 不等于
  
    < 小于
  
    > 大于
  
    现在看看经过轻微调整的XSL样式表:
  
    <?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[ARTIST='Bob Dylan']">
  
     <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_filter.xsl")
  
    // Transform
  
    document.write(xml.transformNode(xsl))
  
    </script>
  
    </body>
  
    </html>
  
  如果使用的是Internet Explorer 5.0 或更高版本,请点击这里查看结果。
    

时间: 2024-08-02 06:07:37

XSL基础教程第四章的相关文章

XSL基础教程第三章

基础教程   客户端XSL    如果浏览器支持XML,,就可以用XSL在浏览器中将文档转换成HTML.      一个JavaScript的解决方法    在前文中,我们解释了如何用XSL将一个文档从XML转换成HTML.窍门就是向XML文件中增加一个XSL样式表,然后让浏览器来进行转换.即使这种方法能奏效,在XML文件中包含一个样式表引用也并非令人满意的方法,并且在不支持XSL的浏览器上这种方法还不能奏效.       一个更通用的方法应该是用一个JavaScript来进行从XML到HTML

XSL基础教程第五章

基础教程   XSL条件IF    XSL可以用一个IF语句过滤来自XML文档的信息.      在哪里放置IF条件    现在来重新看看你已经看过多次的XML文档:       <?xml version="1.0"?>       <CATALOG>       <CD>       <TITLE>Empire Burlesque</TITLE>       <ARTIST>Bob Dylan</ARTI

XSL基础教程第二章

基础教程   <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />             XSL–转换    本节将举例学习如何用XSL将XML转换成HTML.这个举例的细节将在下一节中解释.      从XML文档开始    首先从打算转换成HTML的XML文档开始:       <?xml version="1.0"?>       &l

XSL基础教程第一章

基础教程   XSL介绍    XML的样式表语言XSL比CCS要复杂得多.      CSS:HTML的样式表语言    由于HTML使用预先确定的标记,因此这些标记的含义都很好理解:<p>元素定义一段,<h1>元素定义一个标题.浏览器知道如何显示这些元素.       使用CSS向HTML元素增加显示格式是一个简单的过程:很容易告诉浏览器用某种特殊字体或颜色来显示各个元素,浏览器也很容易理解.      XSL:XML的样式表    由于XML不使用预先确定的标记(我们可以根据

PHP 和 MySQL 基础教程(四)

mysql|基础教程 MySQL 中的 SQL 对于 MySQL ,第一件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束的,但--没有完全绝对的事,在这儿也是一样. 前面我曾经讲到,当一行 MySQL 被插入在 PHP 代码中时,最好把后面的分号省略掉,例如: mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ('$first_name', '$last_name') "); 这是因为 PHP

FrontPage 2003基础教程(十四) 新建自定义链接

默认链接有时不够用,可以建自定义链接,独立于默认.在插入链接时有两个选项:一个是默认,另一个是自定义链接. 自定义链接可以放在主页下面,也可以放在独立的地方.下图一中的"娱乐"就是放在主页下的.图二中的新建成链接栏是独立的.   当然你还可以在自定义下面添加下层链接. 查看全套FrontPage 2003基础教程

Flash基础理论课 第四章 渲染技术Ⅰ

返回"Flash基础理论课 - 目录" 前一章面所看到的绘图示例中,只使用了一些非常简单的绘图指令,前面我们也几次提到了这个神秘的"drawing API",但没有加以详细的解释.本章我们将学习使用 ActionScript 创建视觉元素,其中包括 ActionScript的颜色,绘图 API ,ColorTransform类,滤镜(filter)和 BitmapData(位图)类.在本章的很多地方都会用到颜色,那么就先来学习第一课吧. Flash中的颜色 在Fla

Flash基础理论课 第四章 渲染技术Ⅲ

返回"Flash基础理论课 - 目录" 滤镜(Filter) 滤镜是一些位图的效果,可以应用于任何显示对象.在 Flash IDE 中可以通过滤镜面板或使用时间轴的 ActionScript 来使用滤镜,由于这本书是关于 ActionScript 的,所以只能简单地讨论一下应用滤镜的方法.在 AS 3 中包括以下几种滤镜: ■ Drop shadow(投影滤镜) ■ Blur(模糊滤镜) ■ Glow(发光滤镜) ■ Bevel(斜角滤镜) ■ Gradient bevel(渐变斜角滤

Flash基础理论课 第四章 渲染技术Ⅱ

返回"Flash基础理论课 - 目录" 使用curveTo绘制曲线 下一个绘图函数,curveTo(x1, y1, x2, y2),起点和lineTo 一样,同样是以上一次画线的终点做为本次画线的起点,也可以使用moveTo 命令指定画笔的起点,如果是第一次画线默认的起点为0,0. 可以看到, curveTo 函数中包括两个点.第一个是控制点影响曲线的形状,另一个是曲线的终点.这里使用的是名为二次方贝塞尔曲线的标准公式,该公式可以计算出两点间的曲线,这条曲线向着控制点弯曲.请注意,这条