分享

XML详解

 非常主体 2006-10-28

简介

可扩展标记语言XML是一种元标记语言,它使用简单灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段.
本文详尽的介绍了可扩展标记性语言XML,其便利之处,特点及应用,全面和详细地将XML展现在您的面前.

Sommaire

前言
1. 何谓标识
2. HTML
2.1.HTML
2.2.HTML
的缺点
3. XML的诞生
4. HTML与XML比较
5.XML构成
6.显示
6.1.XSL
6.2.CSS
6.3.Behaviors
7.XML的独特之处
7.1.
更有意义的搜索
7.2.
开发灵活的Web应用软件
7.3.
不同来源数据的集成
7.4.
多种应用得到的数据
7.5.
本地计算和处理
7.6.
数据的多样显示
7.7.
粒状的更新
7.8.
Web上发布数据
7.9.
升级性
7.10.
压缩性
7.11.
开放的标准
7.12.
微软产品的支持
8.XML的应用
8.1. XML/EDI
电子数据交换
8.2.
化学标识语言CML和数学标识语言MATH ML
8.3.
开放式软件描述格式OSD
8.4.
通道定义格式CDF
8.5.
开放式财务交换OFX
9.开发工具
结语
XML
展望

 

前言

网络以前所未有的速度发展,成为与报纸,广播,电视相比肩的第四媒体.

它需要更完整的语言表达网络内容的内涵.

人们越来越发现HTML这种语言已经远远不能满足网络潜在应用能力的需要.

"可扩展性标识语言"XML的出现,把网络表达语言集合推进了一大步.

下面我们就来详细了解一下这一全新的标识语言..

 

 

1. 何谓标识

SGML,HTML,XML都是标识语言:

SGMLStandard Generalized Markup Language)标准通用标记语言
HTML (Hypertext Markup Language)
超文本标记语言;
XML (Extensible Markup Language)
可扩展标记语言;

最早,标识是文件在排版的时候,用来指示文字如何编排的指令.标识并不处理文件的内容,主要用来处理文件世界的呈现外观,这类的标识称为程序性标识(Procedural Markup). 一般而言,程序性标识的作用都只针对单一文件.

