第四讲---皇家的术士(初涉XSL)

---摘自《ChinaAsp》 (文/jspery)
激动人心的时刻到了,听,皇家的号角已经响起,皇家的术士--XSL--出场了!!
讲起xsl(eXtensible Stylesheet Language),我忍不住又要把html拉出来了(反正它也习惯了^^),在html中,有许多简单易懂的标记用来显示数据内容,比如我们可以通过<h1>,<font color>等来设置数据内容的显示格式,而且这些标记通过名称就可以很容易的判断出用途,但是.谁叫它天生就是用来显示数据信息的呢?不过我们的XML就不能这样了,天生就是用来储存和发送数据信息的(劳累命呀),所以,不得已只能求助其他的方式来显示数据内容,于是,我们的术士就出现了.
作为术士,XSL会的东西远比我们前面介绍的CSS强大的多.它由两种方式构成,一种方式用来转换XML文本内容,另一种则是格式化XML文本内容.我们可以通过XSL首先转换(过滤和整理)XML数据内容,并通过XSL的格式化显示方法定义数据内容显示方式(比如字体大小,颜色等).
我们的术士也可以定义一个可以被浏览器支持的用来显示转换后的XML数据的
方式,目前来讲,这种方式往往是转换XML元素为HTML元素.
同时,XSL也可以加入或者移除一些元素到输出文件(可以理解为魔法的力量^^),也可以重新整理排列这些元素,并且决定哪些元素将要被显示和如何被显示.
接下来,是我们的魔法展示,请留心观看:
e.g: 第一部分,一个简单的XML文件:
<?xml version="1.0" encoding="GB2312"?>
<国王的心腹>
<皇家术士>
<姓名>jsper</姓名>
<代号>008</代号>
<性别>unknow</性别>
<地位>术士(不是骗人的巫婆和半仙)</地位>
<爱好>施展internet魔法</爱好>
<附注>
哪位好心人可以提供我一个工作?术士快交不起电话费了
我的信箱是jsper@371.net 我的icq是:12233550
</附注>
<谢谢>真的很感谢你们对我的支持,我会继续努力的
</谢谢>
</皇家术士>
<皇家术士>
<姓名>XSL</姓名>
<代号>001</代号>
<地位>
the eXtensible Stylesheet Language
</地位>
</皇家术士>
</国王的心腹>
请将此代码内容保存为mybackup.xml


第二部分,首次出现的XSL文件:
<?xml version="1.0" encoding="GB2312"?>
<html xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<body style="font-size:12pt;background-color:blue">
<xsl:for-each select="国王的心腹/皇家术士">
<div style="background-color:green;color:white;padding:4px">
<span syle="font-weight:bold;color:white">
姓名: <xsl:value-of select="姓名"/>
</span>
<p>代号: <xsl:value-of select="代号"/></p>
<p>性别: <xsl:value-of select="性别"/></p>
<p>地位: <xsl:value-of select="地位"/></p>
<p>爱好: <xsl:value-of select="爱好"/></p>
</div>
<div style="background-color:yellow;color:red;
font-size:9pt;margin-bottom:10pt;">
<p><center><xsl:value-of select="附注"/></center></p>
</div>
<div style="background-color:orange;color:green;
font-size:9pt;">
<center><xsl:value-of select="谢谢"/></center>
</div>
</xsl:for-each>
</body>
</html>
请将此段代码内容保存为aboutme.xsl

第三部分.混合显示魔法
<?xml version="1.0" encoding="GB2312"?>
<?xml:stylesheet type="text/xsl" href="aboutme.xsl"?>
<国王的心腹>
<皇家术士>
<姓名>jsper</姓名>
<代号>008</代号>
<性别>unknow</性别>
<地位>术士(不是骗人的巫婆和半仙)</地位>
<爱好>施展internet魔法</爱好>
<附注>
哪位好心人可以提供我一个工作?术士快交不起电话费了
我的信箱是jsper@371.net 我的icq是:12233550
</附注>
<谢谢>真的很感谢你们对我的支持,我会继续努力的</谢谢>
</皇家术士>
<皇家术士>
<姓名>XSL</姓名>
<代号>001</代号>
<地位>the eXtensible Stylesheet Language</地位>
</皇家术士>
</国王的心腹>
请将此段代码内容保存为aboutme.xml

当我们在浏览器中打开aboutme.xml的时候...我们就可以看到神奇的魔法效果了^^
至此,我们对xsl已经有了初步了解,关于它的深度讲解请期待后续教程
谢谢.