XSL转换原理
使用XSL转换XML文档

2.附加指定属性条件
例如: <xsl:template match="student[@class]">
使用XSL转换XML文档
1
XSL概述
2
XSL模板
3
XSL节点选择
4
XSL控制指令
5
XSL应用实例
1 XSL概述
1.1 XSL基本概念
XSL的全称是eXtensible Stylesheet Language, 即可扩展样式语言,是目前用来设计XML文档 显示样式的主要技术之一。 XSL主要由两部分组成,即数据转换语言XSLT 和数据格式化语言XSL-FO。目前主要使用数据 转换语言XSLT,可以根据需要把XML文档转换 成任何一种基于文本格式的文档。 XSL样式表文档的内容完全符合XML的语法规 定,因而可以将其看成是一种特殊的XML文档。
2.XSL文档的创建
XSL文档以 .xsl为其文件扩展名,与XML 文档一样也是一种文本文件,可用任何一 种文本编辑软件进行创建和修改。
3.XSL文档的引用
在XML文档中引用XSL样式表的方法是在 序言部分添加如下形式的指令: <?xml-stylesheet type="text/xsl" href="URI" ?> URI表示XSL文件名
1.3 XSL文档的创建与应用
1.XSL文档的组成
XSL文档基本组成形式: <?xml version="1.0" encoding="gb2312" ?> <xsl:stylesheet xmlns:xsl="http://www/w3/org/tr/wd-xsl">
6.XSLT基础

XSLT基础XSL与XSLTXSL指扩展样式表语言(EXtensible Stylesheet Language)。
它主要被用来对XML文档进行格式化,与CSS不同,XSL不仅仅是样式表语言XSL主要包括三个部分:•XSLT一种用于转换XML文档的语言。
它可以将一个XML文件转换成另一种格式的XML文件或XHTML文件.•XPath一种用于在XML文档中导航,定位元素的语言。
•XSL-FO,可扩展样式表语言格式化对象(Extensible Stylesheet Language Formatting Objects),用于格式化供输出的XML数据。
XSL-FO目前通常被称为XSL(尽管这算是一种误解,但这样说是可以的,因为在格式化XML方面,XSL-FO起着和CSS一样的作用!) XSLT指XSL转换(XSL Transformations)。
它是XSL中最重要的部分。
通过XSLT,您可以向或者从输出文件添加或移除元素和属性。
您也可重新排列元素,执行测试并决定隐藏或显示哪个元素,等等。
描述转化过程的一种通常的说法是,XSLT把XML源树转换为XML结果树。
书写XSLTXSLT文件本身也是XML文件,一般以.xml.xsl.xslt几种文件后缀名保存.XSLT遵循XML的语法,文件开头一般都加有XML声明,XML声明之后是文档根元素stylesheet或transform(两者之一),并且使用version属性声明XSLT版本,目前版本是1.0,2.0还在草案中,XSLT的所有内置元素都从属于"/1999/XSL/Transform"命名空间,所以应该在文档根元素上声明一个xsl或xs的命名空间!<?xml version="1.0"encoding="UTF-8"?><xsl:stylesheet version="1.0"xmlns:xsl="/1999/XSL/Transform"/>上面创建了一个最基本的XSLT文件,将其应用于任何XML文档,在支持XSLT的浏览器打开该XML文档,会看到所有的文档显示了出来,而标签没有了!事实上,在浏览器中真正显示的是HTML,XSLT将XML转换成了HTML.我们可以更进一步指定转换成HTML的版本,比如转换成XHTML!<?xml version="1.0"encoding="UTF-8"?><xsl:stylesheet version="1.0"xmlns:xsl="/1999/XSL/Transform"><xsl:output method="html"encoding="utf-8"doctype-public="-//W3C//DTD XHTML1.0Transitional//EN"doctype-system="/TR/xhtml1/DTD/xhtml1-transitional.dtd"/></xsl:stylesheet>output元素定义输出文档的格式。
XML实用技术教程 第17讲(XSLT转换)

