现在的位置: 首页 >> 网站编程 >> XML >> XSL简明教程(5)XSL的索引
添加时间:2005-10-30 来源:网教中国 作者:
XSL简明教程(5)XSL的索引

原著:Jan Egil Refsnes 翻译:阿捷

五. XSL 的索引


如果我需要将元素的显示按一定的顺序排列,应该如何建立XSL的索引呢?

我们还是来看前面的例子,还是这段代码:


<?xml version="1.0" encoding="ISO8859-1" ?>

<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文件,索引应该同时建立。简单的办法就是给你的for-each元素增加一个order-by属性,就象这样:

<xsl:for-each select="CATALOG/CD" order-by="+ ARTIST">

order-by属性带有一个"+"或者"-" 的符号,用来定义索引的方式,是升序还是降序排列。符号后面的名字就是要索引的关键字。

例如(cd_catalog_sort.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" 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>


最后,我们用下面的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>


上一篇:XSL简明教程(6)XSL过滤和查询 下一篇:XSL简明教程(4)在服务器端的实现
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·XML Schema帮你建模(3)
·UDDI(通用发现与发布规范)简介
·亲密接触XML(7)-我的属性规则
·关于 XML 的十种观点
·XML 中的常见问题 (一)
·XML轻松学习手册(7)XML相关资
·使用XSLT将XML数据转换成HTML
·用XML和JSP来创建动态站点
·在模板中指定XSL样式表
·根据查询结果,生成XML文件
相关文章
·XSL简明教程(6)XSL过滤和查询
·XSL简明教程(7)XSL 的控制语句
·XSL简明教程(4)在服务器端的实现
·XSL简明教程(3)在客户端的实现
·XSL简明教程(2)XSL转换
·XSL简明教程(1)XSL入门
最新文章
·在 .NET Framework 中表示 XML
·浅析.NET下XML数据访问新机制
·XML Schema帮你建模(4)
·XML Schema帮你建模(3)
·XML Schema帮你建模(2)
·XML Schema帮你建模(1)
·微软Office2003十月发售 XML技术
·在.NET Framework中轻松处理XML(
·在.NET Framework中轻松处理XML(
·在.NET Framework中轻松处理XML(
Google