文档库 最新最全的文档下载
当前位置:文档库 › XSLT的元素语法

XSLT的元素语法

XSLT的元素语法
XSLT的元素语法

.XSLT的元素语法

1 xsl:template和xsl:apply-templates

2 xsl:value-of

3 xsl:for-each

4 xsl:if

5 Xxsl:choose, when, otherwise

6 xsl:sort

1 xsl:template和xsl:apply-templates

模板(template)是XSLT中最重要的概念之一。XSLT文件就是由一个一个的模板组成,任何一个XSLT文件至少包含一个模板。模板的概念就象是搭积木;你如果是程序员,也可以将模板看作一个方法,一个类,或者一个模块。它们可以被拼装组合,也可以单独成块,不同的模板控制不同的输出格式。

模板(template)由两部分组成:匹配模式(match pattern)和执行。简单的讲模式定义XML源文档中哪一个节点将被模板处理,执行则定义输出的是什么格式。两部分对应的语法为xsl:template和xsl:apply-templates。

xsl:template的语法是:

match = pattern

name = qname

priority = number

mode = qname>

xsl:template的作用是定义一个新模板。属性中name,priority,和mode用来区别匹配同一节点的不同模板。它们不是常用的属性。match属性则控制模板的匹配模式(pattern),匹配模式是用来定位XML源文档中哪一个节点被模板处理。一个模板匹配一个节点。我们用一个例子来帮助理解:

假设我们要处理一个包含章节和段落文档。我们用para元素定义段落,用chapter元素定义章节。我们来看看match属性可能的值。下面的语句写法说明模板匹配所有的para元素

下面的语句写法说明模板匹配所有的para元素和所有的chapter元素:

下面的语句写法说明模板匹配所有的父节点为chapter元素的para元素:

下面的语句写法说明模板匹配根节点:

我们再来看apply-templates语法:

select = node set-expression

mode = qname>

xsl:apply-templates用来执行那一个节点被模板具体处理。你可以将它理解为程序中调用子函数。select属性用来定义确切的节点名称。

xsl:apply-templates总是包含在xsl:template元素中,象这样:

这段代码说明摸板匹配整个文档(根节点),具体执行时处理根节点下所有para 元素。

而这一段代码则表示摸板匹配para节点,所有para下的子元素都将被处理。

2 xsl:value-of

XSL:value-of用来将源文档中元素的文本值写到输出文档中。例如:

有一个个人资料的XML文档:

ajie

28

我如果想在输出文档中显示上面这个XML源文档中的name元素的值,可以这样写XSLT代码:

执行后,你会看到"ajie"被单独显示出来。其中match="PERSON"定义摸板匹配PERSON节点,xsl:value-of

语法说明需要输出一个节点的值,而select="name"则定义需要被输出的元素为name。看这个过程是不是和数据库里查询一个人的名字很象?当然,

xsl:value-of查询还有更多,更复杂的语法,因为是涉及寻找和定位的功能,我们会放在后面的XPath语法中在仔细讲解。

同样功能的还有xsl:copy-of,用法一样,就不重复解释了。

3 xsl:for-each

xsl:for-each语法允许你循环处理被选择的节点。例如:有一个含多个个人资料的XML文档:

ajie

28

tom

24

miake

30

我需要显示所有人的姓名,则可以将XSLT代码写成:

4 xsl:if

xsl:if类似普通程序语言的if条件语句,允许设定节点满足某个条件时,被模板处理。xsl:if的语法格式为:

template body

例如:

这段代码的意思是检测PEOPLE节点下所有的元素,如果发现有元素,则将元素的值输出。其中@符号是统配符,表示节点下所有的元素。

5 xsl:choose, xsl:when 和 xsl:otherwise

xsl:if语法没有else的属性。如果我们要进行多项选择,那么就要使用

xsl:choose / xsl:when / xsl:otherwise系列流程控制语法了。具体的使用请看下面的XSL文件例子:

No name available

说明:首先在PEOPLE节点下寻找属性值为ajie的元素,如果找到,将ajie用粗体输出;如果没有发现值为ajie 的元素,则将所有的元素的值都用斜体输出;如果没有发现任何元素,则显示 "No

