当前位置:文档之家› XML技术及其应用概述

XML技术及其应用概述

XML技术及其应用概述*吕腾黄琼湘闫萍新疆大学数学与系统科学学院 830046关键词: XML 电子商务网络安全数据集成1 XML的发展历史可扩展标记语言XML(eXtensible Markup Language)[1]是一种简单灵活的文本格式的可扩展标记语言,起源于SGML(Standard Generalized Markup Language),是SGML的一个子集合,也就是SGML的一个简化版本,非常适合于在Web上或者其它多种数据源间进行数据的交换。

1969年,IBM公司开发了一种文档描述语言GML(Generalized Markup Language),用来解决不同系统中文档格式不同的问题,并在1986年成为了一个国际标准〔ISO8879〕,这就是SGML。

SGML是很多大型组织的文档标准,它是一种与语言无关的、结构化的、可扩展的语言,这些特点使它在很多公司受到欢迎,被用来创建、处理和发布大量的文本信息。

1989年,在CERN欧洲粒子物理研究中心的研究人员开发了基于SGML的超文本版本,称为HTML( HyperText Markup Language)。

HTML继承了SGML的许多重要的特点,比如结构化、实现独立和可描述性,但是它也存在很多缺陷,比如它只能使用固定的有限的标记,而且它只侧重于对内容的显示方面。

随着Web上数据的增多,HTML存在的这些缺点越来越突出。

W3C的成员认识到,必须有一种方法能够把数据本身和数据的显示分离开来,这样W3C在1996年提出了XML的概念。

XML不仅保留了SGML的很多优点,而且更加容易操作以及在World Wide Web环境下实现。

1998年,XML成了W3C的推荐标准。

2 XML的特点(1)自描述。

XML是一种标记语言,其内容由相应的标记来标识,具有自描述的特点。

(2)可扩展性。

XML是一种可扩展的标记语言,用户可以定义自己的标记来表达自己的数据,具有强大的可扩展性。

(3)内容和显示分离。

XML文档只描述数据本身,而与数据相关的显示则由另外的处理程序来完成,具有内容和显示相分离的特点。

(4)本地计算。

XML解析器读取数据,并将它递交给本地应用程序(例如浏览器)进一步查看或处理,也可以由使用XML对象模型的脚本或其他编程语言来处理。

(5)个性化数据视图。

传递到桌面的数据可以根据用户的喜好和配置等因素,以特定的形式在视图中动态表现给用户。

(6)数据集成。

使用XML,可以描述和集成来自多种应用程序的不同格式的数据,使其能够传递给其它应用程序,做进一步的处理。

3 XML的技术规范XML并不仅仅包括XML标记语言,它同时还包括了很多相关的规范,比如文档模式技术、文档样式技术、文档查询技术、文档解析技术、文档链接技术以及*新疆大学博士基金资助。

文档定位技术等。

基于XML的这些规范,还有很多高层的应用协议,比如SOAP (Simple Object Access Protocol)和BizTalk等。

(1)文档模式技术:DTD(Document Type Definition)[2]和XML Schema[3]是XML文档的模式,用来对XML文档的逻辑结构进行定义。

XML文档的模式规定了XML文档中的元素、属性、元素和元素以及元素和属性之间的关系。

其中,DTD 来自SGML,XML Schema是专门为定义XML文档的模式而设计的,采用的是XML 的语法。

(2)文档样式技术:XML是内容(数据)和显示格式分离的语言,CSS (Cascading Style Sheets)[4]和XSL(Extensible Stylesheet Language)[5]就是定义XML文档的显示样式的。

其中,CSS是随着HTML的出现而产生的,控制XML文档的显示,但不会改变源文档的结构。

而XSL是专门为XML设计的,不仅用来显示XML文档,而且可以把一个XML文档转化为另一个XML文档。

(3)文档查询技术:W3C推荐的XML文档的查询语言是XQuery1.0[6]。

XQuery 起源于一种叫Quilt的XML查询语言,借鉴了XPath 1.0、XQL、XML-QL、SQL 和OQL等语言的优点。

(4)文档解析技术:文档解析是指对XML文档的内容和结构进行访问和分析。

文档解析技术包括文档对象模型DOM(Document Object Model)[7]和SAX(Simple API for XML)[8]。

DOM是一种对平台和语言中立的接口,它是基于XML文档在内存中的树状结构,它的一个主要不足在于将整个XML文档装入内存所引起的巨大开销。

而SAX使用事件驱动的XML解析,并不要求将整个XML文档一起装入内存。

(5)文档链接技术:XML的链接功能比HTML更强大,它使用XLINK。