2006。 2006。3
计算机与电子系— 计算机与电子系—计算机技术教研室
XSLT转换机理 XSLT转换机理
XSLT将模式与模板相结合来实现转换 XSLT将模式与模板相结合来实现转换
样式表转换
XML FO
样式单树 (模板 模板) 模板 源文档 源树 指令执行
XML
XSL引擎 引擎
FO
结果树
XML
Non XML
2006。 2006。3
计算机与电子系— 计算机与电子系—计算机技术教研室
什么是模式
模式就是所规定节点处理的条件集合 满足条件的节点匹配该模式,不满足则不匹配 最普通的模式规定匹配元素类型的名称。
模式 doc * chapter|section section/title text() Node() 含义 配任何的doc元素 配任何的doc元素 匹配任何元素 匹配任何的chapter元素和section元素 匹配任何的chapter元素和section元素 匹配上一代元素为section的title元素 匹配上一代元素为section的title元素 匹配任何文本节点 匹配任何非属性节点和非根节点
2006。 2006。3 计算机与电子系— 计算机与电子系—计算机技术教研室
para、note元素所匹配的模板 para、note元素所匹配的模板
<xsl:template match="para"> <p><xsl:apply<p><xsl:apply-templates/></p> </xsl:template> <xsl:template match="note"> <p class="note"><b>NOTE:</b><xsl:applyclass="note"><b>NOTE:</b><xsl:applytemplates/></p> </xsl:template> <xsl:template match="emph"> <em><xsl:apply<em><xsl:apply-templates/></em> </xsl:template> </xsl:stylesheet>
第4章_XSL转换

元素节点 属性节点 文本节点 名称空间节点 处理指令节点 注释节点 文档(根)节点
2016/11/11
9
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> (文档节点或根节点) <book> <title lang="en" (属性节点) >Harry Potter</title> <author>J K. Rowling</author> (元素节点) <year>2005(文本节点)</year> <price>29.99</price> </book> </bookstore>
第 4章
XSL转换
理解XSL的一些基本概念 明白XSL的结构 掌握XPath语言及其在XSL中的用法 掌握XSL转换语言的基础知识 熟悉XSL所使用的元素、模板、函数等 通过具体实例的学习,学会综合运用XSL编写转换 模板
2016/11/11
1
1 XSL概述
可扩展的样式表单语言XSL(eXtensible Stylesheet Language) ,它定义了如何转换 和表示XML文档。最早由W3C于1999年提出。 XSL的意义
转换结果 (通过IE处理)
2016/11/11 5
转换结果
<html> <body> <h2>My CD Collection</h2> <table border="1"> <tr><th>Title</th><th>Artist</th></tr> <tr> <td>Empire Burlesque</td> <td>Bob Dylan</td> </tr> …… <tr> <td>Red</td> <td>The Communards</td> </tr> <tr> <td>Unchain my heart</td> <td>Joe Cocker</td> </tr> </table> </body> </html>
电子商务技术基础课后习题及答案

电子商务技术基础课后习题及参考答案第一章:参考答案1.传统的商务与现代电子商务有什么区别?参考答案:电子商务将传统商业活动中物流、资金流、信息流的传递方式利用网络科技整合,企业将重要的信息通过全球信息网(WWW)、企业内部网(intranet)或外联网(extranet)直接与颁布各地的客户、员工、经销商及供应商连接,创造更具竞争力的经营优势。
电子商务与传统的商务活动方式相比所具有的特点是:交易虚拟化、交易成本低、交易效率高和交易透明化。
2.电子商务中需要用到哪些信息技术?参考答案:电子商务是商务与信息技术(计算机技术、网络技术、通信技术)的结合,其中应用到的一些技术主要有网页设计技术、分布处理与中间件技术、应用系统设计与整合技术、网络安全技术、电子支付技术、物流技术、网络营销技术(如信息检索与数据挖掘技术、信息发布技术)、移动电子商务技术和Web2.0应用技术等。
3.电子商务带来哪些商务优势?参考答案:电子商务主要是运用网络进行互联互通,具有方便快捷、即时性强、交易成本低和效率高等优势。
4.电子商务与电子商务系统的区别有什么区别?电子商务系统与传统的信息系统又有什么不同?参考答案:见“教材”表1-2和表1-35.利用传统的客户机/服务器结构进行电子商务存在哪些问题?与之相比,三层客户/服务器结构有哪些好处?参考答案:由于用户数目和应用类型具有很大的不确定性,传统的客户机/服务器结构存在的主要问题:(1)维护困难,(2)费用增加,(3)培训困难,(4)网上的数据流量大,网络负载较重。
可分为应用任务分担问题和客户端系统分发和界面问题两类。
与之相比,三层客户机用于解决应用任务分担问题,而服务器/浏览器结构用户解决客户端系统分发和界面问题。
6.电子商务系统三层架构的具体内容是什么?参考答案:电子商务系统三层架构利用各种网络技术和中间件技术,将电子商务系统的体系结构分解成商务表达层、商务逻辑层和商务数据层。
XML实用教程第5章 XSL转换

