XML

2024-05-29

XML(精选十篇)

XML 篇1

面对当今瞬息万变的商业环境, 一个公司想要成功, 必须把信息技术转化为自己的商业优势, 其中包括能够在合适的时间, 把合适的信息交到合适的人手中。不幸的是, 现实于此截然相反, 几乎所有的IT部门, 都被巨大、错综复杂、新旧交替的系统所累, 而且受到资源的极大制约。

由于世界上存在着如此多的、完全不同的客户平台, 在不同平台间交换数据, 同时还要保证数据的完整和服务的高效, 这是件令人头痛的事情。在大型Web应用中, 工程师们往往被数据格式的转换弄得疲惫不堪, 即便是整理完成的数据, 如何让各种客户端都能正确获取和理解也是不小的麻烦。最终, 这一问题成为制约Web Service发展的瓶颈。近年来, 随着企业运营国际化的趋势越来越明显, 垮平台垮语言的远程调用成为一种迫切需要的能力, 人们需要一种平台无关的、能够同时被人类和机器所理解和处理的文本数据格式。而这种技术的核心, 就是XML。

2 XML概述

XML是Extensible Markup Language的缩写, 中文含义为“可扩展标记语言”。XML首先是一种标记语言而且是用来创造标记语言 (比如HTML) 的元语言;其次, 它是一种可扩展的标记语言, 因为在XML中允许用户自己来创建标签, 所以叫做可扩展性。

标记语言是指在普通文本中加入一些具有特定含义的标记, 以对文本的内容进行标识和说明的一种文件表示方法。标记语言对文档的意义进行了分析和细化, 使得计算机应用软件对文本的意义也就有了一定程度的理解。

3 XML的标记特性

3.1 作为一种标记语言, 它最基本的功能

就是在文档中添加标记, 而且, 标记的添加必须遵循一定的规则。最为直观的规则就是标记必须成对出现。

3.2 所使用的标记都是非预定义的, 即用户自己定义的。

只要遵守XML的标记命名规则, 可以在文档中添加任何标记。

3.3 用户自定义的标记, 用户可在文档内, 也可以在文档之外进行说明。标记的说明称为:DTD。

3.4 XML文档的标记只描述文档的内容, 具体说, 只描述文档的结构和意义。

不描述其任何显示、输出等格式化信息。

4 XML和HTML的比较

HTML通过在文档中添加具有特定意义的标记来组织文档;HTML所使用的标记都是预定义 (固有的标记) 的, 不同的HTML版本具有不同的标记集合;浏览器完成对HTML文档的解释。浏览器中预定义了特定标记的特定显示或逻辑方案;HTML的主要功能在于通过浏览器完成对信息的显示, 即信息的格式化控制。XML是SGML是文档的精简版本。SGML过于复杂, 学习难度和开发难度都很大;XML的主要特点如下:

4.1 不同系统平台的信息互通。

4.2 整合多种不同数据源的数据。

4.3 平衡客户端和服务器端的处理负荷。

4.4 以灵活多变的方式显示数据。

4.5 更精确的数据检索。

5 有了HTML, 为什么还需要用XML?

SGML的一个重要的派生, 就是超文本标记语言HTML。几乎所有的用户都熟悉HTML, 人们感谢HTML, 正是由于HTML标准的出现, 才使Internet走出了实验室, 成为人人皆可使用的工具, 也成为影响世界最重要的技术, 它不但改变了人们的生活, 也改变了世界运转的方式, 同时, 更为软件的开发形式带来了多元化的形式。

因为现在网络应用越来越广泛, 仅仅靠HTML单一文件类型来处理千变万化的文档和数据已经力不丛心, 而且HTML本身语法十分不严密, 严重影响网络信息传送和共享。人们早已经开始探讨用什么方法来满足网络上各种应用的需要。

使用SGML是可以的, 但SGML太庞大, 编程复杂, 于是最终选择了“减肥”的SGML-XML作为下一代Web运用的数据传输和交互的工具。和HTML一样, XML是依据SGML标准演化而来的。W3C为此建立了XML工作组 (XWG) 来开始创建XML的进程。XML将派生于SGML, 但与SGML相比, XML将大幅度简化, 原则上它只使用20%SGML标准, 但需要发挥了80%的效力。同时与HTML相比, 它需要更加严谨, 而且更适合于计算机之间的数据交换。

6 XML的应用

6.1 XML用于表示内容。

内容与表现形式的分离, 一个XML文档中几乎所有的内容都是数据和数据结构, 它主要用于传递数据, 对数据的表现完全被剥离。

现在的大部分网站都是用HTML编写的。网页设计师们精心设计的网页, 能够在Web浏览器上很漂亮的显示出来, 但是如果想把这些网页所包含的内容重新设计在一本书中的话, 显然, 浏览器上的漂亮内容就不能很方便的在书中体现出来了。但是, XML的出现为解决这种问题提供了一种良好的解决方案。

因为XML只是定义数据, 它并不关心数据是如何显示的, 所以用XML设计出的网站其内容和显示是分离的。一般的网页是通过XSLT对给定的XML文档进行变换之后生成的。现在我们要将网站的内容放在一本书中, 只需要重新定义XSLT, 给出变化规则, 就可以将内容完美的再现在另外的一种形式中了。

6.2 XML用于通信。

XML的应用在于于计算机之间的数据交换。当一个系统可能有几台服务器, 同时使用不同的操作系统和数据库的时候, 不同系统之间的数据交换将变成一个十分令人头疼的事情。当采用XML规范以后, 我们只需要接收XML标记的数据, 遵循在DTD中定义的规范, 而不需要知道对方的系统是什么。因为XML数据不与任何类型的客户方栓在一起, 所以它提供了一种很容易在网络上传输的非常简单的数据表示方式。

6.3 XML用于配置。

作为应用程序服务器的配置说明文档, 增加了技术的可移植性。实际上, 从SGML派生出XML子集的主要原因是, 编写处理SGML文档的应用程序太笨拙了。如果希望XML有实用性, 那么它就必须很容易编写文档处理程序、文档浏览器和其它程序, 只有这样, 使用XML的代价才不会太大。

7 使用XML的好处

7.1 XML可以广泛地运用于Web的任何地方。

7.2 XML可以满足网络应用的需求。

7.3 使用XML将使编程更加简单。

7.4 XML便于学习和创建。

7.5 XML代码将清晰和便于阅读理解。

8 结论

新旧技术的集成是当今商业面对的一个巨大的挑战, 在许多企业环境中, 每一种平台都有它工作的最佳范围, 一个平台不可能良好的完成包罗万象的任务, 基础结构是在发展中逐渐充实完善的, 因此, XML技术的研究还有更大的发展空间。

参考文献

[1]周爱武, 李孙长, 程博等.XML数据库的研究与应用[J].计算机技术与发展, 2009, 19 (9) :218-224.

[2]苗维杰, 天辉.基于XML代码生成技术的应用研究[J].电子元器件应用, 2009, 11 (10) :75-82.

[3]陈腾.基于XML数据发布的设计和实现[J].地理空间信息, 2009, 7 (5) :87-91.

android读取xml 篇2

* 从config.xml中获取版本信息以及应用id

*

* @param urlPath

* @return

* @throws Exception

*/

