§ ITPOW >> 文档 >> XML

XML教程(4)---皇家的术士(初涉XSL)

作者:jsper 来源: 日期:2002-8-8
  激动人心的时刻到了,听,皇家的号角已经响起,皇家的术士--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已经有了初步了解,关于它的深度讲解请期待后续教程,谢谢. 
相关文章