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等等。
论XML文档数据库数据之间的转换原理及转换对象
g t o n cin” l” yy ) eC n et (yy ,” l”; o
Orc XMi a ecr ,”l .F TRAD ) al e v ( m yy X S o E”;
/ A s me t a h sr p se / au h t t e ue a s s
日 子术 技
模型 中的对象是 否被 实例化要取决于所用 的软件 。有些软 件允许依据模型产生类 ,然后 可以在程 序中使用 由这些类所产生 的对 象。在 这些产品中,数据足存X 文件 一 对象 数 ML 据库之问传递的 。其他产品是直接在XML 文件 和数据库之 间进 行数据转换的 ,对象 只是作 为 这种过程的 可视 化帮助工具 。生成这些 中间对 刘 刚 哈尔 滨银行双 鸭山分行 同济大学软件 工程硕 士在读研 究生 象是否有用完 全取决于你的应用程序 。 二、将XML 数据转化为OR ACL 数据库数 E p ig 摘要 x 礼是E t s l r p agae Ma pn ) ^ x nie k nug e b uL Ma 据 许 多转换XM[ 到数据库的中问软 件都采 用 的 简写 ,是 由W 3 C所 发展 的 。 可 以上 网 页设 为了解决把 X 有效地 、自动地转换 出 MI 文件看作一个 ( 或 计人 员 自行 定 义T G的延 伸 格 式 , 可 以 用在 自 A 基于表格的映射。它把 XMI 入关系数据库的 问题 有各种方式。敏据库厂商 组 )表格 ,也就 是说 ,XML文件的 结构必 由性 的 数据 库 或是 各 种 文件 格 式 上 , 用 来接 收 Orce a l已经开发 了转换 XML 到数据库表 中的 与应 用各 种 网 页的 须 求 。 本文 着 重介 绍 了如 何 须是下 面这 种样子 ,如果 只是单 一表格的话 , 辅 助工具 。OrceXML S it al QL Uti ly把 XML d tb s> tbe > 将 xM L 件 数 据 导 入 一般 关 系数 据 库 的 具体 就不再需要< aa ae 元素和其他< a l 元 文 文 档 元 素 建 模 为 一 组 嵌 套 的 表 。 通 过 使 用 素。 方 法。 O al 对象数据类型建模套入的元素。 ”Q — rc e SL 根据所用软 件的不同 ,可以将各字段数据 关 键调 : X L M ;关系 据库 ; 缸 ; a I da t t XMI” o 转换 使用被对象数据类型引用的表 , 。rH ;aee d r ' d 以子元 素的形式或以属性 的形式 存储 ,同样也 到一关联来构造 XML 可以指 定这 些元素或属性 的名字。此外 ,采 用 和嵌 套的元素之 间的 ・ XMI o Q 可能要求数据模型的改 XML 是一 个精 简的S GML,它将S GML 一基于表格映 射方式的软件还 可能允许在文件开 文档。” t S L” 的 从炎系转换到对象 关系) 或重新构造最初的 十 富 功 能 HTML的易 用 性 结 合 到 w e 的 应 用 始的地 方包含表格或 各字 段的元数据 ,或者将 进( b
XSLT入门学习资料、XPath转换XML文件资料
8.2.2 XSLT简介XSLT提供一套规则,用于将一组元素描述的XML数据转换为另一组元素描述的文档,或者是将该数据转换为一种自定义的文本格式。
如员工的数据XML文件,通过XSLT转换,在公司的网站中会以HTML 的格式输出显示,而对于会计则只需要转换成自定义的文本格式员工数据就可以。
XSLT把XML文档转换为完全不同的输出。
这样可以把数据内容存储在XML文档中,然后通过各种媒体将其输出到各种介质中:无线电、打印、语音等格式。
当数据发生变化时,只需要修改源XML文档,不需要在多处重复相同的修改工作。
通常情况下,XSLT用于将XML文档转换为HTML,目的是可以在浏览器中进行显示。
最简单的XSLT应用情况首先涉及到两个文档:包含原始数据的XML文档和用来转换该文档的XSLT转换文档。
将XML原文档输入,处理器根据XSLT文档作为模板进行转换,最终输出需要的文档。
图8.1 使用XSL转换XML文档XSLT的一些可能的应用包括:∙以查看为目的添加元素。
如向XML格式的订单中添加公司标志或发送者的地址。
∙从现在内容创建新的内容。
如创建目录。
∙从XML文档中提取信息。
如向管理人员提供详细的信息,对普通员工提供有限的信息。
∙在不同的XML字典或模型之间进行转换。
如将公司专用的文档转换为符合业界标准的文档。
∙将XML文档转换为HTML,用以实现与现有浏览器之间的兼容。
有关XSLT的语法规则,将在本章后续部分详细介绍。
8.2.3 XPath简介XPath是XSLT的重要组成部分。
它是一种专门用来在XML文档中查找信息的语言。
XPath隶属XSLT,因此通常会将XSLT语法和XPath 语法混在一起阐述。
可以这样来解释:如果将XML文档看作一个数据库,XPath就是SQL查询语言;如果将XML文档看成DOS目录结构,XPath就是cd,dir等目录操作命令的集合。
在XSLT中, XPath表达式返回4种类型值:节点集合(node-set)、布尔值(Boolean)、数字和字符串。
第8章 XSL转换6
-XSL转换
-XML应用-
8.2.3 XPath简介
一种专门用来在XML文档中查找信息的语言 XPath表达式返回4种类型值:
节点集合(node-set):集合中序号从1开始 布尔值(Boolean) 数字 字符串
基本上XSLT的最常规用法是返回节点集合或者 字符串 <xsl:template match=“匹配表达式”>
XML应用 应用
授课教师 侯霞 软工0701-02、B信计 信计0701-03 授课班级 B软工 软工 、 信计
1
-XML应用-
教学目标
理解XSL的一些基本概念和结构 掌握Xpath的表示方法和含义 掌握XSLT转换语言的基础知识,熟悉 XSLT所使用的元素、模板、函数等 掌握XSLT的应用方法 通过具体实例的学习,学会运用XSLT编 写转换模板
19
-XSL转换
Operator | + * div = != < <= > >= or and -XSL转换 mod
Description Computes two node-sets Addition Subtraction Multiplication Division Equal Not equal Less than Less than or equal to Greater than Greater than or equal to or and Modulus
4
-XSL转换
-XML应用-
8.2.2 XSLT简介
XSLT提供一套规则,用于将一组元素 描述的XML数据转换为另一组元素描述 的文档,或者是将该数据转换为一种自 定义的文本格式
5
-XSL转换
利用XSLT转换
利用XSLT转换XML我们已经在前面的章节中讲到了如何利用XSLT样式表,进行将数据库驱动的XML 转换到HTML页、具有特定词汇表的XML数据报、SQL脚本以及email等等。
作为程序开发员,如果用户希望在网络上将数据库的各种资料信息发挥出最大的价值,将发现XSLT就像是一把用户希望能够永远挂在自己腰带上的瑞士军刀。
简而言之,不论是在处理结构化信息的交换这一核心环节,还是在快速解决和重新策划信息这个极为重要的问题,对于充分理解如何开发利用XSLT的Oracle XML程序员来说,他们都将在解决上述问题时能够得心应手,胜人一筹。
XSLT 1.0是基于W3C标准的用于描述XML文档之间进行转换的语言,它同XPath 1.0标准紧密结合,二者共同致力于网络数据库的开发工作。
正如我们即将在本章内容中所讲到的,XPath用于指定需要进行转换的内容,而XSLT则提供了描述如何实现转换的相应的互补的语言。
XSLT样式表描述了将源XML文档转换为结果XML 文档的一系列的规则,通过XSLT处理器即可完成基于这些规则的转换过程。
在前面章节的简单样例中,我们已经看到了使用Oracle XSLT处理器的3种主要方法。
我们使用了oraxsl命令行工具、XSLT处理器的程序式API以及<?xml-stylesheet?>指令来连接样式表和页面。
在本章中,我们将探索XSLT语言的全部功能,来理解怎样在应用中最好地使用它。
302利用XSLT转换XML303 XSLT的处理机制XSLT样式表描述了一个变化过程,它作用于源XSLT文档的树状结构信息集,并产生一个节点树作为其输出结果。
考虑下面这个简单的XML文档:<!-- Emp.xml --><ROWSET><ROW num="1"><EMPNO>7893</EMPNO><ENAME>KING</ENAME></ROW><ROW num="2"><EMPNO>7788</EMPNO><ENAME>SCOTT</ENAME></ROW></ROWSET>通过运行这段文档将生成与之相应的节点树(见图7-1)。
XSL与XSL-FO初探
XSL与XSL-FO初探1前言因为工作任务涉及到异构数据交换和展示,其中任务涉及到XML数据转换应用的XSLT和XSL-FO两个关键技术点,此文就将对XSL-FO技术初步的探索成果与大家分享如下.2XSL与XSL-FO的关系XSL(EXtensible Stylesheet Language -扩展样式表语言)由两个主要部分组成:●用于转换XML 文档的语言●用于指定格式化语义的XML 词汇表在这里,SytleSheet中的样式化(Styling)包含了两个含义,一个是转换信息,一个是格式化信息.XSL的第一个部分是XSLT,第二个部分是XSL-FO(即XML SytlesSheet Language-Formatting Objects) ,目前通常也称为XSL(注意:这个通称与扩展样式表语言名称相同,不要混淆).XSLT 通过将带标记的数据转换成美观的文档来使XML 文档可读。
通过使用XSLT 处理器,应用定义在样式表中的规则来完成文档转换。
这种方法需要一个XML 文档作为源文件,需要另一个带格式化信息(样式表)的文档,还需要处理器。
但是如果想使用XML 而又不想对付两个文档,该怎么办呢?答案是:在文档中包含格式化信息。
XSL-FO提供了一组标记,可以用这些标记来定义文档如何显示给用户,使用FO,可以定义页面布局,字体风格,颜色,图像显示和许多其他设计特性.XSL-FO文档存储在以.fo或.fob为后缀的文件中,其实也可以以.XML为后缀存储.FO 文件由以下各部分组成:●一个XML 头和名称空间声明●页面布局信息●页眉和页脚内容●文本内容●结束标记关于XSL-FO规范格式,可以阅读400 多页的 W3C XSL-FO 规范规范文档,链接如下:/TR/xsl/目前,仅有少量的可选替代方法可以使XSL-FO 文件有用。
将FO 文件转换成可读格式的最好选项是:●PDF格式●RTF格式●HTML格式●OOXML Word格式3XSLT与XSL-FO的区别XSLT是指的XSL Transformation,专门用于进行XML数据转换(Data Transformation)。
xsl转换
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="/1999/XSL/Transform"><xsl:template match="/"><html><head><title>雇员信息表</title></head><body><style type="text/css"></style><xsl:apply-templates /></body></html></xsl:template><xsl:template match="Employees"><xsl:for-each select="Person"><xsl:if test="FirstName="Lara"">节点"DateOfBirth"包含的文本内容是 "<xsl:value-of select="DateOfBirth"/>"<br/> </xsl:if><xsl:if test="FirstName="Patrick"">节点"Person"包含的文本内容是 "<xsl:value-of select="."/>"<br/>节点"FirstName"包含的文本内容是 "<xsl:value-of select="FirstName"/>"<br/>节点"LastName"包含的文本内容是 "<xsl:value-of select="LastName"/>"<br/>节点"DateOfBirth"包含的文本内容是 "<xsl:value-of select="DateOfBirth"/>"<br/> </xsl:if><xsl:if test="FirstName="Angela"">节点"Person"包含的文本内容是 "<xsl:value-of select="."/>"<br/>节点"FirstName"包含的文本内容是 "<xsl:value-of select="FirstName"/>"<br/>节点"LastName"包含的文本内容是 "<xsl:value-of select="LastName"/>"<br/>节点"DateOfBirth”包含的文本内容是 "<xsl:value-of select="DateOfBirth"/>"<br/> </xsl:if></xsl:for-each></xsl:template></xsl:stylesheet>XML文档:<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="employees_info.xsl"?> <Employees><Person><FirstName>Lara</FirstName><LastName>Farmer</LastName><DateOfBirth>1944-12-12</DateOfBirth></Person><Person><FirstName>Patrick</FirstName><LastName>Stepfoot</LastName><DateOfBirth>1955-11-11</DateOfBirth></Person><Person><FirstName>Angela</FirstName><LastName>Paris</LastName><DateOfBirth>1980-10-10</DateOfBirth></Person></Employees><?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.0" xmlns:xsl="/1999/XSL/Transform"><xsl:template match="/"><html><head><title>人物特征表</title></head><body><h5>这里记录的年龄有些不正常,请检查原始数据.</h5><xsl:apply-templates /></body></html></xsl:template><xsl:template match="Character"><xsl:choose><xsl:when test="@age>110"><xsl:value-of select="."/>太老了,老的难以想象,请检查这个人物的年龄,<xsl:value-of select="@age"/>,是否正确?<br/></xsl:when></xsl:choose></xsl:template></xsl:stylesheet>Character XML文档:<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="character_info.xsl"?><Characters><Character age="99">Julius Caesar(朱利叶斯.恺撒)</Character><Character age="23">Anne Boleyn(圣安妮.博林)</Character><Character age="41">George Washington(乔治.华盛顿)</Character><Character age="45">Martin Luther(马丁.路德)</Character><Character age="800">Methuselah(玛士撒拉)</Character><Character age="119">Moses(摩西)</Character><Character age="50">Asterix the Gaul(阿斯特里克斯.高卢)</Character> </Characters>。
第8章 XSL转换
8.3.3 XSLT模板 模板
模板就是要应用的规则 <xsl:template>元素定义了用于进行转换 元素定义了用于进行转换 了的节点内容,其语法如下所示: 了的节点内容,其语法如下所示:
<xsl:template match="expression" name="name" priority="number" mode="mode"> </xsl:template>
< xsl:choose> <xsl:when test="pattern"> < !--样式定义 > 样式定义-样式定义 </xsl:when> <xsl:otherwise> < !--样式定义 > 样式定义-样式定义 </xsl:otherwise> < /xsl:choose>
北京林业大学信息学院
函数
含
义
index
返回一个节点在同一个父节点中的索引 值 返回节点的确定名称 返回一个元素值的类型强制版本 返回表示被选择节点类型的数值
nodeName value nodeType
北京林业大学信息学院
8.2.4 XPointer、XLink和XQuery 、 和
XPointer支持对 支持对XML的内部结构部分的定 支持对 的内部结构部分的定 位 XLink是描述在资源间进行链接的语言 是描述在资源间进行链接的语言 XQuery提供方便用户进行查询 提供方便用户进行查询XML文档输 提供方便用户进行查询 文档输 入,抓取相关数据和操作结果以创建不同格 式的输出形式的方法
使用XSL技术实现XML到SVG文件的转换
使用XSL技术实现XML到SVG文件的转换
吴敏
【期刊名称】《计算机应用》
【年(卷),期】2002(022)005
【摘要】首先介绍了SVG和XSL技术,然后结合具体实例阐述了使用XSL实现XML到SVG文档的转换过程,最后对SVG的应用前景进行了展望.
【总页数】2页(P102-103)
【作者】吴敏
【作者单位】东华大学,网络中心,上海,200051
【正文语种】中文
【中图分类】TP393.092
【相关文献】
1.基于XSL实现GML到SVG的转换 [J], 张佐帮;尚颖娟
2.WEB图形格式SVG及基于XML+XSL的动态生成技术 [J], 杨晴雯;周宇;李晓
3.利用XSLT与Java实现XML文件中数据到数据库的转换 [J], 李迪;董傲霜
4.利用XSLT实现XML文档格式的转换 [J], 关辉
5.使用XSL实现XML到VML的转换 [J], 闫旋;宋瀚涛
因版权原因,仅展示原文概要,查看原文内容请购买。
- 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:开始的属性。元素节点是这些名称空间节点的父节点,但名称空间节点并不是它父元素的子节点。