xsl基础教程(三)

转摘自:http://www.ibm.com/developerworks/cn/xml/ccidnet/xslfund/index3.html

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 或更高版本,请点击这里 查看结果

回页首

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文件,只需要为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>
</ta
时间: 2024-08-14 18:42:51

xsl基础教程(三)的相关文章

MySql基础教程(三)——查询训练

在MySql两轮基础的学习之后,来一波实战演习... 三张表:学生表,课程表,成绩表. 建表详细信息见 MySql基础教程(一)

XSL基础教程(一)

XSL(eXtensible Style sheet Language),即可扩展样式表语言,是XML的亲密伙伴.要学习好XML,不能不掌握XSL.本文就向你全面讲述XSL的一切一切: XSL介绍:介绍XSL是XML的样式表语言,XSL是什么以及它能做什么. XSL介绍: XML的样式表语言XSL比CCS要复杂得多. CSS:HTML的样式表语言: 由于HTML使用预先确定的标记,因此这些标记的含义都很好理解:<p>元素定义一段,<h1>元素定义一个标题.浏览器知道如何显示这些元素

HTML/CSS基础教程 三

一. 块 下面介绍一个非常常用的标签:<div></div>, div是divison(界限)的缩写. <div>允许你将页面分成不同的容纳块, 例如下面这段代码: <!DOCTYPE html> <html> <head> <title>Division</title> </head> <body> <div style="width:50px; height:50px

XSL基础教程(二)

转摘自:http://www.ibm.com/developerworks/cn/xml/ccidnet/xslfund/index2.html 客户端XSL:如何用XML解析器在客户机上将XML文档转换成HTML文档. 一个JavaScript的解决方法 在前文中,我们解释了如何用XSL将一个文档从XML转换成HTML.窍门就是向XML文件中增加一个XSL样式表,然后让浏览器来进行转换.即使这种方法能奏效,在XML文件中包含一个样式表引用也并非令人满意的方法,并且在不支持XSL的浏览器上这种方

JavaScript基础教程(三)

一.JS变量 1.变量是用来储存信息的"容器".例:var x=10; var y=10.1; var z="hello"; <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Title</title> </head> <body&g

SpringCloud 基础教程(五) 服务熔断机制(Eureka + Ribbon + Hystrix)

1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud 基础教程(一) 服务中心及集群(Eureka Server) 2.启动[服务提供者]集群,即 Eureka Client 参考 SpringCloud 基础教程(二) 服务注册及集群(Eureka Client) 3.启动[服务消费者],即 Eureka Discovery Client 参考 SpringCloud 基础教程(三) 服务发现及负载均衡(Eureka Discovery Client + Ri

SpringCloud2.0 Turbine 断路器集群监控 基础教程(九)

1.启动基础工程 1.1.启动[服务中心]集群,工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 1.2.启动[服务提供者]集群,工程名称:springcloud-eureka-client 参考 SpringCloud2.0 Eureka Client 服务注册 基础教程(三) 1.3.启动[服务消费者],工程名称:springcloud-eureka-ribbon 参考 SpringClou

SpringCloud2.0 Zuul 网关路由 基础教程(十)

1.启动基础工程 1.1.启动[服务注册中心],工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 1.2.启动[服务提供者],工程名称:springcloud-eureka-client 参考 SpringCloud2.0 Eureka Client 服务注册 基础教程(三) 1.3.启动[服务消费者],工程名称:springcloud-eureka-ribbon 参考 SpringCloud2

【Unity3D基础教程】给初学者看的Unity教程(三):通过制作Flappy Bird了解Native 2D中的Sprite,Animation

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了MonoBehaviour的前世今生,了解了游戏中的每一个GameObjec都是由脚本控制的,这一次我们开始将Unity中Native 2D中的Sprite,并且使用Animation来让Sprite动起来. 在接下来的几篇博客里,我会通过做一个Flappy Bird来讲解Unity中各个组件的使用,项目的源代码在这里:U