public ListgetUpdateInfo() {

Resources r = context.getResources();

// 通过Resources,获得XmlResourceParser实例

XmlResourceParser xrp = r.getXml(R.xml.config);

Listlist = new ArrayList();

// 如果是开始标签

try {

// 如果没有到文件尾继续执行

while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {

// 如果是开始标签

if (xrp.getEventType() == XmlResourceParser.START_TAG) {

// 获取标签名称

String name = xrp.getName();

// 判断标签名称是否等于friend

if (name.equals(“update”)) {

// 获得标签属性追加到StringBuilder中

list.add(xrp.getAttributeValue(0));

list.add(xrp.getAttributeValue(1));

list.add(xrp.getAttributeValue(2));

}

} else if (xrp.getEventType() == XmlPullParser.END_TAG) {

} else if (xrp.getEventType() == XmlPullParser.TEXT) {

}

// 下一个标签

xrp.next();

}

} catch (XmlPullParserException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return list;

XML安全加密技术框架 篇3

关键词: XML;XML加密;XML数字签名

中图分类号:TP393文献标识码:A 文章编号:1009-3044(2007)16-30897-02

Scheme of XML Data's Encryption Technology

WU Qi-ming

(Department of computer and information science,Hechi University,Yizhou 546300, China)

Abstract:This paper is pointing on the XML-Security problems,and a scheme was designed for the XML's secure transmission which is being used in a application system,by researching the XML encryption and XML signature.This scheme provided a protection for the XML,which also can enhance the security of the data.

Key words:XML; XML encryption; XML signature

1 前言

安全性领域是一个快速增长的领域。随着网络的爆炸性的发展,其安全性问题日益受到人们的关注。在利用像Internet这样的公开性网络进行通信或者商业活动时,如何保证信息在通信中的保密性、完整性并能得到认证,是Internet实用化的关键。随着越来越多的公司利用XML来传输结构化数据,文档的安全问题也变得越来越重要。XML的优势来自于它的语义和结构的灵活性和可扩展性,也正是这些优点引入了一些与其他文件安全问题不同的XML数据文件安全问题。当今,为XML数据安全提供保障的关键技术是XML加密,XML签名等。如何把这些技术合理,高效的应用到实际当中去,为网络间的信息交换提供有力的支持成为了一个重要的课题。本文提出一种基于XML应用系统的安全加密方案,一方面使用XML加密来保障数据的安全,另一方面使用数字签名方式来保障数据的安全传输。

2 XML的特点及其在网络服务程序中的应用

XML从总体来讲,具有以下的特点:

自描述性:XML允许自定义标签(tag),并且这些标签可以说明数据的语义,而不是HTML中的格式说明。

独立于平台和应用:XML的文档内容是基于UNICODE的文本,适于网络的传输。

半结构化:XML数据可以用 DTD或者Schema来规范;同时XML表示的是一种层次型的数据,因此比传统的数据库更适合描述现实中的信息。

机器可处理的(machine processable):相对于完全无规则的文本,计算机很容易处理XML文档,同时相对于无法表示语义的HTML文档,计算机很容易理解XML文档的语义,并且这种可读性对人同样适用。

可扩展性:XML是一种元标记语言,可用来定义各种实例标记语言标准,用户可以为数据定义它们自己的词汇表,从而定义数据的处理方式。

按W3C标准,典型WEB通信程序层次结构如图1。

在XML基础上发展起来的Web服务(Web Service)是一种革命性的分布式计算技术。它使用基于XML的消息处理作为基本的数据通讯方式,消除使用不同组件模型、操作系统和编程语言的系统之间存在的差异,使不同类系统能够作为计算网络的一部分协同运行。开发人员可以使用像过去创建分布式应用程序时使用组件的方式,创建由各种来源的Web服务组合在一起的应用程序。由于Web服务是建立在一些通用协议的基础上,如HTTP( Hypertext Transfer Protocol, WWW服务程序所用的协议),SOAP (Simple Object Access Protocol),简单对象访问协议),XML, WSDL( Web Services Description Language)Web服务描述语言),UDDI ( Universal Description, Discovery, and Integration,通用描述发现和集成协议)等,这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向,因此Web服务将会有很强的生命力。不管是B2B,B2C还是P2P形式的系统,其WEB服务的核心都可以按图1实现。

图1 Web通信程序层次结构

3 XML加密技术

3.1 加密技术

加密技术也就是利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。

加密包括两个元素:算法和密钥。一个加密算法是将普通的文本(明文)与一窜数字(密钥)的结合,产生不可理解的密文的步骤。密钥由位序列(数字)组成,密钥和算法对加密同等重要。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种,他们使用的算法叫对称算法和非对称算法,非对称算法又叫公开密钥算法(简称“公钥算法”)。相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。

XML数据的加密与传统的数据加密相比有如下特点:可以对整个文档进行加密、也可以对XML文件中元素和元素内容进行加密,基于XML文件传输的数据中有着更灵活的安全机制。

在国外,对这种技术的应用已经比较成熟。但是国内对于XML技术的应用研究以及XML安全方面问题的研究却仍然处于起步阶段。研究都不够深入,应用也不是十分的广泛。然而,XML技术的广泛应用是不可阻挡的趋势。XML以及XML安全技术一定渐渐的被人们所接受,并应用到实际工作中。目前已经存在一些工作在Internet加密和安全协议,如安全套接字层(Secure Socket Layer,简写SSL)、传输层安全性(Transport Layer Security,简写TLS)和IP安全性(IP Security,简写IPSec),这些协议能够被用于在两个通信应用程序之间保护隐私和确保数据的完整性。XML加密与上述协议在两个方面存在差异。第一个差异是:如果使用XML加密,我们可以选择加密那些真正需要加密的XML元素,而其他不重要的元素则不会被加密。第二个差异是:XML加密既可用于加密直接传送给另一个应用程序的数据,也可用于加密许多应用程序通过存储介质所访问的数据。相反,诸如SSL,TLS和IPSec之类的协议从总体上加密两个通信应用程序之间所使用的整个连接,但不能用于加密数据存储。XML加密并不能替代这些己有的安全协议,不过它能解决完全不同类型的安全性问题。下面是XML加密能够解决的两个主要问题:

(1)只加密结构化数据的特定子集

(2)加密多个通信方能访问的结构化数据存储

3.2 XML加密方案

XML加密组合对称和非对称算法。对称算法用于XML数据元素的批量加密,非对称算法用于安全地交换对称密钥。下面给出接收和发送加密的XML数据消息时的一个方案:如图2。

图2 XML加密过程图

以上XML加密用XML格式来表示加密结果,提供了一个标准的处理模型。这种标准的表示格式和处理模型支持互操作性,从而有助于加密文档的交换。

4 XML数字签名(digital signature)

对数据进行加密只解决了传送信息的机密性问题,而防止他人对传输的数据进行破坏(数据完整性),以及如何确定发信人的身份(身份的确定性)还需要采取其它手段,这一手段就是数字签名。在公钥加密中,用公钥进行加密操作,同时使用私钥进行解密。而在数字签名中,用私钥加密原始数据的消息摘要,同时使用公钥进行解密,然后再重新计算这个消息摘要并检查数据是否被篡改。

XML签名提供的功能:

XML签名能用于任意数据,这些数据可能位于指定XML文档的内部或外部 XML签名为数据提供下列的性能:

(1)完整性:由于对数据进行签名,所以能够保证数据不被篡改或者没有讹误。

(2)身份验证:保证数据来自签名者。

(3)不可抵赖性:保证签名者承认文档内容。

XML数字签名的生成过程如图3 。

图3 XML数字签名的生成过程

5 应用程序XML加密框架

应用程序XML加密框架如图4,其中加密模块见图2,数据签名见图3。

