XSL转换XML文档PPT课件

合集下载

使用XSL转换XML文档

使用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">

XML实用技术教程 第17讲(XSLT转换)

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>

第5章_利用XSL实现XML文档多种格式化显示

第5章_利用XSL实现XML文档多种格式化显示
确定需要执行计算的XPath的表达式
操作符专用字符 / 例子 /PRODUCTDATA 描述 选择PRODUCTDATA的直接的子元素。如果该 操作符出现在该模式开始时,它标 志应该从根节点来选择该子元素 在任何节点集中搜索指定的元素 指出当前的上下文 选择存在于当前元素父节点内的 PRODUCTNAME元素 选择所有元素 作为属性的前缀使用 选择所有的属性 从元素或者属性名中分离名称空间前缀 用来组合操作 应用一个过滤模式 求两个数之和 求两个数之差 求两个数之积 NUM1除以NUM2 NUM1与NUM2求模
5.2在XSLT样式表中使用XPATH模式
实例:使用XPATH模式实现产品销售情况 统计 问题 书店管理系统需要显示一个关于销售情况的 总结性报告。所有详细资料都放在一个XML 文档中。该数据包含关于产品的详细资料和 该产品的销售情况。
5.2在XSLT样式表中使用XPATH模式
实现效果
count(ns)
该函数返回XML文档中该节点的个数
count(//PRODUCT)将返回PRODUCT 节点的个数
5.2在XSLT样式表中使用XPATH模式
numeric函数
函数 number(obj) sum(ns) 描述 将参数转化为数字类型 返回参数节点集中的节点值的和 例子 number(“32”)返回整数32 sum(QUANTITY)返回所有QUANTITY 节点值的和
5.1 基于条件进行格式化数据
实现效果
5.1 基于条件进行格式化数据
分析
确定要显示的元素数据 确定根据条件格式化数据所需的条件 创建根据条件格式化数据的样式表 将样式表应用于XML文档 查看该XML文档
5.1 基于条件进行格式化数据

第4章_XSL转换

第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>

XML实用教程第5章 XSL转换

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>

第7章 XSLT转换

第7章 XSLT转换

XSL样式表 样式表
为什么需要XSLT
• XML文档所具有的树型结构 并不总符合许 文档所具有的树型结构,并不总符合许 文档所具有的树型结构 多场合所需要的信息结构: 多场合所需要的信息结构
所选择的结构不适于他人使用 面向应用的结构不适于其他应用 向不同用户呈现不同的重点
XSLT特点
• • • • XSLT不是一种完全的通用的编程语言 不是一种完全的通用的编程语言 XSLT应用灵活 应用灵活 XSLT用途广泛 用途广泛 保证了数据和显示相分离
显示结果
生成元素、生成属性、输出
• 应用 应用xsl:element元素可以在结果树中生成 元素可以在结果树中生成 元素。 元素。 • 使用 使用xsl:attribute指令在结果树中产生属性。 指令在结果树中产生属性。 指令在结果树中产生属性 • xsl:output元素允许按照需要规定结果树的 元素允许按照需要规定结果树的 输出。其输出可为XML、HTML、TEXT等 输出。其输出可为 、 、 等 格式。 格式。
XSLT XSLT处理器 处理器
XML
XSLT处理器 处理器 HTML浏览器 浏览器
XSLT 显示文档内容
基本框架
• <?xml version="1.0" encoding=“gb2312"?> <xsl:stylesheet version=“2.0" xmlns:xsl="/1999/XSL/Transform" xmlns:fo="/1999/xhtml"> …… 其中的1999不是指版本 </xsl:stylesheet> 1.0或2.0的发布时间,而 顶层元素:紧跟在xsl:stylesheet 是指W3C允许XSLT URI 元素下的子元素 的时间

经典:如何利用XSL呈现XML

经典:如何利用XSL呈现XML
例如:
message/persion[$any$name='小李']
表示标记persion的子标记中只要有一个name的标记内容为‘小 李’ 。
11
XSL的路径匹配模式(5)
3.匹配标记的内容
在这个模式下需要用到的关系运算符有:相等“=”、不等“!=”、 小于“<”、小于等于“<=”、大于“>”和大于等于“>=”。在XSL 中,这些符号都有特殊的编码,见下表:
5 返回
相对定位和绝对定位(1)
绝对定位法 绝对定位法就是相对于文件的根给出一个路径来定位到数据,这
个路径称之为绝对路径。 例如,计算机文件系统中路径“C:\WINNT\system32\notepad.exe ”
就是一个绝对路径。 用XSL格式化XML时,总是先定位到XML文件的根。文件的根用
表示具有父标记为lxfs特征的tel标记。
9
XSL的路径匹配模式(3)
2.使用通配符“*” 通配符“*”表示任意名称的标记,它可以匹配任意标记。例如:
lxfs/*
表示标记lxfs的所有子标记。
注意:通配符“*”可以代替任意名称的标记,一个“*”只能代替一 级标
记,如果是多级标记,可以用“message/*/*/tel”的形式,表 示的路径可以是“message/persion/lxfs/tel”等。
使用的名称空间是 “/TR/WDxsl” ,名称空前所使用的前缀一 般是“xsl”。
根模板
</xsl:stylesheet>
XSL样式文件的根标记必须是“stylesheet”,必须包含版本声
明。
4 返回
6.4 XSL的模式语言
6.4.1 相对定位和绝对定位 6.4.2 XSL的路径匹配模式

XSLT入门学习资料、XPath转换XML文件资料

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)、数字和字符串。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.2.4 XSL模板应用实例(P130)
5.3 XSL节点选择
5.3.1 使用元素名选择节点
可以在模板中直接指定XML文档的某个元 素名来选择相匹配的节点。 例如: <xsl:template match="roster"> <xsl:apply-templates select="roster"/> <xsl:value-of select="name"/>
5.3.4 选择指定的元素属性
在一些XSL样式表的特定标记中,同样可 以选择和输出XML文档元素的属性内容, 其语法格式为: @ 属性名
5.3.5 使用附加条件选择节点
1.附加子元素条件 例如: <xsl:template match="student[score]">
<xsl:value-of select="name"/> <xsl:value-of select="score"/> </xsl:template>
例如: <xsl:apply-templates select="/roster/Student/name"/>
3.使用特殊路径符号
例如: <xsl:apply-templates select="roster/*/name"/> <xsl:apply-templates select="//name"/>
5.1.2 XML文档结构树
XML文档的层次结构像是一颗倒挂的树,称为 XML文档结构树。文档中的每一个组件,包括 处理指令、注释或各个元素都是结构树中的一个 节点。 XML文档结构树从代表整个文档的根节点开始, 其下是XML文档声明及根元素等子节点,而在 根元素之下则是各层次子元素构成的一系列子节 点。 注意:根节点代表整个XML文档,而根元素则 是指最上层的一个元素。
2.XSL文档的创建
XSL文档以 .xsl为其文件扩展名,与XML 文档一样也是一种文本文件,可用任何一 种文本编辑软件进行创建和修改。
3.XSL文档的引用
在XML文档中引用XSL样式表的方法是在 序言部分添加如下形式的指令: <?xml-stylesheet type="text/xsl" href="URL" ?>
5.2.2 XSL选取值输出指令
XSL特定的 <xsl:value-of> 标记指令可用来 选取某个指定的节点,并输出该节点元素 的值。其基本语法格式如下: <xsl:value-of select="element-name"/>
5.2.3 XSL模板调用指令
在XSL文档中调用一个指定模板的基本语 法是: <xsl:apply-templates select="pattern"/>
则--> </xsl:template> ……
</xsl:stylesheet>
说明:
在XSL文档的开头,需要有XML声明语句,文档中的 每一个元素和标记都必须符合XML规范。 必须有由 <xsl:stylesheet 开始的XSL样式表声明语句。 XSL文档的模板(template)用来规定XML文档中所匹 配元素的输出内容和输出格式。一个XSL文档至少应包 含一个与根节点匹配的模板。 W3C为XSL定义了若干个特定的元素或标记,包括: stylesheet、template等,用来实现对XML文档元素的显 示格式进行控制。 在XSL文档中也可以使用各种HTML标记。
5.1.4 XSL与CSS的比较
(1)用途不同 (2)处理结果不同 (3)表现能力不同 (4)语法不同
5.2 XSL模板
5.2.1 XSL模板定义指令
定义一个XSL模板的基本语法格式: <xsl:template match="pattern">
<!-- 若干行输出内容与输出格式定义 代码 --> </xsl:template>
第5章 使用XSL转换XML文档
5.1
XSL概述
5.2
XSL模板
5.3
XSL节点选择
5.4
XSL控制指令
5.5
XSL应用实例
5.1 XSL概述
5.1.1 XSL基本概念
XSL的全称是eXtensible Stylesheet Language, 即可扩展样式语言,是目前用来设计XML文档 显示样式的主要技术之一。 XSL主要由两部分组成,即数据转换语言XSLT 和数据格式化语言XSL-FO。目前主要使用数据 转换语言XSLT,可以根据需要把XML文档转换 成任何一种基于文本格式的文档。 XSL样式表文档的内容完全符合XML的语法规 定,因而可以将其看成是一种特殊的XML文档。
5.3.2 使用匹配符选择节点
1.根节点匹配符 例如: <xsl:template match="/"> 2.根元素匹配符 例如: <xsl:template match="/*">
<xsl:apply-templates/> </xsl:template>
3.当前节点和父节点匹配符
例如: <xsl:template match="Student">
5.1.3 XSL文档的创建与应用
1.XSL文档的组成
XSL文档基本组成形式: <?xml version="1.0" encoding="gb2312" ?> <xsl:stylesheet xmlns:xsl="">
<xsl:template match="/"> <!--若干控制XML文档元素显示的规
<xsl:value-of select="."/> <xsl:value-of select=".."/> </xsl:template>
5.3.3 使用路径选择节点
1.在match属性中使用路径
例如: <xsl:template match="/roster/Student/name">
2.在select属性中使用路径
在显示XML文档时,XSL 样式表要比CSS样式 表更具威力且更富弹性。XSL 样式表提供了对所 有XML 组件(包括元素、属性、注释和处理指 令)的控制权,可以轻易排序和筛选XML 文档 中的数据,ቤተ መጻሕፍቲ ባይዱ允许修改或新增信息。
一个XML文档链接相关的XSL样式表后,即可 直接在IE 浏览器中打开,并按样式表指定的格 式显示出文档内容。
相关文档
最新文档