name available"。

6 xsl:sort

在XSLT中可以对XML源文档的元素进行重新排序,排序的语法就是xsl:sort。举例:下面的代码就是将文档元素按name排序。

以上是XSLT的元素的主要语法,还有很多其他的语法,例如:import, include, element, attribute, number, param等等语法,在这里就不一一解释。我们的目的是让您对XSLT的语法有基本的概念,理解XSLT作为一种转换语言的强大功能。

XSL 语言

XSLT 介绍 XSLT is a language for transforming XML documents into XHTML documents or to other XML documents. XSLT是一种把XML文件转换成XHTML文档或者其他的XML文档的语言。 XPath is a language for navigating in XML documents. XPath是一种由于操作XML文档的语言。 What You Should Already Know 学前基础 Before you continue you should have a basic understanding of the following: 如果你想继续下面的学习,你必须得掌握下面的一些基本常识。 ?HTML / XHTML ?XML / XML 命名空间 ?XPath If you want to study these subjects first, find the tutorials on our Home page. 如果你想要先学习这些课题,那请在知识库找到这些教程. What is XSLT? 什么是XSLT? ?XSLT stands for XSL Transformations XSLT代表XSL转换(XSL Transformations) ?XSLT is the most important part of XSL XSLT是XSL最重要的部分 ?XSLT transforms an XML document into another XML document XSLT可以把XML文档转换成另一个XML文档 ?XSLT uses XPath to navigate in XML documents XSLT通过XPath操作XML文档 ?XSLT is a W3C Recommendation XSLT是一种W3C参考标准 XSLT = XSL Transformations XSLT=XSL转换(XSL Transformations)

完美的xslt数值函数与字符串函数

完美的xslt数值函数与字符串函数 [原创 2009-10-08 17:50:48] 字号:大中小任何的编程语言或者是SQL语句都有内置的函数或方法,而强大灵活的xslt技术也是如此。熟练掌握XSLT的常用函数的用法,XSLT的应用将变得如此轻松,你会发现XSLT比想象中还要牛!以下是xslt数值的函数与xslt字符串函数的说明与参考示例。 1、xslt数值的函数: (1)fn:number(arg) 返回参数的数值。参数可以是布尔值、字符串或节点集。 示例: 返回 100 (2)fn:abs(num) 返回参数的绝对值。 示例: 返回 3.14 (3)fn:ceiling(num) 返回大于 num 参数的最小整数。(注:这里有些文章是写错了的,将大于写成了小于) 示例: 返回 4 (4)fn:floor(num) 返回小于等于 num 参数的最大整数。 示例: 返回 3 (5)fn:round(num) 把 num 参数舍入为最接近的整数。 示例: 返回 3 (6)round-half-to-even(num) 示例: 返回 0 示例: 返回 2 示例: 返回 2 2、xslt字符串函数

XML的特点及应用前景