图4 应用程序XML加密框架

6 总结

XML安全技术是与XML技术最好的结合,XML安全技术尽管是一门较新的技术,但是它具有灵活,方便,安全等特点,同时它也是与XML数据结合效果最好的安全技术。正因为如此,由于各种数据生成,传输,处理,全部采用的是XML技术,所以为了更好的加强XML数据的安全性,本人选择了使用XML安全技术。有着传统的安全技术基础,又有着适应新技术的改进。为基于XML开发的应用系统提供了一个良好的安全加密解决方案。尽管XML加密处理了许多加密中的问题并且使它在Web服务中的使用更为简便,但它的确也存在着一些限制。如(1) XML加密的语法和处理模型非常复杂,如果没有适当的实现工具来支持,则应用程序发现使用XML加密很困难。(2) XML加密没有为加密和解密提供标准的编程API或者Web服务模型。这对于那些跨平台的应用程序来说可能会产生可移植性的问题,因为应用程序的代码由专用供应商的API决定。这也是我今后一段时间重点研究的问题。

参考文献:

[1]韦琳娜,张连宽,段新东.XML数字签名和传统数字签名的对比研究[J].计算机工程,2004(10):16-20.

[2]王浩川,孙挺.数字签名技术在网络安全中的应用[J].中州大学学报,2001(1):77-79.

[3]禄凯,唐小梅,马明武.加密技术在Web信息系统中的应用[J].电讯技术,1999(4)63-67.

浅谈XML技术 篇4

关键词:XML技术,特点,核心技术

一、XML技术简介

可扩展标记语言XML(Extensible Markup Language)是一种描述型的标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。

XML是一种简单的数据存储语言,它实际上是一种用来表达结构化数据的通用语法,是一种允许用户对自己的标记语言进行定义的元语言。它使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要多,但XML极其简单易于掌握和使用。所以说,XML是Internet环境中跨平台的依赖于内容的技术,是当前处理结构化文档信息的有力工具。

二、XML技术的特点和趋势

1、XML允许用户自定义标签,具有扩展功能,“扩展性”就成为XML的一个中心特性。由于HTML只是以一套固定的标签来描述数据的显示方式,因而在可扩展性方面具有很大的局限性。XML则不同,它允许用户根据需要定义数量不限的标记来描述文档中的资料,也允许嵌套的信息结构,从而把用户从浏览器厂商固定标签的束缚中解脱出来。

2、识别文档中的元素,使搜索具有智能性。由于HTML只是描述如何在页面上布置文字和图形等,而并没有对信息的本身含义进行描述,因此在基于HTML的Web中,准确搜索到真正需要的特定信息相当困难。而XML由于定义了各种标识来描述信息中的所有元素,因而它对信息能够进行“自我描述”;而且XML的资源描述框架(RDF)还能提供类似图书分类卡的Web数据。因此,XML不仅改变了HTML僵化的固定标识集,而且改变了传统的信息构造方式,使得互联网传输在信息检索和获取方面速度更快捷,搜索内容更准确。

3、严格遵循语法要求,具有良好的结构性。HTML的语法要求并不严格而且具有一定的随意性。XML则不同,虽然XML的扩展性允许用户创建新标识,但它对语法有着严格的规定。

4、内容和应用分开,具有良好的复用性。HTML文档虽然能够包含丰富的数据,但这些数据只能为相应的浏览器所理解,其他应用程序则无法有效地使用这些数据。而在XML文档中,尽管文档类型定义(DTD)描述了文档数据的结构、语义以及如何组织存放等,但却没有提供一套应用程序接口(API)来控制其行为,它并不涉及数据如何被显示和应用,而只是简单地将文档数据解析成层次型的结构化数据传递给应用程序。因而,XML数据就可以被不同的应用程序加以利用。

三、XML的核心技术

XML文档主要由三个要素构成:文档类型定义DTD(或Schema),可扩展样式表语言XSL和可扩展链接语言XLL。其中,DTD或Schema规定了XML文档的逻辑结构,定义了XML文档中的元素、元素的属性以及元素和元素之间的属性关系。XSL用来控制XML文档在显示时的版面风格,XSL还可以处理多国文字、双字节的汉字显示等。XLL是XML的链接语言,它与HTML的链接相似,但功能更强大,可以进一步扩展当前已有的简单链接,支持可扩展的链接和多方向的链接等。

1、DTD和Schema

DTD是一套关于标记符的语法规则,它告诉你可以在文档中使用哪些标记符,它们应该按什么次序出现,哪些标记符可以出现于其它标记符中,哪些标记符有属性等等。总而言之,DTD规定了一个语法分析器来解释一个“有效的”XML文档所需要知道的所有规则的细节。DTD可以包括在包含它所描述的文档的文件中,或者与外部的URL相链接,这些外部DTD可以被不同文档和网站所共享。DTD作为XML文档的结构起到了很好的描述作用,但是它也有一些缺点,比如它采用了非XML的语法规则、不支持数据类型、扩展性较差等等,Schema正好解决了这些问题。Schema利用元素的内容和属性来定义XML文档的整体结构,对DTD进行了扩充,引入了数据类型、对域名的支持,这样一个XML文档可以有多个Schema与其对应,而一个XML文档只能与一个DTD对应,从而使其具备较强的可扩展性。

2、XSL和CSS

XML描述的是文档的结构和语义,它不描述文档的表现形式。XML把内容和显示格式分开,这样做的好处是可以让不同的用户按照各自希望的格式显示同一文档的数据内容。为XML文档提供格式信息的是样式表(Style Sheet)。适用于文档的样式表有CSS(Cascading Style Sheets,层叠样式表)和XSL(Extensible Style Language,可扩展样式语言)。这些样式表随XML文档发送给用户,通过样式表告诉浏览器如何格式化每个元素,使得不同的用户可以根据自己的需要来定义数据的表现形式。

四、结束语

本文首先简单介绍了XML技术,接着从四个方面分析了XML技术的特点和趋势,最后列出了XML的核心技术,为XML的应用奠定了理论基础。

参考文献

[1]王海波.基于XML的数据交换的实现[J].计算机工程,2001.

[2]柴晓路.XML数据环境下基于关系模式的数据交换方法[J].IBM,2001.

[3]鱼滨.基于XML的集成中间件技术研究[D].西安:西北大学,2003.

[4]陈银风.XML与HTML整合[J].现代计算机,2011.

XML 篇5

正值两种XML标准争得面红耳赤之时,通用汽车、福特汽车和克莱斯勒三大汽车制造商联合发起了一项倡议,呼吁汽车行业的商业文档使用同一种XML 数据交换格式。

从上个世纪80年代以来,汽车行业就开始应用EDI了。而今,XML被广泛认为是一种比EDI(电子数据交换)更灵活的定义共享商务内容的方法。3家汽车巨头以及他们的供应商,都认为是时候换用XML 了。然而,负责定义Web Services 的W3C 组织和定义ebXML 计划的OASIS 组织分别提供了2 种类似又彼此竞争的XML标准。如果2种标准不能统一,业内商业文档会因为格式不同而难以相互交流,很多行业内的厂家也就宁愿使用原有的EDI 格式。

每年由AIAG(Automotive Industry Action Group)组织的汽车科技大会上,3 家主要汽车巨头及其供应商都要聚集在一起商讨汽车业的IT问题。在今年的AIAG会议上,3家巨头想要运用它们的影响力促使W3C与OASIS 的XML 标准进行整合。福特公司的技术负责人说:“若我们采用ebXML,而我的合作伙伴采用Web Services,那我们的商业内容将不能互通”。