XML Linking Language 1.0 (XLink)是W3C主导的定义XML链接的语法。

一个XLink 的描述信息,显式的指定了资源或部分资源之间的关系。

在XLink中,并不涉及标示不同类型数据位置的方法,XLink需要依靠不同的机制来标识你想要链接的资源(例如统一资源标识符)。

W3C推出了另一种叫做XML Pointer Language(XPointer)的机制用于构造XML文档的内部结构。

它可以链接到一个具体的对象上去,这个对象可以是一个网页、网页的一部分、网页中的一个元素甚至是网页中某行的某几个字。

(6)文档定位技术:XML Path Language(XPath)1.0[9]是一种用于XSL Transformations (XSLT)1.0和XPointer中对XML文档各部分进行定位的语言。

它给XSLT和XPointer提供一种定位语法,用来定位XML文件的各个部分。

(7)其他XML技术:①MathML (Mathematical Markup Language)2.0是一种用来描述数学符号、结构和内容的XML应用。

MathML的目标是在Web上实现能像HTML处理文本一样,处理数学问题。

② SMIL(Synchronized Multimedia Integration Language)2.0是一种基于XML的表述多媒体演示的语言。

SMIL允许将一组独立的多媒体对象整合为一个多媒体演示。

③VML(Vector Markup Language)是一种定义矢量信息编码格式的矢量标记语言,它是XML在矢量信息方面的应用。

VML所定义的编码格式连同其它的标记一起描述了信息如何显示和编辑。

④CDF(Channel Definition Format)允许Web发布者从任意的Web服务器经常地更新信息或是频道,以便这些信息能从Web服务器自动的传送到PC上的兼容接受程序或是其他的信息装置上。

用户仅需选择一下频道,信息就会定时地传递到客户端。

⑤ XML片段交互XML Fragment Interchange标准支持由若干实体组成的逻辑文档。

XML片断交互使得客户端可以不用涉及整篇文档,就能在一篇较大的文档中获得文档片断所处的上下文信息。

⑥HTML XHTML2.0 Markup Language是符合XML的HTML文档中的又一个家族。

XHTML文档被设计成可以和XML处理器协同工作。

XHTML文档是结构良好的XML,可以使用标准XML处理器对它们进行查看、编辑或验证。

4 XML的应用4.1 XML在电子商务中的应用我们介绍几种基于XML的电子商务模型[10]:(1)点对点(P2P)的电子商务模型。

用XML定义企业之间交换的信息,然后用XML消息直接进行信息的交换,这种方式是对传统电子数据交换EDI (Electronic Data Exchange)的直接扩展。

典型应用有微软的BizTalk框架。

(2)基于代理(agent)的电子商务模型。

在点对点模型的基础上,增加一个代理程序。

代理程序的作用就是自动在网络上找到有用的信息,并将其转发到本企业的数据库。

典型应用有CommerceNet的eCo架构。

(3)基于门户(portal)的电子商务模型。

企业将各种不同的信息发布到相应的门户上,然后各自根据自己的需求到不同的门户上寻找本企业感兴趣的信息。

另外,各门户还可以实现信息的共享和互联,具有很大的扩展性。

(4)基于web服务的电子商务模型。

Web服务是一种基于标准的应用集成方式,它可以将运行在通过Intranet、Extranet或Internet连接的分布式服务器上的应用集成在一起。

也就是通过互联网的开放标准,实现业务流程的导航、搜索以及与其他应用的交互。

典型应用有基于XML技术和标准的ebXML技术框架。

4.2 XML在网络安全中的应用可以用XML语言来描述web应用层的安全规范。

下面是用XML文件来描述产品编号类型的一个例子,要求编号的形式是三个数字后跟A到Z其中的一个字母,或者是7个数字:<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:xsd="/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:simpleType name="ProdNumType"><xsd:annotation><xsd:documentation>a Product number</xsd:documentation></xsd:annotation><xsd:restriction base="xsd:string"><xsd:pattern value="\d{3}〔A-Z〕| \d{7}"/></xsd:restriction></xsd:simpleType></xsd:schema>4.3 XML用于B2B数据的集成如webMethods公司(基于XML的企业间数据集成解决方案供应商)的D&B Global Access平台,利用基于XML的web界面定义语言WIDL通过API从各种来源收集信息,XML应用程序DGX用作该平台客户端和服务器端之间的交换界面。

4.4 XML与数据库Oracle公司自从Oracle 8i以来就增加了许多基本的XML特征,同样微软公司在SQL Server2000也支持XML的许多特征。

相关主题