XML的特点及应用前景: 特点:1.具有良好的格式,xml文档格式属于良好格式的文件,xml标记一定是成双成对的。2.具有验证机制,xml有两种验证方法一种是dtd,是一个专门的文件,用来定义和检验xml文档中的标记;另一种是xml schema用xml语法描述,多个schema 可以复合使用xml名称空间,详细定义元素的内容及属性值的数据类型。3.灵活的web应用,xml描述数据的本身,是文本化的小型数据库表达语言。 4.丰富的显示样式,xml数据定义打印、显示排版信息有3中方法:用css定义打印和显示排版信息,用xslt转换到html进行显示和打印,用xslt转换成xsl的fo进行显示和打印。 5.Xml是电子数据交换(edi)的格式,xml最适合为数据交换的标准,还可以作为数据仓库。 6.便捷的数据处理,xml是一种通用的数据结构,以文本形式描述的,适合各种平台环境的数据交换。 7.面向对象的特性,xml文件是树状结构的,是信息的对象化语言,xml的资源描述框架(RDF)是信息导航、浏览、搜索的用户接口标准。 8.开发的标准,xml是信息的高层封装与运输的标准。 9.选择性的更新10Xml是一个技术大家庭,xml的缺陷一是它是树状存储的,搜索效率虽然极高,但插入和修改比较困难;二是xml 的文本表现手法、标记的符号化等会导致xml数据以二进制表现方法的数据量增加,尤其当数据量很大时,效率成为很大的问题;三是xml文档作为数据提供者使用,没有数据库系统那样完善的管理功能;四是xml是元置标语言,任何个人、公司和组织都可以利用它定义新的标准,这些标准间的通信就成了巨大的问题。 Xml的应用前景: 1.网络服务领域 2.EDI(电子数据交换) 3.电子商务领域 4.数据库领域 5.Agent(智能体) 6.软件设计元素的交换 Xml语法的基本点: 1.Xml文档只能包含一个根元素。Xml文档的根元素师包含所有被视为文档本身内容的单个元素。根元素师在文档的序言码部分后出现的第一个元素,它也称为文档元素。 2.所有xml元素必须包含结束标记。尽管结束标记对于某些html文档元素为可选标记,但是xml文档中的所有元素都必须具有结构标记。元素的开始标记和结束标记的名称必须相同,xml区分大小写,故结束标记名称必须与其伴随的开始标记名称完全匹配。 3.Xml元素不能重叠。 4.所有属性值都必须使用引号,单引号或双引号。在xml文档的文本中不能使用“<”、“>”、“&”字符,这些对于xml分析程序具有特定含义的特殊字符。 Xml文档的结构: 1.序言码。是文档的第一部分,包含xml声明、处理指令和构架声明。 2.处理指令。用来给处理xml 文档的应用程序提供信息的 3.根元素。是xml文档的主要部分,包含文档的数据以及描述数据结构的信息 4.元素。是xml文档的基本构成单元,包含开始标记、内容和结束标记。 5.属性。使用等号分隔属性名称和属性值。 6.CDATA。CDATA的文本内容不能出现字符串“]]>”,CDATA不能嵌套。 7.注释。注释以“”结束。 DTD的实体: 实体分类:1.可解析的和不可解析的,可解析实体的具体内容为简单的字符、数字、文本块;不可解析实体的具体内容为图片、声音等二进制文件。2.内部实体和外部实体。内部实体内容是文档内部设定的;外部实体是一个外部独立的物理存储对象。 3.一般实体和参数实体,一般实体用来构成文档的具体内容,可出现在xml、dtd文档中;而参数实体只能出现在dtd中。 一般实体和参数实体的区别: 内部一般实体是在实体内部定义和使用的,内容通常是一段文本字符,在dtd中引用是注意一下两点: 1.不能在元素及属性的声明中引用内部一般实体; 2.在语句中不能出现循环; 外部一般实体在文档实体以外定义的,通过一个url 才能引用,外部一般实体为独立的文件,可被多个文档引用。引用外部一般实体是注意:1.在一个文档中需引用某些外部文件,所以该文档声明中的standalone属性不再是yes,应该为no;2.使用xml 的默认字符集,则文档头部不进行xml声明,否则必须声明xml,且一定说明encoding属性。 内部参数实体指独立的外部dtd文档的内部定义和使用的实体,内容为仅能为dtd而非xml文档内容的书写文本;1.在引用形式上,一般实体的引用为“&Eentity”,参数实体的引用为“%Eentity name”; 2.在引用范围上,一般实体可在xml、dtd文档中引用,参数实体只可在dtd中引用。外部参数实体指独立在外部dtd文档的外部定义和使用的实体,外部参数实体用于将多个独立的dtd文档组合成一个大的dtd文档。

XSL转换原理