一些人乐观地认为XML标准会因为三大巨头的积极推动走向整合,但有人还是担心其整合的速度达不到汽车行业的期望。目前,汽车巨头们在AIAG 的资助下已经完成了用于汽车行业库存目录管理的XML商业文档格式,他们还期望到今年年底能定义出更多种类的商业文档格式,并计划提交给OASIS 和W3C 做参考。

微软和IBM 都是AIAG 的成员,微软还赞助了本次大会。微软表示鼓励这种来自于行业的创新思路并期望能设计出一种汽车行业的新的数据交换模型。虽然AIAG 几年前正式表达了对ebXML 的支持,但现在风头直指Web Services,IBM 和微软也极力推荐Web services 来进行汽车行业内的数据整合。

-叶静译

创新硬盘播放机配备3.8 英寸显示屏

新加坡创新公司于2004 年9 月初宣布,将上市配备3.8 英寸LCD 显示屏的数码音乐播放机“Zen Portable Media Center”,其零售价格为499.99 美元。

“Zen Portable Media Center”为创新公司Creative Zen 系列中新的旗舰产品,可直接连接PC 来导入静画、动态图像或音乐文件。配备3.8 英寸液晶显示屏和容量为20GB 的硬盘,可保存数千张照片或多达9000 首音乐歌曲。

该产品支持WMA和MP3格式的音乐文件,由可抽换式锂聚合体电池驱动,最长可播放22 个小时的音乐文件或7 小时视频。另外,该产品配备了USB2.0接口,可利用Windows Media Player 10 的Auto Sync 功能轻松与PC 同步。

-每文

由78 国6000 台计算机组成的全球最大网格

近日,英国科学家展示了全球最大的网格计算机。该网格计算机系统是由分散在78个国家的6000 多台计算机组成,它是全球最大、首个永久性网格 Large HadronCollider Computing Grid (LCG)的一部分, 主要用于粒子物理领域的研究。

科学家预计,该网格计算机系统每年能够处理15petabytes的数据。但他们并没有就此停止,还将进一步扩大该网格系统,希望在2007年建成由10万台计算机组成的网格系统。

日本开发出新印刷电路技术

日本产业技术综合研究所和日立制作所组成的联合研究小组开发成功直接在塑料和胶片上印刷电子组件的技术,将来IC 卡、芯片电子卷标均可以利用这种技术印刷而成。

XML数据绑定技术探析 篇6

1 XML概述

XML (可扩展标记语言) 是由万维网联盟W3C组织于1998年2月发布的一种标准, 同HTML一样, 是SGML (标准通用标记语言) 的一个简化子集。由于XML灵活的数据存储形式可方便地用于任何平台, 为不同语言及组件之间的数据存取、处理、交换与转换等提供了方便, 自推出以来, XML便迅速得到了软件开发商的支持和程序开发人员的关注, 并在Web页面上得到了广泛应用。

XML要比HTML强大的多, 它不再是固定的标记, 而是允许定义数量不限的标记来描述文档中的资料, 允许嵌套的信息结构。XML提供了一个直接处理Web数据的通用方法, 着重描述Web页面的内容。XML是一种界定文本数据的简便而标准的方法, 曾经被人称为“Web上的ASCII码”, XML的标记用来描述概念, 而属性则用来控制其结构。

2 数据绑定技术

“数据绑定”是一种把数据绑定到用户界面元素 (控件) 的通用机制。数据绑定体系结构包括四个组成部分:数据源对象 (Data Source Object) 、数据显示对象 (Data Consumers) 和两个代理器 (Binding Agent与Table Repetition Agent) 。数据源对象向网页提供数据, 数据显示对象就是显示数据的HTML元素, 代理器则用来保证前两者的工作同步。

3 利用XML数据岛进行数据绑定

微软从IE 5.0开始支持XML数据岛技术, XML数据岛 (XML Data Island) 是指Web页面直接包含的XML文件或XML标签数据。数据岛使HTML和XML真正地融合到了一起。利用XML数据岛技术, 可轻松实现对数据的绑定

HTML页面中直接包含XML数据岛, 示例如下:

除了上面例子中的这种直接嵌入方式, 还可以使用外部引用方式链接数据岛。标签的ID属性定义了数据岛的ID, 而SRC属性指向被嵌入的XML文件:

在HTML文档中嵌入数据岛之后, 就可以将XML数据岛与HTML元素绑定在一起。每一个DSO条目 (即数据岛) 都有唯一的ID号。首先将HTML元素中的DATASRC属性设置为相应的ID, 把HTML元素和数据岛联系在一起。然后再通过设置DATAFLD属性值, 来确定所提取的XML元素。目前, 支持这种DSO绑定机制的元素有:A、APPLET、BUTTON、DIV、FRAME、IFRAME、IMG、INPUT (此处类型是:CHECKBOX、HIDDEN、LABEL、PASS-WORD、RADIO和TEXT) 、LABEL、MARQUEE、SELECT、SPAN、TABLE和TEXTAREA。

3.1 利用XML数据岛进行单记录数据绑定

当把数据岛与类似SPAN、DIV和INPUT等HTML元素绑定时, 这些元素显示的是记录集的首条记录。例如在文件book1.htm中加入以下代码:

要想对记录集进行遍历浏览, 我们需把XML数据岛作为A-DO的记录集Record Set来对待, 可以使用ADO的方法有:Move、Move First、Move Last、Move Next和Move Previous。例如, 创建一个按钮响应的脚本函数, 只要用户点击"Next"按钮, 就可以逐条浏览相应的记录。

3.2 XML数据与TABLE元素绑定

将XML数据与TABLE元素绑定在一起, 就可以自动地显示多行的表格形式。

标签的DATASRC属性可以把HTML格元素绑定到XML数据岛。这个DATASRC属性会引用数据岛的ID属性。

无法绑定至数据岛, 我们可以使用标签。允许DATAFLD属性来引用需要显示的XML元素。代码如下:

如果XML数据量很大, 此时, 利用TABLE元素中的DATA-PAGESIZE属性可以指定表格中包含记录集条目的个数。

4 利用DOM和脚本语言实现数据绑定

DOM被称为“树模型”, 是W3C组织定义的标准, 是读取、操纵XML文件的一种标准方法, 它提供了一个具有完整文档并且易于理解的XML对象模型。DOM是一种与平台和语言无关的接口, 它允许程序和脚本动态访问和修改文档的内容、结构和类型。它定义了一系列的对象和方法, 对DOM树的节点进行各种随机操作。因此, DOM树与脚本语言相结合可以实现更加灵活有效的绑定形式。

这里我们使用Java Script脚本语言。首先我们创建一个Js脚本文件binder.js。该文件中建立了两个对象:binder和control, 其中binder对象主要存放绑定的数据源、目标对象。它的一些重要属性如下:

binder对象还包含一些处理绑定错误的方法。如果在绑定的过程中产生错误, 可通过Throw方法将所有的消息压入数组Error Message中, 并将错误标志On Error置为true, 再通过Debug方法将所有错误消息显示出来。

control对象主要负责将XML数据绑定在HTML元素上。它的核心是bind方法, 在该方法中传入了obj和xml两个参数。参数obj表示要绑定的HTML控件或者控件的ID, 并将该对象赋给binder.tql Object。参数obj可以是XML数据岛的ID, 也可以是包含XML字符串的DIV或者INPUT (类型为Text或Hidden) 等控件的ID, 并将该对象赋给binder.xml Source。绑定的代码如下:

在bind Table () 方法中, XML中的每一个结点, 对应表格的一行, 然后对该行的每一列, 在该XML结点中找与该列ID相同的属性, 如果存在该属性, 则将该属性值绑定到该单元格中。bind Body方法与bind Table () 类似, 先将所有的HTML要绑定的控件放到obj List数组中, 然后在XML结点中找与该数组中的每一控件的ID相同的属性的值, 如果存在该属性, 则将该值绑定到该控件, 其中bind Body的部分代码如下:

在HTML文件中, 我们将该js文件包含进来, 再通过语句control.bind (obj, xml) 就可以轻松实现绑定。利用脚本还可以实现很多功能, 包括对记录集进行增加、删除、修改、快速查询、排序、编辑等操作, 或是分页显示HTML表格。需要说明的是, 所有对DSO对象的操作都是在用户端完成的, 实际上是服务器数据对象的一份复制品, 这样做的好处是避免了网络承受大量数据通信的负担。

参考文献

[1]梁伍七.基于XML文档的数据绑定技术浅析[J].安徽大学学报: (自然科学版) , 2003 (1) .

[2]Steven Holzner.Inside XML[M].北京:中国青年出版社, 2001.

[3]杨绍明, 曾水玲.在Web上实现一对多关系的动态数据绑定[J].微机发展, 2004 (4) .

[4]郭荷清, 王璔勋.XML数据绑定及对象序列化的应用研究[J].计算机应用与软件, 2006 (5) .

XML代数查询优化研究 篇7

XQuery是XML查询语言的推荐标准。XQuery处理策略有两种方法,一种是基于核心语法一次一结点的方法,另一种是基于查询代数的一次一集合的方法。单独使用这两种方法都不能很好地处理XQuery查询。一方面,基于核心语法树的方法效率低,而且很难优化,而现有基于代数的方法又不能很好地满足XQuery的过程化查询语言的特性。基于这样的目的文献[1]提出了一种名为Oreint XA的有效查询代数,该代数结合了一次一结点及一次一结合的两种处理方法,是一种有效的代数系统。该代数的优点是根据XQuery语言的特点,明确提出了包括强绑定/弱绑定、结点绑定/序列绑定等概念;引入Sequence操作符,有效结合了两种XQuery处理策略的特点,能有效地表达XQuery查询,这是Orient XA区别于现有XML代数系统的最大不同之处。

2 问题的提出

XML的查询优化,工作内容有两部分:

(1)逻辑代数的定义及逻辑优化技术,这里的逻辑代数可以转化为不同的物理代数,例如原生代数或是扩展关系代数。

(2)物理存储结构的设计和物理优化技术。

从优化策略上看,XML数据管理的数据库支持有两类,扩展关系型数据库和原生型数据库。对于扩展关系型数据库,是将XML文档转换成关系数据,将XQuery转换成SQL表达式,查询优化的空间为从XQuery到SQL的转换空间和SQL自身的优化空间。对于原生型数据库,是将XML文档直接存储于物理存储设备,以标记有序树作为数据模型,XQuery查询将转换为一系列的作用于XML树上的操作,查询优化的空间在于操作本身。

从优化层次上看可分为:

(1)语言级:查询语言的优化。

(2)代数级:查询代数的优化。

(3)物理操作级:物理优化技术。

在文献[1]提出的代数系统基础上,本文考虑代数级的优化。优化的目标是,在得到相同结果集情况下,使查询执行更有效,更少的执行时间。

3 问题研究

XML树形结构数据模型比关系模型在本质上有更强的复杂性,从而给XML的查询优化带来了困难。由于效率原因,传统的基于代价估计的查询优化并不适宜大量XML数据的查询。因此本文采用了基于启发式的代数查询重写方法,即将XML查询表达式写成代数表达式,完全采用等价的方式来处理代数表达式,从而获得更好的查询效率。

谓词下移是关系数据库中进行启发式查询优化中的重要手段。很多文献都有介绍。在XML数据库中,也考虑选择谓词下移策略。

上边的查询,选择谓词$b/author/first="Smith"就可以先于连接操作执行,以使参与连接的集合变小。一般来说,如果一个内层谓词提到外层之后,该谓词所约束的子句是一样的,那么该谓词就可以提到外层,以提高查询效率。但是,对于XML查询以模式树结构作为操作对象,在选择谓词下移时,还需要考虑选择操作的范围问题。

选择谓词$b/title=$v/title的操作范围是(用XPath表示)doc("http://bookstore1.com/bib.xml")//book[publisher="Adsion"]&

doc("http://bookstore2.com/bib.xml")//review。但是针对谓词$b/author/first="Smith"的操作范围是受{$v/content}影响的,而不是doc("http://bookstore.com/bib.xml")//book[publisher="Adsion"]。因此不能将谓词下移到$b/title=$v/title执行。

除了选择操作下移可以提高查询效率外,抽取操作的尽早执行,也可以尽早给出模式树,一方面,减小模式树的规模,另一方面,也减少扫描文档的次数。考虑通过改变抽取与其他操作的次序,将抽取操作合并。

在XQuery代数中,由于抽取操作可能作用于大的文档产生任意多的实例树,是一个潜在的昂贵操作。在查询计划中,考虑将多个抽取操作合并。这样,全部抽取操作的代价可以降低,避免多次扫描文档。另一方面,可能将一个抽取工作拆开,由多个抽取操作完成,以实现子表达式的重用。

由于XQuery没有显式的GROUPBY语句,查询结果的分组通常由嵌套的FLWR表达式实现,将其转换成一个连接操作。这样的连接操作是作用于同一文档的,成为自连接。考虑取消这种连接,因为连接操作是比较费时的操作,而抽取则相对省时。有下面的规则X1!"c X2=EP1∪P2,假设X1,X2的模式树分别为P1,P2,如果P1,P2为同一文档,那么用抽取操作代替连接操作,这时操作范围被改变为这个文档,抽取模式树P1∪P2。

看下面的一个例子,通过静态的路径投影来实现连接的结果。

let$p=doc("http://bookstore.com/price.xml")/book[title=$t]/price可以改写成为

let$b=doc("http://bookstore.com/price.xml")/book[title=$t],let$p=$b/price。

除了上面给出的启发性原则,还有一些原则,如先分组后连接,提取公共表达式等。

4 总结及展望

以上在Oreint XA的基础上,给出了查询优化的等价变换公式,提出五种启发性优化原则,特别是如何利用语义信息进行优化,提高了查询的效率,达到了优化的目的。但是本文给出的启发性原则中,如何快速的判断谓词的作用域并且确定什么时候谓词下移,是我们将来需要研究的方向之一。提取表达式中,如何解决嵌套问题,也是将来研究的方向。

摘要:随着XML数据大量出现在Web上,XML数据库研究成为数据库研究热点。逻辑代数的定义及逻辑优化技术是查询优化的一个方向。在OreintXA代数的基础上,考虑代数级的优化,优化目标是,在相同结果集情况下,使查询执行更有效,执行时间更短。

关键词:XML,查询优化,代数

参考文献

[1]罗道锋,蒋瑜,孟小峰.OrientXA:一种有效的XQuery查询代数[J].软件学报,2004,15(11):1648-1660.

[2]何震瀛,李建中,王朝坤.一种XML数据库的数据模型[J].软件学报,2006,17(4):759-769.

