zoukankan      html  css  js  c++  java
  • XSL(转)

    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" ?>
    &ltxsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns="http://www.w3.org/TR/REC-html40">
    &ltxsl:template>
    &ltxsl:apply-templates/>
    </xsl:template>
    &ltxsl:template match="/">
    &ltHTML>
    &ltHEAD>
    &ltTITLE>学生花名册</TITLE>
    &ltSTYLE> .title{font-size:15pt; font-weight:bold; color:blue } .name{color:red} </STYLE>
    </HEAD>
    &ltBODY>
    &ltp class="title" >学生花名册</p>
    &ltxsl:apply-templates select="学生花名册"/>
    </BODY>
    </HTML>
    </xsl:template>
    &ltxsl:template match="学生花名册">
    &ltTABLE BORDER="1">
    &ltTHEAD>
    &ltTD> &ltB>姓名 </TD>
    &ltTD> &ltB>籍贯 </TD>
    &ltTD> &ltB>年龄 </TD>
    &ltTD> &ltB>电话 </TD>
    </THEAD>
    &ltxsl:for-each select="学生" order-by="姓名">
    &ltTR>
    &ltTD>&ltB>&ltxsl:value-of select="姓名"/></TD>
    &ltTD>&ltxsl:value-of select="籍贯"/></TD>
    &ltTD>&ltxsl:value-of select="年龄"/></TD>
    &ltTD>&ltxsl:value-of select = "电话"/></TD>
    </TR>
    </xsl:for-each>
    </TABLE>
    </xsl:template>
    </xsl:stylesheet>
  • 相关阅读:
    Android网络电话软件Sipdroid试用
    SIP for android
    Android Sip学习(三)Android Voip实现
    java 中通过label跳出双重for 循环
    tc3162目录
    chfn,chsh,last,login,mail ,mesg ,talk,wall,write,nice ,pstree ,renice,skill ,expr ,reset,tset,compress ,lpd ,lpq ,lpr ,lprm,fdformat ,mformat ,mkdosf
    ls命令详解
    使用CUNIT测试
    有关PowerShell脚本你必须知道的十个基本概念
    PowerShell 在线教程 4
  • 原文地址:https://www.cnblogs.com/lingxzg/p/497762.html
Copyright © 2011-2022 走看看