XSL转换原理 XSL工作原理就是把XML文档作为一个存储数据的树来看待,称它为源树。XML文档的根元素和子元素可以看作是树节点。XSL就是把这些存放数据根据我们自己的需要从XML树中提去出来,组成一个新的树,也就是结果树。结果树和源树是独立存在的,对结果树中的数据操作不会影响到源树中的数据,XSL正是通过这种方式实现了数据和表示分离的目的。而XSL提取数据的工具就是XSL处理器,XSL处理器首先根据要找的节点在源树中寻找,其寻找方式就是上面描述的情形。数据提取到之后,就到XSL文档中,找到与这个节点匹配的样式定义。按定义好的样式显示数据,即形成了一个新的文档树。 XSL处理器在对XML文档进行转换时,根据指定的样式表文档来输出结果文档。XSL对源文档、结果文档和样式表文档使用同样的数据模型来操作,也就是采用同样的树状结构。不过要注意的是,处理指令和注释在样式表中被忽略:样式表被看作是既没有处理指令节点,有没有注释节点的样式表树。XSL处理器在构造结果树时,可以对源文档树进行修改、过滤和添加其他内容,且结果树的结构和源文档树的结构完全不同。 XSL处理器按照指定的样式表文档,将源文档转换为结果树的示意图,如图5 -1所示: 图5-1 XSL处理器工作示意图 上图中的源文档树,实际上就是要显示数据的XML文档的另外一种形式。这里XSL处理器是把XML文档作为一棵树来操作,XML文档的各个组成部分作为树中的节点,元素节点可以有自己的子节点,没有子节点的节点称为叶节点。在树状结构中,节点以及子节点也会形成树状结构。文档树的根称为根节点,要注意,根节点并不是XML文档的根元素(文档元素)节点,采用根节点作为文档树的根,是因为XML文档中的处理指令和注释可以在根元素之外出现,出现在根元素之外的处理指令和注释,以及根元素本身作为根节点的子节点。除了作为文档树的根,根节点并不出现。 XSL所构造的XML文档树有下列7种类型的节点,如表5-1所示: 表5-1 XSL构造的文档树节点类型

XSL-FO学习笔记

能够生成PDF文件,总是件让我感到很神秘的事情。我以前用 过的生成PDF的方法有1)将相关文件用相应的软件打开,“打 印”到一个文件如ali.prn,然后手工将ali.prn改为ali.ps,再 用GostView打开ali.ps,最后用其convert功能生成pdf文件,有一定比率的不成功;2)利用Acrobat Distiller;3)利用Acrobat PDFWriter。 现在,可以通过xsl-fo和apache fop编程实现,总让我感到兴奋。 1、下载安装及运行fop 去fop主页下载fop,有两个版本一个是维护版一个是设计版,我下的维护版的0.20.5版binary 包。解压缩到$FOPHOME,此目录下有fop.cmd(for windows)或fop.sh(for *nix)。 从这儿下载示例sample.fo文件,运行 fop.cmd sample.fo sample.pdf ,OK生成sample.pdf了。 2、将XML 文档转换为PDF 文件需要两个基本步骤: 1)用XSLT 样式表将XML 文档转换为由XSL-FO 元素构成的文件。要执行这一转换,只需用调用XSLT 处理器。 2)用某种显示引擎将XSL-FO 元素转换为PDF 文件。 3、XSL-FO 文档定义了制作高质量可打印文档时非常重要的几件事情: 1)有关页面的实际大小的信息(信纸和A4 等等) 2)有关页边距(顶部、左边、底部和右边)、页眉和页脚和页面其它特性的信息 3)有关文本的字体、字体大小、颜色和其它特征的信息 4)要打印的实际文本,由描述段落、突出显示、表等类似物的元素来标记 4、XSL-FO文档结构 元素包含 通常包含关于页面布局的信息,而 包含您正在格式化的实际内容。 5、示例讲解

XPath、XQuery 以及 XSLT 函数

存取函数 错误和跟踪函数 ? 有关数值的函数

有关字符串的函数