[3]World Wide Web Consortium(W3C).XML Schema.http://www.w3c.org/TR/xmlschema-2,2001.

[4]Abiteboul S,Buneman,P,and Suciu D.Data on the Web:From Relations to Semistructured Data and XML.Morgan Kauf-mann Publishers,2000.

XML的研究与发展 篇8

1.1 XML语法规则

XML的语法规则既很简单, 又很严格。这些规则很容易学习, 也很容易使用。

正因为如此, 创建可读取及操作XML的软件并不是一件难事。下面以一个XML文档的例子来说明XML的相关语法。

XML使用一种可自我描述的简单的语法。

此文档中的第一行-XML声明-定义了XML的版本和文档中使用的字符编码。在这个例子中, 遵守的是XML 1.0规范, 并使用了ISO-8859-1字符集。接下来的一行描述了文档的根元素 (就像是在说:“本文档是一个便签”) :

接着的4行描述了根元素的4个子元素 (to, from, heading, 以及body) , 最后的一行定义了根元素的结尾。

可以看到, 这个XML文档包含了一个由Jani留给Tove的便签。现在, 我们可以看到XML具有完美的自我描述特性。

所有元素都须有关闭标签, 当使用XML时, 省略关闭标签是非法。

和HTML不同, XML标签对大小写敏感。在XML中, 标签和标签是不同的。所以必须使用相同的大小写打开并关闭标签。

XML必须被正确地嵌套, 不正确的标签嵌套对XML是没有意义的。

XML文档必须有根元素, 所有的XML必须包含可定义根元素的单一标签对。所有其他的元素都必须处于这个根元素内部。所有的元素均可拥有子元素。子元素必须被正确地嵌套于它们的父元素内部。

XML的属性值须加引号, 在XML中, 省略属性值两旁的引号是非法的。

和HTML类似, XML也可拥有属性 (名称/值的对) 。在XML中, XML的属性值须加引号。

1.2 XML相关技术

XML是由SGML和HTML二者派生的语言。XML最重要的特征是:被标记的各个数据是保持其含义的。因此, 系统间交换数据的可能性极大提高。XML最基本的概念是结构化标记数据, 实现了“文档结构化”的语言规范, 即采用DTD文档类型定义的语言标准。

1.2.1 XML的结构化文档技术

我们知道HTML语言中文档标记Tag“<”和“>”所包容的内容和普通的文本是混在一起的, HTML文档中的标记所表示的内容是预先由标准确定的, 标准以外的标记内容不能使用。但对于XML来说, 标记Tag可以根据用户要求来定义标记的含义。如下所示分别表示用HTML语言和XML语言编写的统一信息内容的格式。

(1) 用标记表达文档结构。使用标记表达文档的任务有二:一是正确地表达XML文档所具有的“结构”。二是正确地传达按文档所标记的数据的“含义”。XML文档数据采用树枝和叶的“树结构”方式表达, 上例中的XML文档的树结构形式如下图1所示。

(2) 用定义标记的含义。只具有树结构的XML文档, 对应用系统的处理要求还是不够的。XML虽有任意标记的文档, 但对其确切的解释仍是不明确的。所以在文档的发送和接收之间使用有关标记来定义确切的含义是很有必要的, 这种工作称为定义文档类型。

XML的文档类型以标记集合来定义。标记集合的定义采用一种DTD文件来实现。下例为上例中XML文档的DTD文档类型定义形式。

(3) 名称空间分多个DTD。在制定的XML标准中, 1个XML文档允许采用多个DTD。其目的是把一般确定的DTD与企业独自的DTD相结合, 但含义不能有异, 以重新利用原有资源。因此在XML1.0标准中, 像规范参照性标记那样, 只确定了一种含义, 所以才规定了特定DTD的“名称空间”标准。具体做法是把存储DTD的集合名称与标记并存, 以防混同。

1.2.2 强化WWW的表现能力

目前以HTML为基础的浏览器尚不具备与DTD相结合的XML文档功能。XML能够超过HTML的表现能力, 文档显示的方式可根据用户要求而改变, 具有“变换显示”的能力。

(1) 采用XSL确定显示方式。XML文档和DTD文件中没有标记显示方式的信息。当要在XML文档元素内容中表示显示方式时, 采用XSL语言描述的XSL文体表实现。在XSL中定义了二种方式:一种是把原来XML文档的树结构变换为其它树结构的规则, 从而使文档的显示变为用户所需要的内容;另一种方法是使变换后的树结构具有词典用语的含义。变换后的树结构用HTML形式定义时用词典指定HTML标记。

(2) 变换为HTML方式以适应当前主流。一般有二种显示XML文档的方法:一种方法是由XML文档和XSL文体表生成显示画面的布局, 并装入客户端机器;另一种方法是装人服务器端。当前的实验表明, 后者更具优势。今后随着XML浏览器的普及, 前种方法将增加。系统中显示处理过程为:XML文档和DTD文件首先按XML处理器规则以树结构展开, 对不符合XML句法规则的文档, XML处理器提示错误信息。因为XML的句法规则很严格, 不管用哪种XML处理器都要求能抽取同样的树结构。

(3) 用XLink来定义灵活的连接。通过XML进行的连接可具有HTML所没有的功能。在HTML文档中可使用URL唯一资源定位器来连接。连接的目的地采用由HTML标准确定的目的标记“锚”作为指定的目标。在浏览器中用鼠标点击后, 则作为目标所指定HTML的文档内容而显示在浏览器中。XML文档具有的连接功能称为“XLink”, 它可实现更高级的连接设置, 如作为目标使用则可以指定XML文档元素。用鼠标点击时不但目标照样显示, 而且会把目标内容嵌入在原文档中来显示, 这样便可以实现弹出显示。对弹出显示的多个目标名称还可选择显示的目标。XLink对指定目标的显示方法由XSL文体形式来规定。

(4) 定义调用外部处理器的API。由于XML文档是结构化的, 因此如果使用XML外部处理器, 也可正确地取出所需要的数据。但在使用XML文档全部应用中, 用来组成XML处理器的难点在于代价过高。因此, 对从应用程序调用XML处理器的接口做了规定。这种API应用程序接口称为文档对象模型方法, 在用DOM方法确定API的标记中, 可以采用对象管理组OMG规定的CORBA (公用对象需求代理体系) 所确定的IDL接口定义语言。

2 XML研究现状与进展

2.1 XML与Java

XML和Java技术有许多互补的特性, 两者的结合将形成一个强大的数据共享和处理的平台。一方面, XML能以一种开放而中立的方式定义数据和文档。当然还需要开发那些能处理这些数据或文档的应用;另一方面, Java平台提供了一个统一的计算环境, 特别是可移植的Java代码能通过网络下载到任何一个Java虚拟机上。而且, XML与Java技术的结合基于它们固有的协作性

XML-Dev邮件列表组推出了一个XML的Java应用编程接口标准SAX, W3C也为DOM 1.0 level 1定义了Java语言的绑定。目前, 基于Java的XML解析器几乎都支持这两个应用编程接口。应用开发者能够使用Java通过这些接口来获得和操作XML构件, 从而使得Java平台成为处理XML文档的普遍存在的运行环境。另外, XML采用Unicode字符编码系统, Java平台对Unicode标准的支持使得它能容易地处理国际性的XML文档, 而对于那些没有Unicode内在支持的平台来说, 应用软件必须自己实现对Unicode字符的处理, 因而增加复杂性。

2.2 XML与CORBA

