xml编写XSL样式表

合集下载

Chap 8 XSL格式化XML(11-22

Chap 8 XSL格式化XML(11-22
CSS的优点是简洁,消耗系统资源少;而XSLT虽然功能强大, 但因为要重新索引XML结构树,所以消耗内存比较多。 因此,我们常常将它们结合起来使用,比如在服务器端用XSLT 处理文档,在客户端用CSS来控制显示。可以减少响应时间。
XML
KMR
教程
8.1.3 XML文档结构树
<?xml version="1.0" encoding="gb2312"?> <?xml:stylesheet type="text/xsl" href="例8-1.xsl" ?> <图书信息表> <图书 书号="ISBN-9787302149583"> <书名>XML技术应用</书名> <类别>计算机</类别> <作者>贾素玲</作者> <作者>贾素玲2</作者> <定价>24.00</定价> </图书> <图书> <书名>VB语言教程</书名> <类别>计算机</类别> <作者>朱国华</作者> <定价>26.00</定价> </图书> ...... </图书信息表>
。例如,可将XML转换为XML、PDF,甚至是多媒体格式等。 XSL当前
的主要应用是将XML文档代码转变成HTML代码,实现XML文档在IE中
的显示。 XSL是一种WWW标准
XSL是W3C推荐的一种标准。
XML
KMR
教程

把XML的数据转换成多列表格形式

把XML的数据转换成多列表格形式

把XML的数据转换成多列表格形式摘要:本文通过实际的例子来说明如何在XSL中实现对XML数据转换成完美的多列表格。

在利用XSL对XML进行转换时,有时候需要把XML转换成多列的Table元素,这个问题经常会困扰许多人,如果不生成Table的话,只需要对循环中的节点进行位置取模后判断,然后用<br/>换行即可。

但有时候为了用户需要和界面的美观,需要生成多行多列的Table,常用的方法是采用following-sibling进行判断,比如下面的代码:<?xml version=“1.0”encoding=“UTF-8”?><xsl:stylesheet version=“1.0”xmlns:xsl=“/1999/XSL/Transform”xmlns:copyRight=“/”><xsl:template match=“/”><table bgcolor=“snow”border=“1”cellpadding=“5”cellspacing=“2”borderColor=“darkorange”style=“font-size:9pt”><xsl:for-each select=“/Items/Item[position()mod3=1]”><tr><td width=“33%”align=“center”valign=“middle”><xsl:apply-templates select=“.”/></td><td width=“34%”align=“center”valign=“middle”><xsl:apply-templates select=“following-sibling::Item[position()=1]”/> </td><td width=“33%”align=“center”valign=“middle”><xsl:apply-templates select=“following-sibling::Item[position()=2]”/></td></tr></xsl:for-each></table></xsl:template><xsl:template match=“/Items/Item”><a target=“_blank”><xsl:attribute name=“href”><xsl:if test=“contains(Url,''@'‘)”>mailto:</xsl:if><xsl:value-of select=“Url”/></xsl:attribute><xsl:value-of select=“Title”/></a></xsl:template></xsl:stylesheet>转换结果如下图所示:但是,从上面的结果图可以看出,如果数据记录不是表格列数的整数倍的时候,最后一行的最后几列不会生成出来,即在HTML里缺少<td></td>标记。

xslt 用法 -回复

xslt 用法 -回复

xslt 用法-回复XSLT(可扩展样式表语言转换)是一种用于将一种XML文档转换成另一种文档的技术。

它是基于XSL(可扩展样式表语言)标准的一种规范。

在本文中,我们将一步一步地回答有关XSLT的用法的问题,并探索其功能和应用。

第一步:了解XSLT的基本概念和语法XSLT是一种基于XML的转换语言,并使用XSLT样式表来定义转换规则。

它使用XSLT处理器将源XML文档和XSL样式表作为输入,然后生成目标XML或其他格式的输出,如HTML或纯文本。

在XSLT中,我们使用模板匹配和模式选择器来指定如何将源文档转换为目标文档。

第二步:学习XSLT样式表的基本结构XSLT样式表由一系列的模板组成。

每个模板定义了一个匹配模式和一些用于转换的指令。

在XSLT中,我们使用xsl:template元素来定义模板,并使用select属性指定匹配的模式。

每个模板都可以包含许多指令,如xsl:apply-templates、xsl:value-of和xsl:for-each。

第三步:使用XSLT来选择和转换XML文档XSLT允许通过模式选择器选择要转换的源XML文档的特定部分。

使用xsl:apply-templates指令,我们可以将选择的部分作为输入传递给其他模板进行处理。

此外,我们还可以使用xsl:for-each指令来迭代处理XML文档中的多个元素。

第四步:了解XSLT中的内置函数和操作符XSLT提供了一些内置函数和操作符,用于在样式表中执行各种转换和操作。

一些常用的函数包括string()、substring()、concat()和translate()。

这些函数可以帮助我们处理字符串和执行数学运算。

第五步:掌握XSLT的变量和参数类似其他编程语言,XSLT也支持变量和参数。

我们可以使用xsl:variable元素来定义变量,并使用xsl:param元素来接收外部传递的参数。

这些变量和参数可以用于在样式表中存储和传递值,以便在转换过程中进行操作。

实验三XML样式表技术(CSS与XSL)

实验三XML样式表技术(CSS与XSL)

实验三XML样式表技术(CSS与XSL)实验三:XML样式表技术⼀、实验类型验证性实验⼆、实验⽬的1.了解XML内容与显⽰分离的特点;2.掌握XML样式的两种技术CSS和XSL,并理解两者的区别;2.掌握CSS的基本语法和两种引⽤⽅式;3.理解基于XSL处理XML显⽰的基本原理;4.掌握XSL的语法结构和元素声明。

5.掌握XSL中XPath的概念和基本使⽤⽅式;6.掌握基于XML SPY提供的XSLT的转换;三、实验要求1.按要求对XML⽂档进⾏CSS定义;2.使⽤CSS⽂件对XML进⾏显⽰;3.按要求为XML⽂档编写XSL样式⽂件;4.使⽤XSL对XML进⾏显⽰;5.能利⽤XML SPY的XSL转换功能将XML转换为HTML⽂件。

三、实验环境配置有XML Spy 2006或XML Spy 2009开发环境的计算机设备四、实验原理1.XML的样式表技术XML本⾝不提供任何相关显⽰的⽅法,也不像HTML带有预定义的可提供显⽰功能的标签,在XML中可以使⽤CSS和XSL两种样式表技术来提供XML数据的格式化显⽰。

XML将⽂档内容和外观相分离。

当需要显⽰时,再附加包含样式的样式⽂件。

内容与显⽰分离带来了诸多的优点,使得开发的关注点被分离,要么在数据内容上,要么在显⽰⽅式上。

同样的数据内容可以有不同的显⽰样式,只需要更改使⽤的样式⽂件。

分离也使得开发⼈员和设计⼈员能相互独⽴⽆⼲扰地⼯作。

2.CSS——并⾮为XML专门设计的样式表技术CSS(Cascading Style Sheets),级联样式表,提供了简单的语法和强⼤的格式化显⽰能⼒。

在CSS⽂件中对XML元素设定不同的样式规则,当使⽤浏览器显⽰XML⽂件,浏览器会根据所引⽤的CSS⽂件,对XML每个元素进⾏格式化。

CSS最初是为HTML进⾏的设计,不具备XML的语法。

根据书本内容,掌握CSS的语法结构、常⽤属性和两种引⽤⽅式3.XSL——基于XML的样式表技术XSL(eXtensible Stylesheet Language),可扩展的样式表语⾔,提供了基于XML的样式显⽰⽅式,它本⾝就是结构完整的XML⽂档。

XSL应用实例

XSL应用实例
现在创建案例,演示在XSL样式表单中,加入CSS代码。首先创建XML文档,打开记事本,输入下列代码:
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="Example6.xsl"?>
<商品价格表>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="商品价格表">
<HTML>
<HEAD>
<style>
.ya{background-color:aqua;font-size:20;}
#mn{background-color:orange;font-size:22;font-weight:bold;}
</商品价格表>
将上述代码保存,名称为Example6.xml。创建样式表单文件,打开记事本,输入下列代码:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="/1999/XSL/Transform" version="1.0">
<td bgcolor="gray"><xsl:value-of select="数量"/></td>

XSL文档创建与应用

XSL文档创建与应用

XSL文档创建与应用XSL是基于XML的语言,即XSL文件是一种格式良好的XMI文件,因此它和XML文件在语法上是一致的。

事实上,由于XML是元语言,所以它具备描述其他语言的能力,或者说它可以通过XML来制定另一种语言。

XSL就是用XML来描述的一种使用于定义样式的语言,并且XSL所定义的样式专门用于XML文档。

因此,所有的XSL文件都应该是格式良好的XML文件,只不过XSL文件的扩展名是“xsl”,而不再是“xml”。

一个最常见的XSL处理器常常都是附着在支持XSL的浏览器中。

由于XSL文件是一种有看特殊用途的XML文件,因此,XSL文件中的标记(统称为XSL元素)是具有特殊意义的。

它是用来指引XSL处理器如何对XML文档中的数据进行格式化,并按XSL文件中规定的输出样式将XML文档表现出来。

因此XSL处理器在解读XSL与XML文件后,使可以产生相对应的输出结果,而这个结果可以被浏览器所显示。

现在创建一个案例,演示XSL处理器将XML文档到另外一种文档。

打开记事本,输入下列代码:将上述代码保存,名称为welcome.xml。

“<?xml-stylesheet type="text/xsl" href ="welcome.xsl"?>”代码表示该XML文档关联了一个XSL样式表文档welcome.xsl。

IE浏览器内嵌的XML处理器在分析这个文档时,会调用相应的XSL处理器对该文档进行转换。

“href”表示引入表单所在的位置和文件名,如果在同一个文件夹下,只要给出文件的名字即可,否则,就要给出这个文件的完整路径。

“type”表示该X ML文档所使用的类型,即使用XSL文件。

现在为XML创建样式表单,即XSL文件。

打开记事本,输入下列代码;将上代码保存,名称为welcome.xsl。

XSL样式表文档的扩展名为xsl。

在该X SL文档中首先引入了一条XML声明,表明XSL文件的出处。

XML 表单形式显示XML文档数据

XML  表单形式显示XML文档数据

XML 表单形式显示XML文档数据
使用XSL样式表单可以显示XML文档中的数据,其样式信息都是存储在样式表单中。

通过样式信息的设置,XML数据可以以多种形式显示,如采用表单的形式。

本练习将以表单形式显示XML文档数据。

通过本练习读者可以掌握XSL模板使用,其实现步骤如下所示:
(1)分析程序。

实现该练习,需要创建XML文档和XSL样式表单文件,XM L文档提供数据,XSL文件提供显示信息。

(2)创建XML文档,名称为Example9.xml。

(3)实现XML文档。

实现此操作,首先需要实现XML文档数据结构,然后填充XML数据。

其代码如下所示:
(3)创建XSL文档,名称为Example9.xsl。

(4)实现样式表单文件基本结构,其代码如下所示:
(5)实现样式信息编写,其代码为:
<input type="submit" value="确认购买"/>
</form>
</body></html>
上述代码可以直接放置到样式表单文件的根模板中。

也可以将上述代码拆解成多个多个模板。

(6)运行。

上述步骤完成后,直接单击Example9.xml文件,会显示如图5-1所示窗口:
图5-1 表单形式显示。

xsl样式显示

xsl样式显示

XSLT元素及其说明
XSLT元素
xsl:output xsl:template xsl:call-template xsl:value-of xsl:element
说明
用于设置文档转换输出的相关属性 用于指定XML元素的转换规则 用于调用模板函数 取出所选择的元素或属性的内容 创建XML元素
xsl:apply-templates 调用其它模板以处理子元素
引用XSL的XML文档举例
<?xml version="1.0" encoding="gb2312"?> <?xml-stylesheet type="text/xsl" href="xmlXSL.xsl"?> <腾格尔> <天堂> 蓝蓝的天空 清清的湖水哎耶 绿绿的草原 这是我的家哎耶 奔驰的骏马 洁白的羊群哎耶 还有你姑娘 这是我的家哎耶 我爱你我的家 我的家我的天堂 </天堂> </腾格尔>
由这三个元素建立多条件模板规则
复制当前的节点 以指定的顺序对输出的元素进行排序
一个XSL实例(3.XSL)
<?xml version="1.0" <xsl:for-each select="股票/武商股份/认购 encoding="gb2312"?> 人信息"> <xsl:stylesheet xmlns:xsl= <TR> "/1999/XSL/Trans <TD><xsl:value-of select="姓名 form " version="1.0"> "/></TD> <!--根模板--> <TD><xsl:value-of select="账户 <xsl:template match="/"> "/></TD> <HTML> <TD><xsl:value-of select="地址 <HEAD><TITLE>认购信息 "/></TD> </TITLE></HEAD> <TD><xsl:value-of select="电话 <BODY> "/></TD> <H2>客户信息</H2> </TR> <TABLE BORDER='2' </xsl:for-each> CELLSPACING="0"> </TABLE> <TR> </BODY> <TH>客户姓名</TH> </HTML> <TH>账户代码</TH> </xsl:template> <TH>现住址</TH> </xsl:stylesheet> <TH>联系电话</TH> </TR>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

昆明理工大学信息工程与自动化学院学生实验报告
(2013—2014学年第二学期)
课程名称:XML编程技术开课实验室:信自楼444 2014 年4 月 28 日
一、实验目的
(1)掌握链接XSL到XML文档的方法。

(2)学会编写简单的XSL文件。

(3)学会使用CSS显示XML。

要求:<NAME>标记内容显示黑色加粗,<PRICE>标记内容红色显示。

二、实验设备
一台PC机以及EditPlus软件
三、实验内容
(1)根据下述XML文档,编写XSL样式表,要求其显示效果如图5-9所示。

<?xml version="1.0" encoding="GB2312"?>
<BOOKS>
<BOOK>
<NAME ISBN="B101">VB编程</NAME>
<PUBLISHER>机械工业出版社</PUBLISHER>
<PRICE>¥68</PRICE>
<DESCRIPTION>VB控件</DESCRIPTION>
<STATUS>在库</STATUS>
</BOOK>
<BOOK>
<NAME ISBN="B102">XML开发指南</NAME> <PUBLISHER>电子工业出版社</PUBLISHER> <PRICE>¥34</PRICE>
<DESCRIPTION>DTDXML</DESCRIPTION>
<STATUS>已借阅</STATUS>
</BOOK>
<BOOK>
<NAME ISBN="B103">JAVA</NAME>
<PUBLISHER>电子工业出版社</PUBLISHER> <PRICE>¥42</PRICE>
<DESCRIPTION>概念语法</DESCRIPTION>
<STATUS>在库</STATUS>
</BOOK>
<BOOK>
<NAME ISBN="B104"></NAME>
<PUBLISHER>人民邮电出版社</PUBLISHER> <PRICE>¥72</PRICE>
<DESCRIPTION>语法控件</DESCRIPTION>
<STATUS>已借阅</STATUS>
</BOOK>
</BOOKS>
BOOKS
图5-9 显示效果图
(2)CSS样式表要求:<NAME>标记内容显示黑色加粗,<PRICE>标记内容红色显示。

四、实验步骤
(1)新建一个XSL文档。

(2)输入如下文本:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="/1999/XSL/Transform">
<xsl:output method="html" encoding="gb2312"/>
<xsl:template match="/">
<html>
<head>
<title>BOOKS</title>
</head>
<body>
<h2 align="center">BOOKS</h2>
<xsl:apply-templates select="BOOKS"/>
</body>
</html>
</xsl:template>
<xsl:template match="BOOKS">
<table border="1" cellspacing="0" align="center">
<tr><th>NAME</th><th>PUBLISHER</th><th>PRICE</th><th>DESCRIPTION</th><th>S TATUS</th></tr>
<xsl:for-each select="BOOK">
<tr>
<td><xsl:value-of select="NAME"/></td>
<td><xsl:value-of select="PUBLISHER"/></td>
<td><xsl:value-of select="PRICE"/></td>
<td><xsl:value-of select="DESCRIPTION"/></td>
<td><xsl:value-of select="STATUS"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
(3)输入完成后,选择“文件”→“保存”菜单命令,保存文档,文档名为“实验.xsl”。

(4)打开编辑软件(Editplus),创建题目中所给的XML文档,步骤略。

(5)在所创建的XML文档的声明语句之后,添加如下语句:
<?xml-stylesheet type="text/xsl" href="实验.xsl"?>
(6)保存XML文档,并在浏览器中浏览,观察显示效果是否与题目中给出的效果一致。

(7)编写CSS样式表,要求:<NAME>标记内容显示黑色加粗,<PRICE>标记内容红色显示。

(8)在所创建的XML文档的声明语句之后,添加如下语句:
<?xml-stylesheet type="text/css" href="实验.css"?>
(9)保存XML文档,并在浏览器中浏览,观察显示效果。

五、实验程序
(1)XML文档
(2)XSL文档
(3)CSS文档
六、实验结果
实验结果截图:
(1)链接XSL到XML文档
(2)CSS显示XML文档
总结:
通过本实验让我有了以下收获:
1)在做本实验的过程中使我对xml的主要技术有了一个比较充分的理解。

2)通过实际操作本实验让我掌握了使用xml文档来设计简单的样式表。

3)在做本实验的过程中比较使用了css样式表设计和xsl样式表的异同点,这对我理解各种样式表的制作方法有了一个深刻的理解。

4)在本实验的过程中学会使用了css定义XML文档元素的显示效果,并且了解了该样式表的各属性的使用和了解了各属性的一般效果。

5)在实验过程中要对各样式表语言的语法定义方式要有充分的理解,否则很容易出错,还有就是要对各标记语言的写法一定要正确,再就是一定要注意标点符号的中英文形式一定不能出错,否则样式表效果显示不出来,也就是出错了。

相关文档
最新文档