fn:string(arg) 返回参数的字符串值。参数可以是数字、逻辑值 或节点集。 例子:string(314) 结果:"314" fn:codepoints-to-string(int,i nt,...) 根据代码点序列返回字符串。 例子:codepoints-to-string(84, 104, 233, 114, 232, 115, 101) 结果:'Thérèse' fn:string-to-codepoints(strin g) 根据字符串返回代码点序列。 例子:string-to-codepoints("Thérèse") 结果:84, 104, 233, 114, 232, 115, 101 fn:codepoint-equal(comp1, comp2) 根据Unicode 代码点对照,如果comp1 的值等于comp2 的值,则返回true。(https://www.wendangku.net/doc/394644946.html,/2005/02/xpath-functions/co llation/codepoint),否则返回false。 ?fn:compare(comp1,c omp2) ?fn:compare(comp1,c omp2,collation) 如果comp1 小于comp2,则返回-1。如果comp1 等于comp2,则返回0。如果comp1 大于comp2,则返回1。(根据所用的对照规 则)。 例子:compare('ghi', 'ghi') 结果:0 fn:concat(string,string,...) 返回字符串的拼接。 例子:concat('XPath ','is ','FUN!') 结果:'XPath is FUN!' fn:string-join((string,string,.. .),sep) 使用sep 参数作为分隔符,来返回string 参数 拼接后的字符串。

XSLT转换XML小结

XSLT转换XML小结 产品几年前使用ASP,后来升级到.Net 1.1,再升级到2.0,一直都有用XSLT转换XML生成网页的方式,稍微整理下。 XML file: Kalen Delaney Inside SQL Server 2000 Ken Henderson The Guru's Guide to SQL Server Architecture XSLT file:

Book Name Author Price
注意xsl:output,指定转换后输出结果的格式,可以是xml、html、text,如果不指定,默认值为xml。在下面的转换示例2的代码中,如果不指定这一句,你可以看到转换结果的一开始

XPath基础教程

XPath 简介
? ?
Previous Page Next Page XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导 文档中查找信息的语言。 航。
在学习之前应该具备的知识: 在学习之前应该具备的知识:
在您继续学习之前,应该对下面的知识有基本的了解:
? HTML / XHTML ? XML / XML 命名空间
如果您希望首先学习这些项目,请在我们的 首页 访问这些教程。
什么是 XPath?
? XPath 使用路径表达式在 XML 文档中进行导航 ? XPath 包含一个标准函数库 ? XPath 是 XSLT 中的主要元素 ? XPath 是一个 W3C 标准
XPath 路径表达式
XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。 这些路径表达式和我们在常规的电脑文件 系统中看到的表达式非常相似。
XPath 标准函数
XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值,日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。
XPath 在 XSLT 中使用
XPath 是 XSLT 标准中的主要元素。如果没有 XPath 方面的知识,您就无法创建 XSLT 文档。
您可以在我们的《XSLT 教程》中阅读更多的内容。
XQuery 和 XPointer 均构建于 XPath 表达式之上。XQuery 1.0 和 XPath 2.0 共享相同的数据模 型,并支持相同的函数和运算符。
您可以在我们的《XQuery 教程》中阅读更多有关 XQuery 的知识。
XPath 是 W3C 标准

xml语言基础---简单介绍讲解

XML 解析
一、XML 基础
1) 什么是 XML
?
XML 是指可扩展标记语言(eXtensible Markup Language),它也是一种标记 语言,很类似 HTML。它被设计的宗旨是存储数据,而非显示数据。
? ? ?
Html 展示数据 XML 标签没有被预定义,需要用户自行定义标签。 XML 技术是 W3C 组织(World Wide Web Consortium 万维网联盟)发布的,目 前遵循的是 W3C 组织于 2000 年发布的 XML1.0 规范。
?
XML 被广泛认为是继 Java 之后在 Internet 上最激动人心的新技术。

?
W3CSchool(入门级)
2) XML 常见应用
? ? 用于数据存储 用在软件配置,用于描述模块之间的关系(如果著名的 Struts、Spring 和 Hibernate 都是基于 XML 作为配置文件的--SSH)android 都是 xml。 图形界 面都是用的 xml ? 在一个软件系统中,通过 XML 配置文件可以提高系统的灵活性。即程序的行 为是通过 XML 文件来配置的,而不是硬编码。 ? XML 是一种通用的数据交换格式。(跨平台)
二、XML 语法
语法较多,建议先直接上手写案例,成功之后再回来当回顾学习用 一个 XML 文件主要包括以下几个部分: ? ? ? ? ? ? ? 文档声明 元素 属性 注释 实体引用及 CDATA 区 处理指令(PI:Processing Instruction) Xml 约束

xslt中xsl-attribute元素的详解

