发信人: webpk(蒸的英雄) 
整理人: leitiger(2001-06-27 14:42:46), 站内信件
 | 
 
 
一.简介
 
  XSL(eXtensible Style Languge)是描述XML文件样式信息的一种语言,是由W3C制定的。
 
  我们知道,XML的一个优点就是形式与内容相分离,这使得XML文件具有简洁、易读的特点。它的样式信息都包含在称之为样式单的样式文件中,而XSL就是它的两种样式单的其中之一。另一种是已经运用在HTML中的层叠式样式单CSS,是一种静态的样式描述格式,本身不遵从XML的语法规范。而XSL就不同了,它本身就是一个XML文件,因此系统可以使用同一个XML解释器对XML文档及其相关的XSL文件进行解释处理。
 
  XSL由两部分组成,一部分是XSLT和XPATH,这部分定义了如何将一个XML文件转换为其它的可供显示或打印的文件格式。另一部分是FO,为转换后文件中的各个对象定义语义和显示方式。这两部分的发展已经不同步,前一部分已经成为标准,而后一部分还存在较大的争议,尚在讨论之中。现在一般所说的XSL大都指的是XSLT。
 
  使用XSL显示XML的基本思想是通过定义模板将XML源文件转换为带样式信息的可浏览文件。模板可以是HTML格式、带CSS的XML格式及FO格式。
 
  XSL最初是由Microsoft公司提出来的,因此它对XSL的支持也比较好,IE5就已经支持XSL。
 
  在XML中使用如下语句声明XSL样式单:
 
  <?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>
 
 二.一个XSL例子
 
  在这里举一个学生花名册的例子,用于说明XSL的转换过程。XML原代码如下:
 
 <?xml version="1.0" encoding="GB2312" ?>
 <?xml-stylesheet type="text/xsl" href="学生.xsl"?>
 <学生花名册 xmlns: 学生="学生.dtd" >
 <学生>
 <姓名> 李华 < /姓名>
 <籍贯> 河北 < /籍贯>
 <年龄> 14 < /年龄>
 <电话> 62875555 < /电话>
 < /学生>
 <学生>
 <姓名> 张三 < /姓名>
 <籍贯> 北京 < /籍贯>
 <年龄> 14 < /年龄>
 <电话> 62875555 < /电话>
 < /学生>
 
 下面是XSL源代码:
 
 <?xml version= 1.0 Encoding="gb2312" ?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns="http://www.w3.org/TR/REC-html40">
 <xsl:template>
 <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="/">
 <HTML>
 <HEAD>
 <TITLE>学生花名册</TITLE>
 <STYLE> .title{font-size:15pt; font-weight:bold; color:blue } .name{color:red} </STYLE>
 </HEAD>
 <BODY>
 <p class="title" >学生花名册</p>
 <xsl:apply-templates select="学生花名册"/>
 </BODY>
 </HTML>
 </xsl:template>
 <xsl:template match="学生花名册">
 <TABLE BORDER="1">
 <THEAD>
 <TD> <B>姓名 </TD>
 <TD> <B>籍贯 </TD>
 <TD> <B>年龄 </TD>
 <TD> <B>电话 </TD>
 </THEAD>
 <xsl:for-each select="学生" order-by="姓名">
 <TR>
 <TD><B><xsl:value-of select="姓名"/></TD>
 <TD><xsl:value-of select="籍贯"/></TD>
 <TD><xsl:value-of select="年龄"/></TD>
 <TD><xsl:value-of select = "电话"/></TD>
 </TR>
 </xsl:for-each>
 </TABLE>
 </xsl:template>
 </xsl:stylesheet>
 
 上面例子中的模板是HTML格式的 | 
 
 
 |