3.使用特殊路径符号 例如:
<xsl:apply-templates select="/*/员工"/> <xsl:apply-templates select="//员工"/>
5.3.1 简单判断
在
5.3 XSL控制指令
<xsl:if> 标记中,使用以下语法: <xsl:if test="条件">标记内容</xsl:if> 条件表达式第一项必须是标记匹配模式匹配 的XML标记,如果此标记不是根标记,条件 表达式的第一项必须用“.”来表示标记匹配模 式匹配的XML标记
第5章 XSL转换
学习内容
XSL入门
XSL模板
XSL控制指令
XPath简介
5.1 XSL 入门 5.1.1 XSL概述
XSL的全称是eXtensible
Stylesheet Language,即可 扩展样式语言,是目前用来设计XML文档显示样式的主 要技术之一。 XSL主要的功能: 1.将XML转换成HTML; 2.过滤和分类XML数据; 3.对一个XML文档的部分进行寻址; 4.基于数据值格式化XML数据; 5.向不同设备输出XML数据的语言。
5.2 XSL 模板 5.2.3 模板和标记匹配
5.2.3.2 匹配符匹配
1.
根节点匹配符
例如:<xsl:template
例如:
match="/"> 2.根标记的任何子标记匹配符 <xsl:template match="/*"> <xsl:apply-templates/> </xsl:template>
第四章 格式转换

示例 — HTML 代码
<tr> <td width="50%">Multimedia operating system</td> <td width="50%">John</td> </tr> <tr> <td width="50%">Library system automation</td> <td width="50%">Joseph</td> </tr> </table> <p class="times">Copyrights IBM</p> </body> </html>
– 用来转换一个 XML 文档的方法 – 定义 XML 部分和模式的方法 – 格式化 XML 文档的方法
XML/XSL 结构
XSL 的优点
它把 XML 数据转换成 HTML 格式 它可以过滤和排序 XML 数据 它可以寻址部分 XML 文档 它可以根据数据值格式化 XML 数据 例如,负的帐户差额是用红色显示的 它可以将 XML 数据输出到除传统的输出设备以外 的其它设备,如手持设备、语音设备和其它类似的 设备
<xsl:value-of> 元素
xsl:value-of 元素用来抽取 XML 文档中某个节 点的值 xsl:value-of 元素用来创建结果树中的一个文本 节点 它的语法如下: <xsl:value-of select=”expression” disable-outputescaping=”yes or no” />
什么是xsl