XSLT 元素 作者:https://www.wendangku.net/doc/394644946.html,翻译/整理:https://www.wendangku.net/doc/394644946.html,发布:2007-04-29 浏览:2078 :: :: Definition and Usage 定义和用法 The element is used to add attributes to elements. 元素的作用是:给元素添加属性。 Note: The element replaces existing attributes with equivalent names. 注意: 元素将用相同的名称替换现有属性。 Syntax 语法 Attributes 属性

Example 1 案例1 Add a source attribute to the picture element: 将一个source[源]属性添加到图片元素中: Example 2 案例2 Add a source attribute to the picture element and fill it with values from "images/name" : 将一个source[源]属性添加到图片元素中,并用"images/name"中的值对其进行填充: Example 3 案例3 Create an attribute-set that can be applied to any output element: 创建一个可以应用于所有output[结果]元素的属性值:

什么是XSLT

1. 什么是XSLT 大家可能听说过XSL(eXtensible Stylesheet Language),XSL和我们这里说的XSLT 从狭义上理解是一样的,而按照W3C的标准,XSLT的说法更严格些,因此我们在文章中统一使用XSLT的称法。XSLT的英文标准名称为eXtensible Stylesheet Language Transformation。根据W3C的规范说明书(https://www.wendangku.net/doc/394644946.html,/TR/xslt),最早设计XSLT的用意是帮助XML文档(document)转换为其它文档。但是随着发展,XSLT已不仅仅用于将XML转换为HTML或其它文本格式,更全面的定义应该是:XSLT是一种用来转换XML文档结构的语言。 2. 为什么要用XSLT 我们已经知道,XML是一种电脑程序间交换原始数据的简单而标准的方法。它的成功并不在于它容易被人们书写和阅读,更重要的是,它从根本上解决了应用系统间的信息交换。因为XML满足了两个基本的需求: (1).将数据和表达形式分离。就象天气预报的信息可以显示在不同的设备上,电视,手机或者其它。 (2).在不同的应用之间传输数据。电子商务数据交换的与日俱增使得这种需求越来越紧迫。 为了使数据便于人们的阅读理解,我们需要将信息显示出来或者打印出来,例如将数据变成一个HTML文件,一个PDF文件,甚至是一段声音;同样,为了使数据适合不同的应用程序,我们必须有能够将一种数据格式转换为另一种数据格式,比如需求格式可能是一个文本文件,一个SQL语句,一个HTTP信息,一定顺序的数据调用等。而XSLT就是我们用来实现这种转换功能的语言。将XML转换为HTML,是目前XSLT最主要的功能 前言 大家好,从今天起我们将一起来学习XML家族的另一种语言XSLT,XSLT类似HTML中的CSS,不过比CSS功能要强大的多。学习XSLT的前提是你对XML已有一些了解,如果你没有学习过XML,能先点这里(http: //https://www.wendangku.net/doc/394644946.html,/columns/xml_1.shtml)看我先前写的一篇文章《XML轻松入门手册》。XSLT能说更偏向是一种程式语言,但他没有常见程式语言复杂,甚至比js等脚本语言还简单,所以不必担心学习困难。阿捷将依然站在普通设计师的角度,用平实易懂的语言,由浅入深的介绍XSLT。好了,让我们一起来探索XSLT的秘密吧! 声明:因为XSLT的标准在不断发展,语法也在不断扩充,我们下面所学习的知识是以1999年11月16日发布的XSLT 1.0为基准的,所以可能是不完整的,最新的资料请到W3C网站(https://www.wendangku.net/doc/394644946.html,/TR/xslt)。 提纲 本文共分五大章:XSLT概念,XSLT的实例,XSLT的元素语法,XPath的语法,XSLT的

XML学习心得

XML学习心得 一、XML的概念 XML是Extensible Markup Language的缩写,是一种扩展性标记语言。 XML文件是由标记及其所标记的内容构成的文本文件,标记可自由定义,其目的是使得XML文件能够很好地体现数据的结构和含义。推出XML的主要目的是使得Internet网络上的数据相互交流更方便,让文件的内容更加显而易懂。 XML是一种可以用来创建自己的标记的标记语言,它由W3C(全球信息网联盟)创建。它是SGML的子集,在web上以HTML的方式被传送、接收和处理Xml是一种元语言,用户可以定义自己需要的标记,只要这些标记满足XML 语法,基于XML很多行业都定义了自己的标记语言,如数学家们定义了MathXL,化学家定义CML。它是用来存储数据和交换数据的。 二、XML的特点 1.良好的格式 XML文件格式属于良好格式的文件。XML标记一定是成双成对的。 2.具有验证机制 XML的标记是程序员自己定义的,标记的定义和使用是否符合语法,需要验证。 XML有两种验证方法。一种是DTD(Document Type Definition),即文档类型定义,DTD是一个专门的文件,用来定义和检验XML文件中的标记。另一种是XML Schema,用XML语法描述。它比DTD更优越,多个Schema可以复合使用XML名字空间,可以详细定义元素的内容及属性值的数据类型。 3.灵活的WEB应用 在XML中数据和显示格式是分离设计的,XML元数据文件就是纯数据的文件,可以作为数据源,向HTML提供显示的内容,显示样式可以随HTML的变化而丰富多彩。也就是说,HTML描述数据的外观,而XML描述数据本身,是文本化的小型数据库表达语言。HTML数据和显示格式混在一起,显示出一种式样。XML采用的TAG是自己定义的,这样我们的数据文件的可读性就能大大提高,也不再局限于HTML文件那些标准的TAG了。由于XML是一个开放的基于文本的格式,它可以和HTML一样使用HTTP进行传送,不需要对现存的网络进行变化。 4.丰富的显示样式 XML数据定义打印、显示排版信息主要有3种方法:用CSS定义打印和显示排版信息;用XSLT转换到HTML进行显示和打印;用XSLT转换成XSL的FO(Formatter Object) 进行显示和打印。

实验4 使用XSL将XML文档变换为HTML文档

实验4 使用XSL将XML文档变换为HTML文档 【实验目的】 掌握XSLT语言的基本标签的使用;熟悉XML文档的树状结构以及与XSL文档树状结构的关系;了解XSL处理器对于XSL文档的处理方式。 【实验知识】 1.XML简介 XSL代表着可扩充样式表语言(EXtensible Stylesheet Language)。 XSL描述的是如何变换XML格式文档为其它格式文档。 XSL由3部分组成: XSLT-转变XML文档的语言。 XPath-对XML文档进行操作的语言。 XSL-FO - 格式化XML文档的语言。 XSLT是一种把XML文件转换成XHTML文档或者其他的XML文档的语言。 2.XSLT语言基本规则及元素 ●XSL文档的声明 声明根据W3C XSLT参考标准的XSL样式表的正确的途径是: 由于XSLT语言是遵循XML文档语法规则的,所以在XSL文档的最前面也必须加上XML 文档的声明。 ●XSLT语言的基本元素 XSL样式表是由一个或者更多的被称为“模板(templates)”的规则设置(set of rules)组成的。 示例4-1:Employees.xml文档(后面的所有XSL文档示例都以此XML文档为依据)

元素 该元素用来定义对于某个XSL树状结构中的节点的转换模板。在该元素中包含一个match属性,使用标记匹配模式指定该模板所要应用的特定节点。 示例4-2:employees_simple.xsl 显示结果如图4-1所示: 图4-1 例4-2显示结果 实际上,如果在XML文档中引用了一个XSL文档,但是在XSL文档中并没有定义任何文本的话,使用IE来打开该XML文档时,所显示出的内容会和上面所给出的XSL文档被应用时所显示的内容是相同的。这是因为XSLT中定义了几个默认模板规则,当引

XML文件读取的资料

XML文档对象模型也就是(DOM) 就像层次结构的树,主要用于在内存中表示XML文档 1)DOM树定义了XML文档的逻辑结构,给出了一种应用程序访问和处理XML文档的方法。 2)在DOM树中,有一个根节点,所有其他的节点都是根节点的后代。 3) 在应用过程中,基于DOM的XML分析器将一个XML文档转换成一棵DOM树,应用程序通过对DOM树的操作,来实现对XML文档数据的操作。 三、XML文档对象(XML DOM)模型分析 XML DOM对象提供了一个标准的方法来操作存储在XML文档中的信息,DOM应用编程接口(API)用来作为应用程序和XML文档之间的桥梁。 DOM可以认为是一个标准的结构体系用来连接文档和应用程序(也可以是剧本语言)。MSXML解析器允许你装载和创建一个文档,收集文档的错误信息,得到和操作文档中的所有的信息和结构,并把文档保存在一个XML 文件中。DOM提供给用户一个接口来装载、到达和操作并序列化XML文档。DOM提供了对存储在内存中的XML文档的一个完全的表示,提供了可以随机访问整个文档的方法。DOM允许应用程序根据MSXML解析器提供的逻辑结构来操作XML文档中的信息。利用MSXML所提供的接口来操作XML。 实际上MSXML解析器根据XML文档生成一个DOM树结构,它能够读XML 文档并根据XML文档内容创建一个节点的逻辑结构,文档本身被认为是一个包含了所有其他节点的节点。 DOM使用户能够把文档看成是一个有结构的信息树,而不是简单的文本流。这样即使不知道XML的语义细节,应用程序或者是脚本也能够方便地操作该结构。DOM包含两个关键的抽象:一个树状的层次、另一个是用来表示文档内容和结构的节点集合。树状层次包括了所有这些节点,节点本身也可以包含其他的节点。这样的好处是对于开发人员来说,他可以通过这个层次结构来找到并修改相应的某一个节点的信息。DOM把节点看成是一个通常的对象,这样就有可能创建一个剧本来装载一个文档,然后遍历所有的节点,显示感兴趣的节点的信息。注意节点可以有很多中具体的类型,比如元素、属性和文本都可以认为是一个节点。 微软的MSXML解析器读一个XML文档,然后把它的内容解析到一个抽象的信息容器中称为节点(NODES)。这些节点代表文档的结构和内容,并允许应用程序来读和操作文档中的信息而不需要显示知道的XML的语义。在一个文档被解析以后,它的节点能够在任何时候被浏览而不需要保持一定的顺序。 对开发人员来说,最重要的编程对象是DOMDocument。DOMDocument对象通过暴露属性和方法来允许浏览、查询和修改XML文档的内容和结构,每一个接下来的对象暴露自己的属性和方法,这样就能够收集关于对象实