另一类标识称为描述性标识(Descriptive Markup),也称为通用标识.所描述的是文件的内容(content)或结构(structure,而不是文件的呈现外观.描述文件结构的凡是以标识指定结构中的元素(elements XML,SGML都是典型的通用标识语言,HTML就比较特殊了,HTML的标签集(tag set)中的大部分都是用来设定文件在WEB上的呈现外观,少部分描述文件的结构.(如:head, title, body

由于HTMLSGML的一种应用,所以HTML并非程序性标识语言,而是以描述性标识的方式来控制文件的呈现外观.
HTML
的样式是内建的,并不像XML,SGML有分离的样式,所以HTML标识的作用与程序性标识类似,是针对单一文件,并不像XML,SGML有较高的再利用弹性.

. HTML

2.1. HTML

”HTML (超文本链接标示语言)是我们的数据类型” __比尔.盖茨(1996.2) 这句话预示了户联网无可限量的发展前景.

无论是公司,政府机构,还是个人,网络和它最初用以表达信息的方法HTML都获得了圆满的成功,HTML以简单易学、灵活通用的特性,使人们发布、检索、交流信息都变得非常简单,从而使Web成了最大的环球信息资源库。

这样看来HTML可以解决绝大部分问题了,但是,一些独具慧眼的人却已经认识到有必要重新发展一种新的语言,XML.

2.2.HTML的缺点

“HTML只说明数据看起来应该是什么样,而XML则说明数据是什么意思.”

首先,HTML存在很大的局限性, 由于标准的标记已经由W3C预先确定,所以当描述复杂文档时HTML就显得力不从心。
HTML
是面向描述的,而非面向对象的,因此,HTML标记不会给出内容的含义.举一个最简单的例子. h2Apple/h2>这句话在网络浏览器中有特定的表现.但是HTML却并没有告诉我们它倒底是什么.Apple只是一个英文单词罢了.它在不同的环境之下可能会有不同的意义.是一个计算机公司,一个水果,还是一个姓氏?HTML并没有告诉我们Apple具体的内容.

其次,HTML的另一个问题就是它的标记的集合是固定的,用户不能增加自己的有意义的标记。而且各大浏览器的规格不尽相同,要使我们用HTML做的网页能够被所有浏览器正常显示,我们只能够使用W3C给我们定义好了的标记来创建网页。
另外,使用当前的HTML,开发者必须要对文档进行许多的调整才能兼容流行的浏览器。由于浏览器不会去检查错误的HTML代码,因此导致Internet上大量的文档包含了错误的HTML语法。这个问题越来越严重,W3C开始寻找解决办法。会是什么呢?这就是XML

3. XML的诞生

XML,extensible markup language(可扩展标识语言),是当代最热门的网络技术之一,被称为第二代web语言”,”下一代网络应用的基石.”自从它被提出来,几乎得到了业界所有大公司的支持,丝毫不逊于当年HTML被提出来的热度.

XML1986年国际标准组织(ISO)公布的一个名为标准通用标识语言”(standard general ized markup language,sgml)的子集.它是由成立于199410月的W3C(world wide web consoutium)所开发研制的.19982,W3C正式公布了XMLrecommendation1.0版语法标准.XML掌握了SGML的扩展性,文件自我描述特性,以及强大的文件结构化功能,但却摒除了SGML过于庞大复杂以及不易普及化的缺点.XMLSGML一样,是一种元语言”(meta-language).换言之,XML是一样用来定义其他语言的语法系统.这正是XML功能强大的主要原因.

4.HTMLXML比较

与HTML相比,XML具有以下几点技术优势:

比较内容

HTML

XML

可扩展性EXTENSION

不具有扩展性

是元标识语言,可用于定义新的标识语言

侧重点

侧重于如何表现信息

侧重于如何结构化地描述信息

语法要求

不要求标记的嵌套,配对等,不要求标识之间具有一定的顺序

严格要求嵌套,配对,并遵循DTD的树形结构

可读性及可维护性

难于阅读,维护

结构清晰,便于阅读,维护

数据和显示的关系

内容描述与显示方式整合为一体

内容描述与显示方式相分离

保值性

不具有保值性

具有保值性

编辑及浏览工具

已有大量的编辑,浏览工具

编辑,浏览工具尚不成熟

1.XMLHTML都来自SGML.
2. HTML
是一种固定格式的超文本标识语言,因格式固定,标识有限,故难以扩展.XML保留了SGML的可扩展功能,可以定义其他语言,同时XML的标识,用户可以自己定义.
3.XML
提供了一个直接处理”web数据的通用方法,HTML只是web”显示数据的通用方法.
4.XML
着重描述的是web页面的内容”,HTML着重页面显示格式.”
5.XML
使机器能交谈(能自动处理信息),HTML方便了人与人的交流(只是网络初级阶段)
6.XML
具有良好的交互性,它可以在客户机上进行数据操作,不需与服务器交互,极大地减轻了服务器的负担.
7.HTML
不支持深层的结构描述,XML的文件结构嵌套可以复杂到任何程度.

5.XML的构成

XML主要有3个组成元素:Schema(模式)、XSL(可扩展样式语言)和XLL(可扩展链接语言)

Schema规定了XML文件的逻辑结构,定义了XML文件中的元素、元素的属性以及元素和元素属性之间的联系,它可以帮助XML的分析程序校验XML文件标记的合法性;XSL是用于规定XML文档样式的语言,它能在客户端使Web浏览器改变文档的表示法,从而不需要再与服务器进行交互通信;XLL将进一步扩展目前Web上已有的简单链接。

由于XML具有许多HTML所不可比拟的优点,许多公司和组织都提供了对XML的支持。如W3C开发的PICS(theplatformforInternetcontentselection,Internet内容挑选平台)和RDF(resourcedescriptionframework,资源描述框架)、Microsoft的CDF(channeldefinitionformat,频道定义格式)、Netscape的MCF(metacontentframework,元内容框架)等。

6.显示

单独实用XML不能显示页面,因为XML是将数据和格式分离的, XML本身不知道如何来显示,必须有辅助文件来帮助实现.比如CSS或者XSL. (XML取消了所有标识,包括font, color, p等风格样式定义标识,因此XML全部是采用类似DHTMLCSS的方法来定义文档风格样式.), XML中用来设定显示风格样式的文件类型有:

6.1.XSL

XSL是将来设计XML文档显示样式的主要文件类型.它本身也是基于XML语言的.使用XSL,可以灵活的设置文档显示样式,文档将自动适应任何浏览器和PDA(掌上电脑.)

6.2.CSS

CSS,全称是Cascading Style Sheets, 层叠样式表,是目前用来在浏览器上显示XML文档的主要方法.

6.3.Behaviors

Behaviors现在还没有称为标准,它是微软的IE浏览器特有的功能,用它可以对XML标识设定一些有趣的动作.

 

 

 

 

7.XML的独特之处

7.1.更有意义的搜索

数据可被XML唯一的标识。没有XML,搜索软件必须了解每个数据库是如何构建的。这实际上是不可能的,因为每个数据库描述数据都是不同的。例如,有了XML,书就可以很容易以标准的方式按照作者、标题、ISBN序号或其他的标准分类。搜索书就变得十分方便。

7.2. 开发灵活的Web应用软件

数据一旦建立,XML能被发送到其他应用软件、对象或者中间层服务器做进一步地处理。或者它可以发送到桌面用浏览器浏览。XMLHTML、脚本、公共对象模式一起为灵活的三层Web应用软件的开发提供了所需的技术。

7.3. 不同来源数据的集成

现在搜索多样的不兼容的数据库实际上是不可能的。XML能够使不同来源的结构化的数据很容易的结合在一起。软件代理商可以在中间层的服务器上对从后端数据库和其他应用处来的数据进行集成。然后,数据就能被发送到客户或其他服务器做进一步的集合、处理和分发。

7.4. 多种应用得到的数据

扩展性和灵活性允许它描述不同种类应用软件中的数据,从描述搜集的Web页到数据记录。同时,由于基于XML的数据是自我描述的,数据不需要有内部描述就能被交换和处理。

7.5. 本地计算和处理

XML格式的数据发送给客户后,客户可以用应用软件解析数据并对数据进行编辑和处理。使用者可以用不同的方法处理数据,而不仅仅是显示它。XML文档对象模式(DOM)允许用脚本或其他编程语言处理数据。数据计算不需要回到服务器就能进行。分离使用者观看数据的界面,使用简单灵活开放的格式,可以给Web创建功能强大的应用软件,这些软件原来只能建立在高端数据库上。

7.6. 数据的多样显示

数据发到桌面后,能够用多种方式显示。通过以简单开放扩展的方式描述结果化的数据,XML补充了HTML,被广泛的用来描述使用者界面。HTML描述数据的外观,而XML描述数据本身。由于数据显示与内容分开,XML定义的数据允许指定不同的显示方式,使数据更合理地表现出来。本地的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来。CSSXSL为数据的显示提供了公布的机制。

7.7. 粒状的更新

通过XML,数据可以粒状的更新。每当一部分数据变化后,不需要重发整个结构化的数据。变化的元素必须从服务器发送给客户,变化的数据不需要刷新整个使用者的界面就能够显示出来。目前,只要一条数据变化了,整一页都必须重建。这严重限制了服务器的升级性能。XML也允许加进其他数据,比如预测的温度。加入的信息能够流入存在的页面,不需要浏览器发一个新的页面。

7.8. Web上发布数据

由于XML是一个开放的基于文本的格式,它可以和HTML一样使用HTTP进行传送,不需要对现存的网络进行变化。

7.9. 升级性

由于XML彻底把标识的概念同显示分开,处理者能够在结构化的数据中嵌套程序化的描述以表明如何显示数据。这是令人难以相信的强大的机制,使得客户计算机同使用者间的交互作用尽可能的减少了,同时减少了服务器的数据交换量和浏览器的响应时间。另外,XML使个人的数据只能通过更新的布告发生变化,减少了服务器的工作量,大大增强了服务器的升级性能。

7.10. 压缩性

XML压缩性能很好,因为用于描述数据结构的标签可以重复使用。XML数据是否要压缩要根据应用来定,还取决于服务器与客户间数据的传递量。XML能够使用HTTP1.1中的压缩标准。

7.11. 开放的标准

XML基于的标准是为Web进行过优化的。微软和其他一些公司以及W3C中的工作组正致力于确保XML的互用性,以及为开发人员、处理人员和不同系统和浏览器的使用者提供支持,并进一步发展XML的标准。

7.12. 微软产品的支持

微软IE4.0支持通用的XML解析器、XML对象模式和XML数据源对象。IE5Office2000支持许多添加的XML特性和技术。

 

8.XML的应用

正如前面所说,XMLSGML的简化,因此它也属于元语言.可以由使用者自行定义,进而残生出完全符合使用者需求的应用语言.如应用于数学方面的MATHML.应用于向量图的SVG,应用于化学方面的CML,应用于描述网络资源的RDF.

8.1. XML/EDI电子数据交换

EDI(Electronic Data Interchange)是用电子技术代替基于纸张的操作手段,用于公司之间的单据交换。XML的丰富的格式语言可用来描述不同类型的单据,例如信用证、贷款申请表、保险单、索赔单以及各种发票等。结构化的XML文档送至Web的数据可以被加密,并且很容易附加上数字签名。XML的安全保密措施可在EDI的应用中充分显示它的魅力,XML有希望推动EDI的大规模的应用。

8.2.化学标识语言CML和数学标识语言MATH ML

CMLchamical Markup Language)Math ML(Mathematical Markup Language)XML应用于描述化学和数学公式的标记语言。CML可描述分子与晶体结构、化合物的光谱结构等。而Math ML则是数学家的福音,自Web问世以来,数学家们第一次可以使用Math ML将数学公式精确地显示在浏览器上。

8.3.开放式软件描述格式OSD

EDI的命运相仿,软件包的上网发行一直处于试行阶段。OSD(Open Software Descriptipon)XML的一组用来描述各种软件产品的标记集,可以详细说明软件的规格、使用说明以及可运行平台等。

8.4.通道定义格式CDF

通道定义格式CDF(Channel definition format)MicrosoftIE 4.0浏览器中使用的XML数据格式, 用于描述活动通道的内容和桌面部件,指明通道的信息及其更新情况。CDF 使不同平台的互操作成为可能,使Web发布者可以控制推(push)技术。专用的推技术将不再影响不同推技术的互操作性,这样一来,从互不兼容的平台上可以获得相同的Web内容。

8.5.开放式财务交换OFX

OFX(Open Financial Exchange)也是XML的一种标记集,用于描述会计事务所与客户之间的业务往来。使用OFX,客户与会计事务所之间可以直接交换财务数据,包括电子银行和支付协议等说明文件。

9.开发工具

开发XML有许多工具可以使用 ,以下为几种比较常见的工具

1) Notepad 最直接,最简单的文本编辑工具,Windows附件中就可找到.

2) Microsoft XML Notepad 微软专门为设计XML文档而提供的编辑软件,可以借助它验证XML文档的有效性.http://msdn.microsoft.com/xml/NOTEPAD/intro.asp