用XML表示的数据在异构系统之间是互操作的, 因此XML为解决互操作问题提供了一个以数据为中心的方法。而CORBA是一种用来创建异构平台上分布式对象系统的技术, XML和CORBA均是独立于平台和编程语言的, 它们在分布式对象计算方面有很多集成优势。

OMG组织正在考虑把XML文档作为IDL操作的参数, 也就是说, XML数据结构作为IDL的非对象类型。这样数据的改变不会波及接口的改变, 当然这一动议与XML Schema Language以及XMI等有关。XMI (XML Metadata Interchange) 是一个新的开放的工业标准, 它提供了一个在建模工具之间交换元数据的方法, 只要这些建模工具使用UML (Unified Modeling Language) 和基于MOF (Meta Object Facility) 的元数据仓库。XMI也为其它工具存取基于CORBA的元数据仓库提供了一个途径。

3 XML的应用

当前XML主要应用领域体现在4个方面:

(1) 企业间电子商务。在企业间正在从原有的广泛使用的EDI技术转向Web-EDI, 即利用WWW实现商品信息的交换和接发定单, 从而使通信成本降低, 软件成本降低。由于原有的HTML应用的限制, 使XML成为大势所趋。利用进行电子目录等产品信息的交换和自动更新, 可以实现目录的自动分类处理和服务, 而且可以实现多国语言的目录服务。

(2) 知识管理。XML可以对各种文档和资料进行真正使用的知识管理。使用XML的文档结构化和文档含义化功能, 可以统一进行多项目索引管理, 而且新老文档可以混合使用, 在知识管理中XML必成为今后的发展主流。

(3) 文档管理。在文档管理中, XML最大优势是可直接在WWW显示XML数据, 工具种类和数量丰富, 使用Unicode代码不依赖于工具, 在文档中制定URI能直接利用Internet数据。用XML管理文档数据, 面向多种形态媒体可输出同一数据, 易于维护文档, 降低成本。当前的一种趋势是把原先使用的SGML形式的数据向XML移植, XML的应用将会迅速普及。

(4) 实现企业间自动化处理。目前在美国活跃着一个联合组织Rosstta Net, 其目标是使用以XML为首的最新技术进行供应链大改造, 实现企业间电子目录的分配﹑更新以及市场信息和在库信息的共享, 彻底提高企业的效率。

参考文献

[1]W3C.Extensible Markup Language (XML) 1.0Specification[EB/OL].W3C Recommendation, 1998-02-10.http://www.w3.org/TR/REC-xml

[2]Goldfarb C F, Prescod P.The XML Handbook.Prentice Hall[M].Upper Saddle River, NJ07458, 1998:3-18

[3]W3C.Document Object Model (DOM) Level1Specification Version1.0[EB/OL].W3C Recommendation, 1998-10-01.http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/

[4]李海龙, 张维明.基于xml的数据库信息动态发布技术[J].计算机工程与应用, 2002 (19) .

[5]吴扬扬, 陈锻生.利用ASP和XML技术集成多数据源的数据[J].电脑开发与应用, 2001 (5) .

[6]丁振凡.XML数据岛技术及应用[J].微型机与应用, 2002 (3) .

[7]曾莉.应用XML语言设计动态网站[J].曲靖师范学院学报, 2003 (3) .

[8]Elliotle Rusty Harold.XML实用教程[M].北京:机械工业出版社, 1999.

[9]Hiroshi Maruyama, Kent Tamura, Naohiko Uramoto.XML and Java Developing Web Applications[M].Addison-Wesley, August1999.

浅谈XML查询语言研究 篇9

0 XML查询概述

XML数据查询与XML数据存储方式密切相关,通过对存储方式的掌握,选择合适的查询语言,可以对Internet中的大量数据进行灵活的查询。XML数据的物理存储格式对查询处理的效率有很大的影响,不同的存储方式配合不同的查询语言和查询方式,会在查询效率上有很大的不同。

目前我们较为关注利用关系数据库系统管理XML数据,它能够有效的保证XML数据的一致性和完整性。而且它在关系数据库产品在市场上占有的比重较大,包括WEB上的常用的后台服务器所使用的数据库一般也都是关系数据库。在一般情况下,如果用关系数据库存储XML数据的话,我们就可以更方便地在两者之间进行数据格式的转换。所以我们用关系数据库来存储和查询XML数据是一种较方便更可行的办法,也更加容易实现企业应用方向的迁移。在它的存储方式及查询方式确定之后,只需要设计出合理方案,采用方便、易用的XML查询语言,提供给用户及上层应用程序检索XML文档。

1 XML 查询语言的处理对象

如何巧妙的让计算机把一个大的图书管理系统看成一个巨大的、复杂的XML数据仓库,采用各种不同类型的数据都以XML这种通用的数据格式,从所有不同的数据源找到并提取出人需要的XML数据,这是我们采用XML查询语言想要达到的主要目的。

1.1将 XML 作为数据的中心

以数据为中心的XML,它一般用来进行信息的传输和交换。数据库研究者使用面向数据的XML,从如何存储大量的数据、集成异构数据源的信息,从已有的关系数据库查询语言、面向对象数据库查询语言等等出发,以及转换集成遗留系统中的数据到通用的XML格式。研究XML查询语言如何才能在具有完善功能必然要影响到XML查询语言的设计。

1.2以文档为中心的 XML

对于XML文档查询时,较长使用的查询的目标是包括检索某类内容的文档、查询文档的结构信息、从查询结果生成新的XML。以文档为中心的XML它则具有的是半结构化的特征,那么我们在存储和检索时,就要考虑的是不规则的结构和混合的内容模式的问题。通过这样研究者就可以更快的完成检索的内容。

1.3混合形式的 XML 文档

想要达到混合形式的XML文档,首先需要XML查询语言同时提供对以数据为中心的XML,并且要以文档为中心的XML的支持。那么,由于XML将成为Interact上数据的通用标准格式,因此对于XML查询语言要能够同时去满足两类XML应用需要的查询语言。这就给我们提出了一个问题,在XML数据的查询语言就要求反映出以数据为中心和以文档为中心两种特性。我们要通过对已有的XML查询语言进行分析从中找到可行的方法。通常我们常采用的有 :模式匹配语句,选择过滤语句,结果构造语句等等。

2 总结

由于XML文档和数据库数据在结构上存在着诸多差异。对于XML文档它是嵌套的多层次结构、类型以及数据长度都是不规则, 且数据之间的关系需要通过父元素与子元素之间的嵌套形式来实现 ;关系型数据库中的数据则是以二维表的形式存在着,它的数据间的关系是通过主外键的形式来体现的。

对XML的数据模型的分析是十分必要的。针对于传统的关系数据库是一套成熟的数据库系统。因此,XML数据库可以凭借可靠的关系数据库支持,实现XML数据的有效存储和查询。在使用关系模型存储XML过程中,需要同时考虑两种数据模型之间的差异,要将对XML数据的查询转换成为对底层的关系数据的查询。针对于这些差异,有些过程可以直接用关系数据库的查询语言来实现,而另一些则要在关系数据查询的结果上进一步再处理。本文中主要是XML数据的关系存储和查询。由于采用关系模型存储XML数据,所以后期要对XML的关系存储模式进行合理设计。基于关系存储方式,也需要相应的查询算法,用以支持各种XQuery查询。