将XSLT作为HTML的样式表的使用方法示例

将XSLT作为HTML的样式表的使用方法示例简介 当听到样式表这个词时,您可能会想到CSS样式表。XSLT样式表通常用于XML转换,比如在Web 服务之间映射数据。因为XSLT非常适合此用途,所以创建了顶层元素别名,虽然这很少使用。这种XSLT转换的输入结构与输出结构有很大的不同。最重要的是,命名空间的不同。 XSLT样式表的输入结构与输出结构相似,但却更简单些。其中已经扩充了一些标记,但大部分标记只是原样复制到输出。输入和输出的命名空间是相同的(HTML)。输入文档也可以包含样式表指令(比如创建脚注),这些指令属于另一个命名空间,不会传递到输出中。 常用缩略语 CSS:级联样式表 XHTML:可扩展超文本标记语言 XPath:XML路径语言 XSLT:可扩展样式表语言转换 在本文中,我们将学习如何使用XSLT样式表扩充XHTML文档。文中的示例展示了如何使用指令,如何引用其他源文档的部分,以及如何使用链接在主文档中导航。此外,我们还探索了页面的解释和编译之间的区别。 CSS样式表的局限性 XSLT样式表不会阻止您使用其他技术,比如JavaScript或CSS。CSS适用于字体、加粗、颜色、间距等。它不适合将来自不同位置的信息组合在一起,比如脚注、模块或生成一个目录。这正是XSLT 的用武之地,它补充而不是替代了CSS。 XSLT用途示例 实际上,您可以将XSLT代码集中在一个文件中。为了简单起见,本文中的每个示例均位于一个独立的XSLT文件中,除了一些必要的代码。清单1给出了必需的代码。 清单 1.必需的代码(位于samples/common.xml中) XML/HTML Code

相关文档