3) Visual InterDev 该软件是用来开发Web应用程序的,不仅局限于XML,还可以开发ASP.HTML.XSL样式单等等.

4) Micosoft XML Tree Viewer 利用这个软件可以把XML文档的内容用树的结构形式显示出来 http://msdn.microsoft.com/xml/demos/default.asp

5) Microsoft XML Validator 该软件可以检查XML文档是否是格式良好的以及其有效性,并对错误发出警告. http://msdn.microsoft.com/xml/demos/defaul.asp

6) Microsoft XSL Debugger 样式单文件的复杂性使开发人员在编写时容易出现错误,这个软件就是帮助用户调试样式单文件的,把复杂枯燥的调试过程用可视化界面显示出来. http://msdn.microsoft.com/xml/_archive/xsl-debugger/xsl-debugger.htm

7) WorkPerfect 一种对开发XMLSGML提供高级支持的文字处理器,具有所见即所得的开发环境,提供向导,自动化控件的插入和文档的自动生成等功能,它是一款收费的商业产品,支持windows 95/98/2000Linux平台. http://www./

8) SixPack XML的解析和开发提供简洁的界面,支持 Macintosh平台,并公开源代码. http://www./sixpack/info.htm

9) Xray 一种具有实时错误检查的XML编辑器.它根据DTD或者XML Schema,允许用户创建格式良好的XML文档或验证文档的有效性,并且支持多文档编辑,是一款免费软件 http:///xray/

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多