摘要:XML是随Web发展所得到的必然产物。它已成为当前网络应用(包括数字图书馆、网络编程、Web服务等)中事实上的数据表达、交换的标准。XML查询已经有了很好的技术基础,但由于XML数据它自身所特有的特点,以及和传统数据模型的差别,XML查询在理论上和实现上都还存在很多难点。本文主要为实现XML文档查询系统XQuery探讨了XML查询的各种处理对象。

XML 篇10

进入21世纪以来,随着Internet技术发展的日新月异,以微软的.NET体系和Sun的J2EE体系为代表的WEB Services技术已经成为当前Internet技术的两大主流。无论二者体系架构如何不同以及如何发展改进,XML作为其架构的核心配置作用始终倍受重视。因此XML课程已成为当前从事Internet领域的软件行业教育的重要课程,许多高校都纷纷开设XML方面的课程以跟上当前发展的步伐。

但在实际教学过程中,相应的教材存在两个极端,一方面是纯语言语法教学,由于XML技术应用涉及相关技术多,应用范围广,按照语法讲解,无法体现出XML技术的应用价值,同时在有限的课堂教学内不可能完全、透彻地讲解,以致使学生陷入到语法学习中,无法真正理解和掌握XML技术。另一方面则大多是作为应用开发的参考资料,过于看重项目开发的知识应用而缺乏系统完整性,同时由于XML技术发展的不断发展,相关的新知识也不断涌现,教材很难跟上实际需要。

XML课程是理论与实践结合非常紧密的课程,纯粹的理论教学无法掌握XML的应用开发技术,但纯粹的实践又不能深刻理解到XML的本质。因此本文将围绕XML课程的两大问题,针对众多繁杂的知识点,重新构建出三大层次的XML课程知识体系。采用行为引导方法研究如何在XML课程中实现理论知识学习和实践应用的结合。

XML语言是自我描述的可扩展的语言,这决定XML技术本身就是不断扩展的。从近几年的WEB技术发展来看发现XML技术在WEB领域占据着重要的核心地位,同时XML技术的相关应用领域也越来越广,因此XML课程知识体系的构建非常重要,一方面必须包含XML核心基础知识,另一方面应该扩展日新月异的应用技术。笔者通过近四年XML教学经验的积累,把XML课程知识归纳划分为基础层次、访问层次和应用层次。其中基础层次是核心的,必须掌握的知识点,也是变化最少的层次;应用层次是XML生命力的体现所在,也是变化最多的层次;访问层次是实现基础层次和应用层次之间架构桥梁的层次。

一、XML课程教学方法的设计

针对XML知识点众多、知识内容繁杂以及知识更新变化快的特点,笔者通过对XML课程知识点的分析,构建出三个层次组成的XML知识体系。因此笔者在课程教学过程中,紧密围绕三个层次,采用行为教学法,使三个层次知识点在有限的教学时间内交叉融入到教学过程中。

1.行为引导教学方法

行为引导教学方法是指在老师的引导下,学生同时用脑、心、手进行学习的一种教学方法。行为引导教学方法使学生成为学习的主体,教师在教学过程中引导学生在参与学习的过程中激发学习兴趣,让学生主动地进行探索式和研究性学习,提高学生学会学习的能力。行为引导教学方法是一种以职业活动为导向,以能力为本位的职业能力培养的教学方式。在这种教学方式中,教师帮助学生获得知识、技能、价值观和思维方式,同时也提高了学生的核心能力。行为引导教学方法体系主要是由八种经典方法以及教师结合自身教学实践所创造的各种创新方法组成。这八种经典方法为:头脑风暴教学法、项目教学法、引导文教学法、案例教学法、角色扮演教学法、模拟教学法、张贴板教学法和未来设计教学法。

2.基于行为引导的XML课程教学体系设计

针对三个层次的知识点,XML课程教学体系的设计建立在行为引导教学方法基础上,关注的是如何充分调动学生主动学习的愿望和动机,培养学生进行探索性学习、研究性学习的精神,尤其是如何通过团队学习,有效地促进学生核心能力的培养。主要采用了项目教学法、案例教学法、情感教学法、角色扮演法。

(1)主教材和辅导教材的选择。主教材的选择应完全满足基础层次知识点的要求,同时包含部分访问层次知识点。不管XML相关技术如何发展,XML如何作为一门国际标准语言规范使用是本课程必须掌握的基础知识。需要注意的原则是教材应尽量简洁精练,以免使学生陷入到复杂的语法学习中。

(2)教学大纲设计。课堂讲授课时占总课时的3/4,其中理论知识授课占2/4,主要讲述基础层次的知识点和部分访问层次的知识点;交流反馈活动占1/4,主要以讲座形式讲述应用层次知识点以及学生互动讲评等;实验课时占总课时的1/4,主要以项目开发形式提供学生实践和老师实时答疑解决问题。

(3)教学方法的实现。一是综述性课程教学:通过行为引导体系中的案例教学法。介绍当前XML的最新应用及其发展。结合应用层次知识点帮助学生了解XML应用场合及其作用,激发学生学习兴趣,注意掌握学生信息的反馈。二是基础理论课程教学:采用行为引导体系中的项目教学法。首先提出项目需求,安排好任务完成时间。帮助学生提炼出要完成该项目所需要掌握的知识大纲,从而按顺序讲解基础层次的知识内容。三是实践课程教学:采用行为引导体系中的角色扮演教学方法。由学生自愿组合成立项目开发小组,进行项目小组成员角色定位和任务分工。按照项目进度要求提交原型系统,引导学生各项目组互相测试验收,并提交各项目组的项目开发改进方法和总结报告。四是反馈跟踪课程教学:采用行为引导体系中的情感教学法。引导学生主动提出问题,补充相应的知识点,要求学生每次听课后提交所学知识点大纲以及存在的问题。

此外,除课堂教学之外,应多开展课外学习辅导活动,巩固课堂教学成果,加深学生认识和体会,拓展XML知识视野。

二、实际教学结果分析

在综述性课程教学中,结合项目教学法采用了两个项目:一个是“基于XML的多样式通用个人简历”项目开发,该项目结合学生毕业面试的现实需求,帮助学生如何设计和实现满足不同公司特色的应聘简历;另一个是“基于XML的多样化试卷生成系统”项目开发,该项目以学生经常遇到的考试试卷为对象,设计一种试卷可以避免抄袭并能够呈现个性化的试卷,让学生第一次站在教师的角色上考虑设计。第一个项目需要的XML基础层次的知识点,第二个项目则是在基础层次基础上,需要XML访问层次的知识点。根据调查数据对比,这两个项目在实际项目教学过程中起到了非常好的效果。在实践课程教学中,更关注的是学生团队合作能力的培养和提高,通过学生项目小组的构建、角色的分工,极大地锻炼了学生小组合作能力的开发;有效地配合了学院自主实验,学校课外科技立项等活动的开展。

XML课程的开设学时总共为32学时,其中实践上机为8学时,课堂教学为16学时。在这短短的32个学时里要将XML课程的三个层次知识点讲授给学生,采用传统的教学方法是不可能做到的。在采用新的教学方法后效果非常明显。学生主动学习的热情很高,课堂交互性高,学生对XML相关新知识涉及的范围越来越广,这同时对教师的要求也越来越高,教师需要及时掌握更多的XML相关技术知识。恰恰因为如此,才更能将XML技术的生命力赋予了XML课程同样的生命力。

注:本文得到国家自然科学基金项目(项目编号:60603087)和浙江省科技厅项目(项目编号:No. 2007C31006)资助。

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【XML】相关文章:

上一篇:初中物理实效教学下一篇:人才结构风险

本站热搜

    相关推荐