--------------------------------低温恒温槽---------------------------------------- 什么是XSLXSL是eXtensible Stylesheet Language的英文缩写,即可扩展的样式表语言它是一个XML应用程序,提供定义规则的元素来转换和显示XML文档,从而实现文档内容与其表现形式的分离。
XSL是专门为XML设计的样式语言,也是除了CSS之外.另一个可用来表现XML 文档的选择。
XSL被定义为包含了一套元素集的XML语法规范,该语法规范将被用来把XML文件转换成HTML. XML或者其它格式的文档。
一个XSL样式表集合了一系列设计规则,用于从XML文档中提取信息,并将这些信息转换成HTML等其它格式。
这种转换采用了公开的方式,使其更加容易、方便地被程序员描述。
同时.XSL还提供多种脚本语言的通道,以满足更为复杂的应用需求。
因此,尽管XSL是一种新的标记语言,但程序设计者完全可以继续充分发挥其熟悉的HTML或脚本语言的优势。
由于XSL强大的可扩展性,使得它可以控制无穷无尽的标记,而且控制每个标记的方式同样是无穷无尽的。
这就给W eb提供了高级的布局特性。
例如旋转的文本、多列和独立区域。
它也支持国际统一的书写格式,可以在一页上混合使用从左至右、从右至左和从上至下的书写格式同MathML, SVG样,XSL本身就是一项XML的应用。
它直接架构在XML语法之上,共分为两个部分:第一部分是XSLTI负责将XML的源代码转换为另一种格式:第二部分是XSL-FO,提供了大量的格式化命令,可用来配合印刷或屏幕显示,精确地设定外观样式,这是一种所谓“独立设备”的格式。
第一部分的转换语法可以用来服务于第二部分。
事实上,XSL的转换语法并不限于将XML转换成FO命令,XSL可以输出任何格式正确的XML 文档。
因为这个特性,我们可以用它来做以下几种格式的转换:XML-HTML, XML"XML, XML-SVG等等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XML文档中的处理指令
注释节点
XML文档中的注释
现在创建一个XML文档,用来演示XSL构造的文档树,打开记事本,输入下列代码:
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" here="Example1.xsl"?>
XSL
XSL工作原理就是把XML文档作为一个存储数据的树来看待,称它为源树。XML文档的根元素和子元素可以看作是树节点。XSL就是把这些存放数据根据我们自己的需要从XML树中提去出来,组成一个新的树,也就是结果树。结果树和源树是独立存在的,对结果树中的数据操作不会影响到源树中的数据,XSL正是通过这种方式实现了数据和表示分离的目的。而XSL提取数据的工具就是XSL处理器,XSL处理器首先根据要找的节点在源树中寻找,其寻找方式就是上面描述的情形。数据提取到之后,就到XSL文档中,找到与这个节点匹配的样式定义。按定义好的样式显示数据,即形成了一个新的文档树。
XSL处理器在对XML文档进行转换时,根据指定的样式表文档来输出结果文档。XSL对源文档、结果文档和样式表文档使用同样的数据模型来操作,也就是采用同样的树状结构。不过要注意的是,处理指令和注释在样式表中被忽略:样式表被看作是既没有处理指令节点,有没有注释节点的样式表树。XSL处理器在构造结果树时,可以对源文档树进行修改、过滤和添加其他内容,且结果树的结构和源文档树的结构完全不同。
<俱乐部>
<会员>
<姓名>韩军</姓名>
<年龄>30 </年龄>
<性别>男</性别>
<描述>喜欢旅游和听音乐</描述>
</会员>
<会员>
<姓名>马红波</姓名>
<年龄>35 </年龄>
<性别>男</性别>
<描述>喜欢足球和读书</描述>
</会员>
<会员>
<姓名>孙静</姓名>
<年龄>20 </年龄>
XSL所构造的XML文档树有下列7种类型的节点,如表5-1所示:
表5-1 XSL构造的文档树节点类型
节点名称
说明
根节点
根节点表示文档树的根。XML文档的根元素,以及根元素之前或之后出现的任何处理指令节点或注释节点作为根节点的子节点
元素节点
表示XML文档中各个元素
文本节点
元素内容中的字符数据(包括CDATA段中的字符数据)
<性别>女</性别>
<描述>喜欢演讲和跑步</描述>
</会员>
</俱乐部>
上述XML文档,如果使用XSL处理器构造,会形成如图5-2所示的树状结构。
图5-2 XML文档的树结构图
XSL处理器按照指定的样式表文档,将源文档转换为结果树的示意图,如图5,实际上就是要显示数据的XML文档的另外一种形式。这里XSL处理器是把XML文档作为一棵树来操作,XML文档的各个组成部分作为树中的节点,元素节点可以有自己的子节点,没有子节点的节点称为叶节点。在树状结构中,节点以及子节点也会形成树状结构。文档树的根称为根节点,要注意,根节点并不是XML文档的根元素(文档元素)节点,采用根节点作为文档树的根,是因为XML文档中的处理指令和注释可以在根元素之外出现,出现在根元素之外的处理指令和注释,以及根元素本身作为根节点的子节点。除了作为文档树的根,根节点并不出现。
属性节点
属性节点附属于元素节点,表示XML文档中的属性。元素节点是其附属节点的属性节点的父节点,但属性节点并不是它的父元素的子节点。要注意,这与DOM不同,在DOM中,元素并不是其附属的属性的父节点。
名称空间节点
名称空间节点表示XML文档中以xmlns:开始的属性。元素节点是这些名称空间节点的父节点,但名称空间节点并不是它父元素的子节点。