用XSL表现你的XML

我们已经知道,XML文件用来存放数据,而如何表现XML则要借助其他的手段。我们现在推荐您使用IE5.0。如果您在IE5.0中直接打开 一个XML文件,那么你看到的只是XML的源代码;要进一步以更灵活更丰富的形式来表示,就要借助于CSS或XSL。如何使用CSS,建议阅读CSS2规范(W3C建议) . 这里我们想介绍如何用XSL来表现您的XML. 首先我们给出一个XML文件(stock-sorter.xml)的简单例子: <?xml:stylesheet type="text/xsl" href="simple.xsl"?> Technology Stock Index1999-08-13T15:56:00AOLamerica online inc92.250-1.125-1.204.99CSCOcisco sys inc50.688-1.688-3.2218.23DELLdell computer corp53.000-3.063-5.4632.95 ...... 其中元素portfolio是在portfolio文件中定义的: <?xml version="1.0" ?> 在stock-sorter.xml文件中第一行的处理指令(Process Instruction): <?xml:stylesheet type="text/xsl" href="simple.xsl"?> 表示由simple.xsl来规定XML的表现方式。当我们在IE中打开该XML时,浏览器根据其中所规定的XSL的位置去得到该XSL,并通过XSL 处理器将XML和XSL结合成为XSL定义的输出形式。这里我们将其输出形式定为HTML格式,是为了方便在浏览器中直接显示。好,让我们来看简单的XSL文件是怎样写的: Simple.xsl: <?xml version="1.0">
-
(change: )
以上的代码很容易理解,关键是采用选择语句(for-each select)在XML树结构中进行选择,并把得到的结果树(Result Tree)包容于HTML中(value-of select).其实这只是简单的XSL语句.XSL的脚本语言叫做ECMAScript,它是在JavaScript的基础上发展的。如果我们要改变stock-sorter.xml的表现,只要在stlye sheet的href中指定另外的XSL文件。 在XSL的规范定义了XML的匹配模板(Template),设置匹配字符,则处理时将从XML的根节点(Root Node)搜索匹配的节点.如:.通常构成HTML格式的模板,它可以只是XSL的一部分。您还可以写XSL的脚本,举个示例: 还可以加XSL的注释,如: 让我们给出另一个较为复杂的例子,并据此进一步学习XSL: Complex.xsl: <?xml version="1.0"?>

for

Average change: averageChange(this)
Total volume: totalVolume(this)

Click on the column headers to sort by that field.

Demonstration of custom formatting of data typed values and local reapplication of the stylesheet.

Stocks losing more than 5% indicated in red. Stocks gaining value indicated in green.

Company
Symbol
Price
Change
%Change
Volume
updown
formatDate(this.nodeTypedValue, "MMMM dd',' yyyy") at formatTime(this.nodeTypedValue, "hh:mm tt")formatNumber(this.nodeTypedValue, "$0.00")+formatNumber(this.nodeTypedValue, "0.0")% formatNumber(this.nodeTypedValue * 1000000, "#,###,###") 如果你要显示中文,你只要在XML和XSL文件的的开头分别加上:<?xml version="1.0" encoding="gb2312"?>即可.试试看!

转载于:https://www.cnblogs.com/wangdetian168/archive/2008/06/11/1217946.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值