- 注册时间
- 2008-9-11
- 最后登录
- 2020-11-19
- 在线时间
- 63 小时
- 阅读权限
- 200
- 积分
- 0
- 帖子
- 72
- 精华
- 0
- UID
- 1
|
网络技术发展到今天,已经渗透到社会生活的每一个角落。而令网络如此平易近人,为大众所接受,单靠TCP/IP是远远不够的,由此HTML——超文本标记语言便应运而生,并以其简单精练的语法、极易掌握的通用性与易学性,使Web网页可以接近每一个普通人,互联网也才得以普及发展以至今日的辉煌。然而,电子商务、电子图书、远程教育等全新领域如异军突起,迅猛发展并逐渐成为互联网世界必不可少且愈发重要的组成部分,随之而来的是Web文化的复杂化、多样化、智能化,于是高容量、高信息量、高效率便成为网络信息技术发展的追求目标。与此同时,还有另一种需求变得愈来愈发主泛而迫切,那便是同样的数据能否根据不同用户不同需求而以不同的效果、不同的形式表达再现出来。而这一切是HTML所不能满足的。而XML正是可以弥补这此缺陷的。 一、XML介绍 9 D4 ^, H& q% p/ ]1 ]6 }- z
正是由于HTML存在有所不足,人们已经开始研究能改进或替代HTML的Web页面制作语言。其中最有成效的,并已初步投入使用的有:可扩展的标记语言(Extensible Markup Language),简称XML;叠式页面(Cascading Style Sheets),简称CSS;以及动态HTML,即DHTML。这此语言从不同角度解决了HTML存在的问题:XML有利于信息的表达和结构化组织,从而使数据搜索更有效;CSS解决Web页面的继承和显示问题;DHTML则主要用于Web页的动态显示。这时将介绍XML产生的背景,以及它的优越性与应用。 # j9 O6 d; i5 J/ m: N; V
1.XML产生的背景
* s( j# u5 ?3 ^* F5 h w6 o XML同HTML一样,都来自Standard Generalized Markup Language(标准通用标记语言),简称SGML。早在Web未发明之前,SGML就已存在。顾名思义,SGML是一种用标记来描述文档资料的通用语言,它包含了一系列的文档类型定义,简称DTD,DTD中定义了标记的含义,因而SGML的语法是可以扩展的。SGML十分庞大,既不容易学,又不容易使用,在计算机上实现也十分困难。鉴于这些原因,Web的发明者——欧洲核子物理研究中心的研究人员根据当时(1989年)计算机技术的能力,提出了HTML语言。 , w) l/ D4 J6 G
HTML只使用SGML中很小一部分标记,例如HTML3.2定义了70种标记。为了便于在计算机上实现,HTML规定的标记是固定的,即HTML语法是不可扩展的,它不需包含DTD。HTML这种固定的语法使它易学易用,在计算机上开发HTML的浏览器也十分容易。
: S" I, Z8 d/ b. g- s8 ~1 v 正是由于HTML的简单性,使Web技术从计算机界走向全社会,走向千家万户,Web的发展如日中天。 ; v6 y z5 M4 Y9 l6 A+ }2 o- ?
近年来,随着Web的应用越来越广泛和深入,人们渐渐觉得HTML不够用了,HTML过于简单的语法严重地阻碍了用它来表现复杂的形式。尽管HTML推出了一个又一个新版本,已经有了脚本、表格、帧等表达功能,但始终满足不了不断增长的需求。另一方面,这几年来计算机技术的发展也十分迅速,已经可以实现比当初发明HTML时复杂得多的Web浏览器,所以开发一种新的Web页面语言是必要的,也是可能的。 8 x% i* M) b& }3 o
有人建议直接使用SGML作为Web语言,这固然能解决HTML遇到的困难。但是SGML太庞大了,用户学、用不方便尚且不说,要全面实现SGML的浏览器就非常困难,于是自然会想到仅使用SGML的子集,使新的语言既方便使用又实现容易。正是在这种形势下,Web标准化组织W3C建议使用一种精简的SGML版本——XML应运而生了。
. t+ _* C; A5 e5 E" |: ~ 早在Seattle会议之前,Bosak和一些精心挑选的SGML结构信息专家就已向W3C提出了“网络上的SGML”计划。W3C支持并赞助了他们的努力、工作于1996年7月正式开始起动。 1 p5 Z8 F+ j. T( d
在工作的早期,有较大的阻力。这是因为,也存在反对SGML的人,一些制定XML标准的W3C代表甚至声称“网络上的SGML”是不可能实现的。但是工作组(原称“SGML编辑审议委员会”)并没有因此而退缩,他们计划让SGML以全新的面目出现在网上,故给它命名为“可扩展的标识语言”,即XML。 * U+ N( g8 M' q. c# h, U, K* q) H
SGML是HTML的前身技术,它是文件和文件中信息的构成主体。但SGML与HTML有所不同:SGML允许用户扩展tag集合,允许用户建立一定的规则,它所产生的tag集合是用来描叙信息段特征的;而HTML仅仅是一个tag集合,它是用来描述信息段布局的,所以我们说HTML是一个SGML的子集。 $ r ^9 B- _4 ]4 `* G) N; |6 ]) A
XML开发者源于SGML的设计者和应用者,他们已经在SGML上投入了大量精力,但他们却发现SGML并没有完全发挥它的作用。我们可以列举以下几个重要方面,在这些方面SGML带来的可以说是一场革命的影响。
. j( f3 E' _7 M! [# R9 w (1)对EDI的支持
5 y/ L. D# B3 l; z EDI就是电子数据交换,它是网络发展的一个主要目标市场。结构化信息的一个主要 目的就是要使数据交换成为可能。不同的工业都制定本工业统一的模型,就像是不同的国家有着不同的语言,这样便于本国文化的交流。不同的工业内部信息用统一的模型标识,便能方便和高效地共享,这样一个统一的模型就是DTD(文件类型定义)。当然DTD已经落伍了,它正被XML的Schema(模式)所替代。很明显,网络是一个理想的电子数据的集散地,在这里HTML是显然有缺陷的数据形式,HTML不能完全表示不同工业中所需的令人满意的不同模型和它的语义。能不能有一种新的语言来解决这个问题呢?答案就是XML。
$ e) n0 X% n: v (2)对Java技术的帮助 : _% ^. z5 X- l% s6 r
Java技术是本世纪最重要的技术发展之一。Java使浏览器工作时就像在通用的应用平台上,而平台与平台之间却是独立的,但固定的tag集合和HTML语义上的贫瘠使得Java的应用受到了极大的限制。正如前面提到的,在HTML中不同的语义无法表现,故数据元中丰富的信息得不到一种统一的表示,但是XML却能完全胜任这份工作。HTML页面要依赖网络服务器上的CGI脚本来表现几乎每一个编程函数,这显然使服务器工作量太大。有了XML和Java技术,更多的应用软件处理起来将不占用多少网络通信量,这使得网络更加快捷,客户可以同时应用多个应用软件。XML真正使Java有了用武之地。
% N1 T3 T" a0 M (3)信息独立于平台之间 3 I5 t5 G3 N! O9 T# a
SGML作为HTML和XML的前身技术,一直是一种平台之间互相独立的信息技术,这便于指定信息语义的结构。当企业正忙于展开各种各样的信息格式时(比如微软的RTF,Adobe的PostScript和GIF,以及WordPerfect、Lotus、Borland等公司的格式),SGML已先行一步,确定了一套严格一致的、独立于平台之间表达信息的格式。但在20世纪80年代,正当SGML悄悄兴起时,绝大多数工业上的计算机开发者都把目光集中在新的计算机平台上,人们并没有意识到多种私有信息格式可能带来的麻烦。到了20世纪90年代,网络技术崛起之后人们才清醒过来,试图寻找一种解决办法。 y8 X( G6 B7 Z& f
(4)网络上的SGML
; _4 \7 K C+ L' U: c. j SGML已不适用于网络社会的需要。如何使SGML能成功地运用于网络?这一问题被自然而然地提上了当前的议程。1996年8月,GCA(图形通信协会)在Seattle召集SGML开发者们举行了一次会议,会议由Sun Microsystems公司的Jon Bosak主持,论题集中于两大方向:第一,在软件应用中HTML是一种不理想的信息表现格式,讨论的结果是有必要把SGML应用于网络;第二,SGML的某些方面已经落伍了,已成为它广泛传播的障碍,讨论的结果是有必要考虑怎样修补SGML。 & C- ?4 r: E! f3 d0 b& z' R
既然SGML有着多重语义的tag集合,它早就应出现在网络上了。然而具有讽刺意味的是:1996年8月,那个时候在网络上人们热衷的却不是SGML,而是HTML和它的固定的tag集合。
, j* G! b4 O, ]$ b( ?) j SGML开发者们立刻制定了一个紧急修改SGML标准的方案。由于SGML是一个严格而完整的系统,方便软件应用并不是它的首要任务,故SGML中有许多语法语义标准,它们既不方便又开销昂贵,它们必须被修改或是删除。SGML开发者们首先所做的工作就是得到一份SGML中可移给网络的、非关键的结构信息清单,他们可以基于这个清单对SGML进行修改。 0 O/ A) @; F" {2 w# C9 _% ~7 j
工作组制定了一个雄心勃勃的计划来展示XML的特色,计划的实施分三部分: 0 q; S" J7 G" d% F) w( t5 r
·XML的句法; 3 J# ^7 m' X1 ^5 v/ G, j( U
·XLL(可扩展的链接语言),XML的语义链接;
: O7 l4 L8 D3 Z, f: ] ·XSL(可扩展的类型语言),XML的表现。
7 `( i; C2 W/ z- Q. A1 q* v: B XML1.0版本标准由W3C正式批准,于1998年1月10日公布;XLL和XSL的工作还正在进行。 ) y7 L# \4 I" b6 a
2.什么是XML
- [7 Y) K9 H. E2 H9 Y XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记,而允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理Web数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述Web页面的内容。
! O$ e4 R0 L ~4 x) ~2 O* x7 r 为了使编写的Web页面成为有效的XML文档,文档中每一添加的标记必须记入一个独立的CSS(Cascading Style Sheets,层叠样式表)文件中。 # W& Y+ s5 @! p/ H, ?* ?% k, X& O
CSS文件使XML页面能包含更多的内容,表现更复杂的形式。从实例中也可以看出XML页面信息是结构化的,有些与数据库结构类似,因而更具有访问性,其检索结果更有针对性和更准确。
3 _8 g# x2 i6 b9 u1 r2 s# t' ~" p 另外,也可以将URL地址定义在CSS文件中,当Web主页地址发生变化时,只需改动CSS文件中的定义,而不必一一在HTML文档中改变URL地址,从而使Web的维护更方便,用户也不会遇到URL地址找不到的信息,这样一来,Web的应用更稳定。 & K7 a' T7 \+ S
并不是所有的CSS文件都要下载到客户端,已经制定成为标准的协议,例如化学标记语言CML、数学标记语言MML等是不需要CSS文件的。 " w# ~- z2 r+ }. E4 \
除了CSS外,XML中还包括可扩展的风格语言(XSL,Extensible Style Language)和可扩展的链接语言(XLL,Extensible Linking Language)。
( L+ h" X# P Q, U XSL用于将XML数据翻译为HTML风格或其他风格。XSL提供了一种叠式页面CSS的功能,使开发者构造出具有表达层次结构的Web页面来,以有别于XML的数据结构。XSL也能和HTML一起构造叠式页面。XSL可以解释数量不限的标记,它使Web的版面更丰富多彩,例如动态的文本、跑马式的文字。此外,XSL还处理多国文字、双字节的汉字显示,以及网格的各种各样的处理等。 & q/ e( W1 `& O( b0 l
XLL是XML的链接语言,它与HTML的链接相似,但功能更强大。XLL支持可扩展的链接和多方向的链接。它打破了HTML只支持超级文本概念下最简单的链接限制,能支持独立于地址的域名、双向链路、环路、多个源的集合链接等。XLL链接可不受文档制约,完全按用户要求来指定和管理。 9 P/ @8 x. e$ C1 z( l8 g6 x; [! X
原来的链接规范XLL被分为两个不同的规范,即XPointer和XLink。在HTML要链接到一个页面的中间,页面作者必须在那儿加上定位标识符。当使用Xpointer时,可以“取址到”(不是“连接到”)其他人的文本的任何部分。显而易见,这样将有助于工作于法律文件、科学和学术论文,甚至W3C规范。
) i! v* j. X% \ 当用户单击一个HTML超链接时,当前的网页被连接到的文件替代。XLink令web建立者给链接增加行为,例如,现在必须用一些Javascript使在链接处弹出一个独立的窗口,但是XLink让Web建立者对链接进行编码来执行一系列动作,包括弹出一个链接选择的菜单。 ; \. P2 i8 W" b% D- t& E
另一个应用是弹出一个对话框,可能是一个提醒用户它们正要更新数据库的警告。弹出链接选择菜单可能需要用户单击一个框来表示在进一步处理前他们接受义务。现在,实现这样的功能要写许多脚本代码。
8 ]4 k9 O% S, I8 F XML也让Web建立者创建类似Web环工作的Extended Link,Web环是通过“下一个/前一个”行进来导航的自己选择出来的关于相同主题的网站组。对于弹出菜单太长的相关链接站点表,Web建立者可以创建一个链接表,这个表在不同的站点页面时会有变化。用户可以单击一个图标,来自动转移到环中的下一个成员。现在这样的功能需要使用CGI Scripts,而Extended Links提供了一个标准的、非私有的建立资源间联系的方法。 , _+ C" L0 ^3 f8 ?- i% E$ X
但是仍然有更多的问题需要解决,特别是在行为政策方面。必须由一种方法来协调以下三方面的关系:文档作者对链接所建议的行为,用户所喜好的显示链接信息的方式,以及是否忽视和何时忽视用户的意愿的政策。 % a7 B( T; I7 L3 b) q. O2 t9 Z
为了使XML易学易用,XML精简了一大片SGML很少用上一次的功能。正如几十万汉字中常用的只不过八千,SGML常用的部分只占20%,XML抛弃了SGML中不常用的部分,使它一下就精简了80%。这样一来,XML的语法说明书只有30页,而SGML却有500页。 6 P+ ^) f- N ~# H2 B0 t
XML设计中也考虑了它的易用性,易用性来自两个方面:一方面用户编写Web页面方便,另一方面设计人员实现XML浏览器也不太困难。
" I# x4 Y! S F6 t" g# B 总之,XML使用一个简单而灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。HTML描述了显示全球数据的通用方法,而XML提供了直接处理全球数据的通用方法。
( h: ?- ^0 E. |9 C1 ?# z 3.开发者和开发目标 * P* P; `: u' y$ e5 {2 m; O
XML由XML工作组(原先的SGML编辑审查委员会)开发,此工作组由万维网联盟World Wide Web Consortium,W3C)于1996年主持成立。工作组由Sun Microsystems公司的Jon Bosak负责,由W3C组织的XML SIG(special Interest Group,原先的SGML工作组)也积极参与XML工作组的工作。 XML工作组与W3C的联系人是Dan Connolly。 8 a* _% J! i/ v8 [ [
XML的设计目标如下: ) s* ?8 E" f0 B' p2 \5 q
(1)应该可以直接在因特网(Internet)中使用。 ' n# o4 w! n& P
(2)应该支持大量不同的应用。 + i% b3 O# _/ Y, S* ~7 V) V0 ?7 E
(3)应该与SGML兼容。 3 o+ {& Q4 l3 K1 [5 E, h* l
(4)处理XML文档的程序应该容易编写。
7 e; y3 b9 g4 q+ r (5)XML中的可选项应尽可能少,理想状态下应为零。 4 f( ^) S9 d; H2 y0 A0 c! x* G
(6)文档应该清晰明了,可读性强。
9 X% ` H$ v; o. m! T% Z (7)应该易于设计。 ; h: i: u4 K- m3 }0 R _* I
(8)XML的设计应该正式而且简洁。 ! s+ t/ d, U) v/ n! k6 r4 X! ~% ?/ G
(9)XML文档应该易于创建。 % g9 S% w0 D" p. j
(10)XML标记的简洁性较为次要。
# s" d4 N r% n: |* @# c+ n, i8 I2 g 本规范与其他相关的标准一起(Unicode和ISO/IEC 10646定义了字符集,Internet RFC1766定义了语言识别码,ISO 639定义了语言名称代码,ISO 3166定义了国家名称代码),提供了理解XML版本1.0和创建相应计算机处理程序所需的全部信息。 6 J# c g% ~# Z1 V
4.XML的优越性
! G9 ?& o* K$ b1 y3 V" f 从上面的介绍可以看出,XML具有几项优越性,它必将大幅度地改善计算机和网络世界。XML是一种元语言,可以定义其他的语言,并且它的标记是用户定义的,从理论上讲,其类型的数量可以是无限的。XML的前景被人们看好,有人预言在21世纪XML将成为世人皆知的“世界语”。 - j+ r. a1 C) ?9 L- b0 B
由于HTML难以扩展、交互性差、语义性差以及单向的超链接等缺点,使其在电子数据交换、数据库与搜索引擎等领域的应用存在着障碍,而XML的出现就是为了解决这些问题。因此,XML的优越性也主要表现在解决HTML中存在的不足问题。归纳为以下几个方面。
; L9 ?1 N+ s2 b6 ~3 R/ A2 C (1)异质系统间的通信 $ Z* T3 i; `' k! G p
由于计算机世界的无政府性、盲目性,造成当今不同企业之间,甚至企业内部的各个部门之间存在许多不同的系统。大到数百万美元的大型主机,小到掌上电脑,系统和系统之间,常常由于不同的平台、数据库软件等,造成信息流通相当困难。要想在这些异质系统之间进行通信或交换数据,通常需要使用专门的软件。如果哪个系统有一天换装了新的软件,或者甚至升级了软件,都会造成系统之间不能按照原先的方式进行通信,而必须重新开发新的软件进行通信,浪费了人力物力。但是XML出现以后,这些必须依靠特殊软件才能进行通信的系统之间,可以方便地通过XML来做信息交流。XML格式非常简单易读,对于各种类型的资料,不论文档或二元档,都能标注。只要各系统之间安装了XML解析器,便可解读另外计算机传过来的信息,进而加以利用,完成不同系统、不同机型间的通信。有许多优秀的软件供大家免费下载,可以很方便地取得XML解析器。而由于大多数解析器是用Java写的,更使得有Java虚拟机支持的平台都立即成为支持XML的平台。异质系统之间,不用再担心看不懂对方传输的资料格式。有商务来往的公司之间,只要他们都用XML来做中介格式,用不着也不需要知道对方内部是采用何种格式来存储文件,从而可以准确无误地进行通信。如此一来,由于XML提供了一个理想的缓冲层,故某个系统内部的更改并不会影响和它进行通信的其他系统。对于商业界来说,XML的这一异质系统间通信功能意义最大。很多人认为,XML这项利于资料交换和传递的特性,将会对电子商务,尤其是所谓的b2b(business to business)公司对公司的商务,带来革命性的冲击。 9 b- V# r4 j- k! x/ }, z7 G
(2)更有意义和更准确的搜索 ! E% {2 ]) C- i9 I" x/ T9 d
数据可被XML唯一地标识。没有XML,搜索软件必须了解每个数据库是如何构建的。 " f3 f8 F* k' u0 t+ w
这实际上是不可能的,因为每个数据库描述数据都是不同的。有了XML,例如书就可以很容易以标准的方式按照作者、标题、ISBN序号或其他的标准分类,搜索书就变得十分方便。所以XML提供了更有意义的搜索。 F% u; l* ^5 o6 e# O [, ^
XML的标签含义丰富、意义明确,明白地提示所标记的内容,从而让搜索依靠标签和内容之间的依存关系来准确地定位,找到目标,完成任务。所以,XML可以提供更准确的搜索。
& U( }4 g9 N4 x- b5 n6 b (3)开发灵活的Web应用软件 9 ~0 \+ R8 `" _1 M# \$ o
数据一旦建立,XML就能被发送到其他应用软件、对象或者中间层服务器做进一步的处理。或者它可以发送到桌面用浏览器浏览。XML和HTML、脚本、公共对象模式一起为灵活的三层Web应用软件的开发提供了所需的技术。
: t* g4 s5 D Z5 L; j a.集成不同来源的数据 4 B# u$ Y6 y9 a
现在搜索多样的不兼容的数据库实际上是不可能的。而XML能够使不同来源的结构化数据很容易结合在一起。软件代理商可以在中间层服务器上对从后端数据库和其他应用处来的数据进行集成。然后,数据就能被发送到客户或其他服务器做进一步的集合、处理和分发。
3 r0 T0 b/ L7 Y. J0 ~9 h t7 q b.多种应用得到的数据
0 t- Y7 [* d( a0 m; m% d3 X XML的扩展性和灵活性允许它描述不同种类应用软件中的数据,从描述搜集的Web页到描述数据记录。同时,由于基于XML的数据是自我描述的,数据不需要有内部描述就能被交换和处理。 3 ~/ X3 N( {, g- O$ Q6 g+ s3 v
c.本地计算和处理 / O$ Y, s) O0 V# [8 i$ [
XML格式的数据发送给客户后,客户可以用应用软件解析数据并对数据进行编辑和处理。使用者可以用不同的方法处理数据,而不仅仅是显示它。XML文档对象模式(DOM) ) L. q9 M( c" b# b# W
允许用脚本或其他编程语言处理数据。数据计算不需要回到服务器就能进行。分离使用者观看数据的界面,使用简单灵活开放的格式,可以给Web创建功能强大的应用软件,这些软件原来只能建立在高端数据库上。
4 ^: g; N# _& j! a" M/ G d.数据的多样显示
8 Y6 Y, B6 y! {3 c a" Z: [ 数据发送到桌面后,能够用多种方式显示。通过以简单开放扩展的方式描述结果化的数据,XML补充了HTML,被广泛地用来描述使用者界面。HTML描述数据的外观,而XML描述数据本身。由于数据显示与内容分开,XML定义的数据允许指定不同的显示方式,使数据更合理地表现出来。本地的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来。CSS和XSL为数据的显示提供了公布的机制。
( L6 d0 M: O; Z, p6 { @9 W& l e.粒状地更新 4 v; Y* C6 R |! }
通过XML,数据可以粒状地更新。每当一部分数据变化后,不需要重发送整个结构化的数据。变化的元素必须从服务器发送给客户,无需刷新整个使用者的界面就能够显示变化的数据。目前,只要一条数据变化了,整个一页都必须重建。这严重限制了服务器的升级性能。XML也允许加进其他数据,例如预测的温度。加入的信息能够流入存在的页面,不需要浏览器发送一个新的页面。 9 x. e" B$ e7 Y
(4)在Web上发布数据 ' ^" v$ r( X) k9 l1 H& d4 v! l
由于XML是一个开放的基于文本的格式,它可以和HTML一样使用HTTP进行传送,不需要对现存的网络做任何改变。 a% M, f' z4 U4 ^4 P
a.升级性
! Y! N7 |6 X) ~" ]: }- K- E x 由于XML彻底把标识的概念同显示分开,处理者能够在结构化的数据中嵌套程序化的描述,以表明如何显示数据。这是令人难以相信的强大机制,它使得客户计算机同使用者间的交互作用尽可能地减少,同时减少了服务器的数据交换量和浏览器的响应时间。另外,XML使个人的数据只能通过更新的布告发生变化,减少了服务器的工作量,大大增强了服务器的升级性能。
! b t1 t, c8 e: G8 P b.压缩性 6 f& |1 U$ _( L) G
XML压缩性能很好,因为用于描述数据结构的标签可以重复使用。XML数据是否要压缩需根据应用来定,还取决于服务器与客户间数据的传递量。XML能够使用HTTPl.l中的压缩标准。 " I& w$ {+ a% Q. \
(5)开放的标准
% V9 H; I, h6 z, y+ W XML基于的标准是针对Web进行过优化的。微软和其他一些公司以及W3C中的工作组正致力于确保XML的互用性,以及为开发人员、处理人员、不同系统和浏览器的使用者提供支持,并进一步发展XML标准。
4 W6 ^! S$ _2 G7 V XML包括下列一套相关的标准。 7 t, Q5 H* L; ?2 S6 @
a.可扩展的标记语言(XML)标准。
' s1 E7 i. O9 G9 u& K 是由W3C正式批准的。这意味着这个标准是稳定的,完全可用于Web和工具的开发。
: a/ D4 a x9 `8 b! ]: m! Z b.XML名域标准。 ! S( _, ?' C6 {/ r
用来描述名域的句法,支持能识别名域的XML解析器。一个XML文档可能包含被不同DTD或其他机制定义的元素和属性,这就难免产生识别和冲突的问题,MLNamespaces使用URL机制来解决这个问题。最新的版本可在http://www.w3.org/TR/REC-xml-names下找到,最近的版本是 http://www.w3.org/TR/1999/ REC-xml-names-19990114。
" g! s7 e7 y' `6 J; C c.文档对象模式(DOM-Document object Model)标准。
6 l; _2 u" H, L5 K 为给结构化的数据编写脚本提供了标准,这样开发人员就能够基于XML的数据同计算机进行交互作用。对文档结构的标准化的内部表示,目的是让编程人员可以方便地访问文档的元素,删除、增加和编辑文档的内容、属性和风格等,其最大的特点是平台独立性和语言中立性。
% S! u: x+ _4 J d.可扩展的风格语言(XSL)标准。 0 [8 I$ u: E/ v
这是一个工作草案。XSL包含XSL转换语言和XSL格式化对象两个模块。转换语言可用来转换XML以满足显示要求。由于XSL的两部分是模块,转换语言能够独立用来进行多用途的转换,包括把XML转换成结构完整的HTML。CSS可应用于结构简单的XML数据,但不能以不同于信息如何传递来的方式显示信息。
+ G3 z- l7 w6 c b e.层叠样式表(CSS-Cascading Style Sheets)标准。
8 l5 Y8 n4 i" E0 M3 \% D 这是另外一种格式化描述语言,主要用于HTML,但在不需要XSL进行转换的情况下,XML文档可以使用CSS。 6 ?* e# @1 Q% S& t5 _( X+ y2 Z
f.可扩展的链接语言(XLL-XML Link Language)标准和XML指针语言(Xpointer-XML Pointer Language)标准是当前的工作草案。
7 L3 F7 {; V- d& l- s5 m XLL提供类似于HTML的链接,但功能更强大。例如,链接可以是多方向的,可以存在于对象上而不仅仅是页面上。IE5不支持XLL。XPointer是关于XML文档的内部结构寻址标准,它是建立在XPath的基础上一种语言,而HTML中相应的机制是片段标识符。
3 V8 V7 x4 L3 n L. [) _ g.XML路径语言(XPath-XML Path Language)。 3 f% Y& D/ O$ r5 c6 L' P
为XSLT和XPointer提供了一种公用的语法和语义机制,用于XML内部结构寻址。
3 O# E" Q& y' u) I) a $ q/ f' i0 W, w+ C
h.资源描述框架(RDF-Resource Description Framework)标准。 6 @! L; `' E4 _/ V, ~0 t
这是关于元数据的标准,它是处理元数据的基础。RDF十分强调Web资源的自动处理,可应用于多个领域,如搜索引擎,资源分类编目,知识共享及交流,网页的著作权描述等。该标准引进了一个表示元数据的模型以及用于编码和传输元数据的语法规则,其中语法由XML表达,因此XML和RDF是互为补充的。
# I, i+ d! v* p i.RDF Schema(Resource Description Framework Schema)标准。
" Z- J/ o& a7 ]3 l( D RDF定义了一个用命名的属性和值的方法来描述资源间关系的简单模型,RDF的属性值代表资源间的关系,这类似数据库技术中的E-R图。但是,这个模型既没有提供声明这些属性的机制,也没有提供定义这些属性和资源之间关系的机制; RDF Schema现在承担这个任务。 ( ]' }$ B, L/ o% i
j.XML Schema标准。 9 t) y1 `" Z, k( C& C' F6 c- Y/ ~$ x
对XML文档的结构进行描述和对内容进行限制的语言,它包含XML的DTD提供的全部功能,并有所扩展,它本身用XML来表达。目前的版本由XMLSchema Part1:Structures和XML Schema Part2:Data types两部分组成。
# B0 X* Q, V5 q( R8 M k.Canonical XML标准。
6 W: x* O: {- u0 U" J$ v/ k 对XML文档进行规范化的标准。两个外在表现形式上(如实体结构、属性的顺序和字符的编码等)不同的XML文档可能在许多应用中是等价的,称之为“逻辑等价”。 Canonical XML就是一个将XML文档转换为其“逻辑等价”的规范化的XML文档的语法规则。 / V% x( W) X' N+ _2 I: D( B9 ^
l.XML Signature Core Syntax and Processing。关于XML数字签名的语法和处理规则。 4 [& n% u. K# [, b) Q
它提供了一种对XML文档和其他Internet资源进行数字签名的机制,这种签名是用XML来进行编码的。 ) J7 } ~) H* f* H& g3 L
m.XML Fragment Interchange。 # O, L& C6 [0 D2 {& O- S0 _- h- [
XML标准支持可能由多个实体组成的逻辑文档,一个用户可能想浏览或编辑其中一些实体或实体的部分内容,但对文档的其他部分没有兴趣和需求。 XML Fragment Interchange提供一种机制来传输用户需要的片段及片段所在的上下文关系。
2 `, b/ T" N5 z/ }; @! q" N3 } n.XML Informaion Set。 4 v C6 a% b4 m# |9 ^) ~
关于XML信息集的标准。XML信息集是一个抽象的数据集,是对一个成形的(well-formed)XML文档可包含的信息的描述。 & P7 g; Q V$ G, r8 Z
在这里我们不可能将所有的标准都—一列出,它们大部分都还在制定之中,W3C目前甚至还没有关于它们的工作草案,如XML Syntax、XML Query等。相对于HTML来说XML是一个更庞大的家族。 ( x+ i! q3 j1 M: s; i* ]% E
(6)得到微软产品的支持
7 q' s2 E( v2 l 虽然现今人们痛恨微软在计算机界的垄断地位,但不得不承认其领导地位和对计算机发展方向的影响,因此能得到微软的支持是一种语言或者一种标准能否得到广泛推广的重要因素。微软IE4.0支持通用的XML解析器、XML对象模式和XML数据源对象。IE5和office 2000支持许多添加的XML特性和技术。 7 n& K; m; g) d& D7 ?( q* Q/ _
5.XML的应用 ) I9 ^0 F# @3 G0 \/ }. J% z7 P
最初XML的目标是让各种结构的文件都作为统一的网络文件的一部分在网上传输,过去这些文件是用HTML实现的。HTML允许指定明确的元素类型说明,比如特定的商品标号、文档标识,或者可测量的数值。和HTML相比,XML允许客户定义他们自己的文件元素集合,同时也可以指示这些元素在屏幕上如何按指定的要求显示。
5 e0 y3 n$ y" u: J, i% E 在早期,为了解决怎样在固定的目标之间传输数据元,XML被定义为一种自然的编码形式。在考虑一些方案之后,一种称为RDF(资源描述框架)的方案备受青睐。RDF为XML提供了数据元编码定义,它就像是一个公用的翻译器,为不同的固定目标之间的数据提供翻译。 ! `! ]) ]6 Q% b7 f+ j8 n
XML将支持更加专业的数据语言,比如说OSD(开放软件描述)。 OSD是由Microsoft和Merimba提出的一种新的格式描述语言,在这种格式下,软件在网上能时时检查和时时刷新版本,而不是等用户自己更新,或是由软件提供商提供类似的服务。当OSD镶嵌于XML支持的CDF(频道定义格式)中时,OSD更能使支持频道的桌面自动地更新。 8 m' Z% z( @& e5 i/ D6 L
正如前面提到的,XML的一个主要目标市场是电子商务。传统EDI(电子数据交换)机制依靠不同商业之间的强大计算机系统来实现压缩的信息传输,每一条信息在传输之后才能使用,提供给用户之前都必须编码。电子商务在网上运作时,用户端每填完一个HTML表格之后都要把表格返还给初始的服务器处理。产品交易、谈判签约、后勤管理、税收报表等等这一些活动的数据处理都集中在一端。可以预见,有了XLL所链接的行为控制机构和XSL所提供的客户端评价功能,将来的数据可以从屏幕上抓取,有必要的话可在客户端处理,在处理数据时传输给相关用户而不必改换数据格式。一个类似的协议是OTP(开放网络贸易协议)。它的草稿最初是于1998年1月发布的,这个协议的制定是为了满足在网上,消费者和销售者之间交易时消息的传输。它同时也允许第三方,比如说供货商、市场评估机构、消费者保护机构等来参与使用。
, F! i" V' U, A, E5 J* z9 x& L# a: J 良好的数据存储格式、可扩展性、高度结构化、便于网络传输是XML主要的四大特点,它们决定了其卓越的性能表现。由于XML能针对特定的应用定义自己的标记语言,这一特征使得XML可以在电子商务、政府文档、报表、司法、出版、协会、CAD/CAM、保险机构、厂商和中介组织信息交换等领域中一展身手,根据不同的系统、厂商提供各具特色的独立解决方案。
. R4 t6 [1 g1 B/ q XML的应用弥补了HTML的不足,总的说来XML在网络上的应用可分为如下四类:
% ?/ C Q4 @1 r, f( O (1)应用于客户需要与不同的数据源进行交互时。 6 K; P' [1 w( `8 F+ e
数据可能来自不同的数据库,它们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进行交互,那就是XML。由于XML的自定义性及同扩展性,它足以表达各种类型的数据。客户收到数据后可以进行处理,也可以在不同数据库间进行传递。总之,在这类应用中,XML解决了数据的统一接口问题。但是,与其他数据传递标准不同的是,XML并没有定义数据文件中数据出现的具体规范,而是在数据中附加tag来表达数据的逻辑结构和含义。这使XML成为一种程序能自动理解的规范。 9 J( D: a! O) V- s `
(2)应用于将大量运算负荷分布在客户端,即客户可根据自己的需求选择和制作不同的应用程序以处理数据,而服务器只须发出同一个XML文件。
; m5 ^& I- n* U1 Z) F 仍以上例说明,如按传统的“客户/服务器”工作方式,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应的不同程序、假如用户的需求繁杂而多变,仍然将所有业务逻辑集中在服务器端是不合适的,因为服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上需求的变化,双方都很被动。应用XML则将处理数据的主动权交给了客户,服务器所做的只是尽可能完善、准确地将数据封装进XML文件中,正是各取所需、各司其职。XML的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。
4 f0 {6 _- X8 P2 Z+ y (3)应用于将同一数据以不同的面貌展现给不同的用户。 8 T3 }5 }$ E: S; `
这一应用也可在上例中体现出来。这又类似于同一个剧本,我们可以用电视剧、电影、话剧、动画片等不同形式表现出来。这一应用将会为网络用户界面个性化、风格化的发展铺平道路。
; T( S' Q5 R% u& x8 S (4)应用于网络代理对所取得的信息进行编辑、增减,以适应个人用户的需要。有些客户取得数据并不是为了直接使用,而是为了根据需要组织自己的数据库。 9 Q- }+ ~$ c j4 X
例如,教育部建立一个庞大的题库,考试时取出题库中的若干题目组成试卷,再将试卷封装进XML文件;接下来便是最精彩部分,在各个学校让其通过一个过滤器,滤掉所有的答案,再发送到各个考生面前,未经过滤的内容则可直接送到老师手中;当然,考试过后还可以再传送一份答案汇编。此外,XML文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需几个小程序,同一个XML文件便可变成多个文件传送到不同的用户手中。
3 U, Z: u- e. M' n 综合以上四种不同类型的应用,我们可以做一个总结:XML其实源自一种“数据归其主,用户尽其欢”的哲学。具体说来便是数据制作者并不考虑日后这些数据具体会有哪些用途,只是尽量全面地考虑今后有可能会被用到的信息,并将其完整、规范地制作成XML文件,服务商则不会被拘禁于特定的脚本语言、制作工具及传输引擎的囚笼内,而去提供一种标准化、可独立销售、有级别操作的领域,在那里不同的制作及传输工具将各显神通,一决雌雄,从而极大限度地满足客户的需求,成为“最信得过”的服务商。 s1 f; U8 M- c& f8 G
XML的诸多优点及先进性实在令其光芒四射,备受网络开发者的青睐,微软、IBM、Oracle等在计算机业界举足轻重的公司都对它的前景看好,大有得XML者得天下之势。尤其是微软公司行动如疾风闪电,XML1.0则一出笼,它便急不可待地支持,未来的Office 2000、Windows 2000都将完全采用XML格式,而微软IE 4.0还支持通用的XML解析器、 XML对象模式和XML数据源对象。IE 5和Office 2000支持许多添加的XML特性和技术。商业公司如此,国外的研究机构更加热情,如W3C(万维网联盟)、http://www.gca.org/、 http://www.irt.org/等等,各类XML站点更如雨后春笋,层出不穷。W3C正在号召全世界的开发人员共同对XML进行定义和开发。XML正走着与LINUX相同的发展道路,但它正在这个网络时代产生,势必会比LINUX更加成功。
. s' t/ k2 l! y) f# [0 \1 s7 c. R 二、XML与其他相关语言或标准的关系 0 z2 ~4 u# B. M4 W, Z
在阐述了什么是XML及其产生的背景、优越性和应用领域的基础上,这里将简单介绍XML和其他相关语言或标准的关系,例如和Java、C++等语言的关系,Netscape和Internet Explorer是如何支持XML的等等。读者只有理解了它们之间的关系才能准确把握XML。
# [( q# z9 l$ e: h* V5 W9 f% b, S ] 1.SGML、HTML和XML之间的联系 - g- P% K+ o8 [' Z! j5 a) \- L) ~+ k
SGML是在文字处理应用中表达数据的一个方法。它已经出现十多年了,XML和HTML都是从SGML发展而来的文档形式。因此,它们都有一些共同点,如相似的语法和带括弧的标记符的使用。但是,HTML是SGML的一个应用,而XML是SGML的一个子集。
0 o s2 I- U. O( x2 P" s 把XML和HTML之间的区别理解透彻是非常重要的。HTML基本上不能用来定义新的应用,而XML可以。例如,Resource Description Format(RDF)和Channel Description Format(CDF)都是使用XML定义的应用。 3 x' y3 l/ I! U# N
至于XML和SGML之间的关系,主要在于它们是兼容的。XML文档可以通过任何SGML制作或通过浏览工具阅读,但是XML比SGML要简单得多,它是设计用于有限带宽网络的,如Internet。XML规范的合作者Tim Bray说,XML的设计出发点是取SGML的优点,去除复杂的部分,使其保持轻巧,可以在Web上工作。
: H( c9 S d+ _6 f! F! H7 } 阅读了前面的内容后,您可能会提出这样一个问题:“既然XML有这样那样的优势,那么HTML和SGML是不是就没有存在的必要了呢?”答案是: HTML、 SGML和XML将会继续用于其合适的地方,它们中的任何一个不会使其他一个废弃。HTML仍是在Web上快速出版数据的最简单方法,大部分短期的数据,如会议议程或广告宣传册,用HTML来发布更好。如果数据会长期使用,并且需要更多的一些结构,那么Web建造者将愿意使用XML。不同于HTML和XML,SGML因为它从来没有为某个网络协议的需求而设计或优化过,可能永远不会在Internet上被广泛接受。对于高端的、复杂结构的出版应用,SGML将继续适用。 k( u; z" P Z
2.XML和Java的关系 , Y7 | P6 x V4 k7 d# z# B$ t$ L# H7 Q
XML在许多方面增强了Java,然而XML也发展了一种对象传输协议,该协议与Java声称的跨平台性格格不入。XML将基于网络的信息置标化,使得开发者和电脑易于辨认。这是有必要的,因为HTML除了隐藏的URL外缺少有效的途径来说明内容的含义。XML的目标就为网络的对象添加那些含义,而这曾经就是Java的任务之一。
1 g! B2 p6 M( r& f( ?+ D) Y, n Allaire产品市场部主任Adam Berrey曾宣称:“XML让开发者能够在建立网络应用和Java系统之间选择。”现在开发先进的网络应用的所有需要仅一台客户机(Client)而已,它获取XML信息后直接提交给客户端浏览器。因此,基于Java虚拟机(JVM)的客户机不再是惟一的选择。 ( o1 d2 B" r9 M( }
GemStone Systems市场部副总裁Doug Pollack预言:“XML将最终消除在客户端建立Java虚拟机的必要。”推动Java的Sun公司承认,没有Java虚拟机XML也能与客户端通信,但是他认为XML需要Java来发挥它的潜力。 6 K! X8 [/ K) B- O
而Sun公司XML产品经理Nancy Lee认为:XML不能单独使用,它是对Java的完善,Java为XML提供易于使用的代码,XML为Java提供数据。
$ B1 M6 ?$ D9 O" G. ^ XML能创建不依赖于平台、语言或限制性格式化协定的开放数据。如果广泛地被采用,XML能变成内容平台以及下至客户端对象通信的广泛标准。这似乎十分类似Java,至少作为内容平台。正是XML这样一种角色吸引了一问鄙弃Java的微软公司。微软公司XML产品经理Dave Wascha认为: XML能在不同平台间交换信息,它不会与跨平台的应用程序混淆不清。
+ Q3 @2 {* o) A( X* h5 U' a 但从许多方面来讲,事情并不在于选择Java还是XML。许多网络开发者得出的结论是XML和Java是完美的一对,因为彼此相辅相成。XML有助于独立平台、易提取信息的文档和数据;而Java有助于独立平台、易于处理的面向对象的应用软件解决方案。 ; U6 N0 Q1 P: v0 B1 X* l
能驱动XML广泛接受的应用是在HTML的限制下难以实现的那些应用。可分为下列的四大类:需要网络客户端协调多种不同类型数据库的应用;力图将比例可观的处理工作从服务器端分布于客户端的应用;要求客户端将同一数据以不同的形式展现给不同的使用者的应用;智能网络代理应个别用户的需要搜索定制信息的应用。 - p) S5 g9 v, U: b; i V t
SilverStream软件公司主席和创始人David Skok说:正在利用XML和Java结合来进行开发,两者能完美地相互补充。剑桥大学Forrester研究中心分析研究员Eric Brown也认为缺少XML的Java战略是不全面的。这很符合IBM(同时支持XML和Java发展的强大后盾)似乎在考虑的想法,IBM公司XML和Java市场发展负责人Simon Phipps认为XML和Java是并行和共生的。在新的千年里,两者都将是计算处理的关键技术。 e7 F7 S; V+ L
3.RDF和XML的联系 7 `$ ^) }8 G' E, s$ T9 J7 [
如果XML具有说语言的能力,那么XML应用软件就是特定的语言。资源描述格式(Resoure Description Format,RDF)是一个使用XML语法的数据建模语言的应用程序。
, e" a/ `' v3 _, [$ l RDF是描述和访问数据的一个方法,这意味着RDF是关于数据的数据,或者说元数据。在Web中,这些元数据将被用于建立标准的站点地图,建立更精确的搜索结果和分层次的主题索引。RDF也允许智能书签,当被索引的网页变化时,书签随之发生变化。如果跟踪内容定期更新的站点,比如CNET的NEWS.COM,那么将是很有用的。 ; m; z+ R% C2 s" R: z7 B: k) m
对于网站建造者,建立可被搜索引擎引用的其网站内容的元数据并不困难。我们很快就会有商业化的软件来自动产生给定站点的RDF文件。
! f+ N+ Y6 c$ O4 O0 u XML元数据也将活跃于描述和评估数据的市场,有许多评级机构在网上出现,他们评估一切数据,从保护孩子安全的站点到最佳电影或葡萄酒站点。RDF描述和评级机构可以使用的等级语法,人们将选择有他们感觉最合适的词汇表的评级机构,词汇表指的是评级机构给不同类型内容评级使用的一套特别术语。
; }- V$ a6 p; u% Q5 k! ~5 d 4.OSD和CDF与XML的关系
$ g8 A" g+ J8 ^# p9 {6 h6 }7 k Channel Definition Format(CDF)和Open Software Description(OSD)是微软支持的两个XML应用。通过其XML解析器,微软的Internet Explorer 4.0读CDF文件来驱动和控制push频道所带来的页。根据用Resoure Definition Format(RDF)所做的工作,CDF提议最近又上交给了W3C,以利用RDF的能力来显示不同数据元素之间的联系。Open Software Description是用于描述软件部件的词汇表,带有语法,如从属、版本和平台。OSD描述如何表现一个部件的特性,以及如何将该部件安装到计算机上。它可以用于下载一个完整的软件包,但是它主要设计用于不断增加的更新。OSD单独工作或和CDF一起工作来定义应用频道。 ' u) q, O2 a: x- Q! J
5.Netscape浏览器中如何实现XML
& ^4 x' ^, U$ s/ ~# k+ y Netscape将在Communicator/Navigator 5.0中以一个代号为Aurora的交付部件来支持XML元数据。Aurra利用RDF来获得Netscape所说的“桌面信息全面集成”。Aurora在网络、桌面和数据库之间查找和管理信息,它将在桌面上以“窗口”菜单的界面出现,会聚集指向当前项目、研究主题或日常活动等资源的指针。RDF使Aurora的导航条指向不同数据类型(文字处理文档、表格数据、电子邮件消息、数据库内容)的本地文件,也指向Internet或Intranet服务器上的资源(搜索和查询的结果、书签链接等)。 1 |! B, a6 g) s8 K( C9 k1 r, Q5 ~# z
一个读取RDF的XML解析器将是 Netscape 5.0 浏览器的一部分,并且在最终产品交付之前会出现在某个beta版本中。除了这个初始的RDF实现,Netscape正计划将一个通用的XML解析器包含在浏览器中,而其浏览器可以和其他的XML应用软件一起工作,比如Shakespeare markup(一个早期的XML应用软件)、Chemical Markup Language(CML)和MathML(一个正成为W3C推荐的数学标记语言)。
% e) s+ B6 m0 t9 T0 C Netscape原理工程师R.V. Guha说:“我们要使Navigator成为一个XML平台”。Guha原来开发过MCF(MetaContent Format),MCF后来加入了RDF规范。
, L) V# Y% C6 q$ X) b 6.Microsoft浏览器中如何实现XML
( b+ _9 o: |9 [1 T$ l. H 微软的Internet Explorer 4.0是第一个实现XML的Web浏览器。微软提供了一对XML处理器:浏览器所携带的用C++写的解析器,一个Web建造者可以从中下载和加入他们自己应用程序的Java解析器的源代码。 + T& ?- c+ \; @9 E1 c* q& Y
Java解析器是一个有效的解析器,就是说它根据一个文档类型定义(DTD)或schema来进行检查。为了提高性能,浏览器所带的C++版的解析器是一个非常有效的解析器。
; U2 o7 Y$ F, Q; s8 w( X 据微软的产品经理Steve Sklepowich称,这两个解析器都是通用的,因为它们不依靠特定的XML应用,例如Channel Definition Format。由于XML数据和其表现分离,一个Web浏览器本身实际显示XML的能力需要style sheet,例如XSL(Extensible Style Language)。同时,微软使用了它所称的XML Data Source Object,或叫XML DSO。它应用了动态HTML的数据捆绑能力,将一端的XML数据和另一端的HTML数据相链接。IE 4.0访问XML文档,从中查询数据,然后作为HTML显示出来。 $ j5 E8 S: g( Q$ Z+ O8 ]
微软也使用了XML object Model(XML OM)来让开发者与浏览器中的XML数据进行交互。它的实现是通过将HTML作为基于Document object Model(DOM)的对象显现,尽管HTML和DOM并非直接兼容,DOM会让脚本和程序访问结构化的XML数据。
6 `, y1 E3 V- |- ?+ [$ g, } SklePowich说:“虽然目前在微软XML的重心在浏览器上,但是XML将最终出现在任何HTML已经出现了的地方”。Bill Gates已经公开宣布微软0ffice未来的版本将支持XML,而且公司也计划支持电子邮件包和制作XML工具的标准。 S6 B8 `& f% \* r) R3 k: L1 G
三、学习XML语言的准备工作
; q1 I/ q. m# d a 在这部分中,首先介绍在学习XML之前应基本掌握的知识,要想成为网页制作高手,这些知识是最基本的。然后介绍在编写网页时可以使用哪些XML编写软件来帮助我们快速地制作网页。
5 K, f! K; Q( B4 }- o7 x 1.必备知识
" Q2 {% M7 b7 g 下面这两个方面的知识是我们在学XML之前应该基本掌握的知识,如果想要制作漂亮、功能完善的网页,必须熟练掌握这两个方面的知识。
8 n; m6 c; e z( U$ y* L (1)WWW、HTML和有关网页的基本常识
7 n5 z4 m7 _2 K 要想制作网页,当然首先要掌握万维网和网页的一些基本常识,特别是HTML。事实上,如果很熟悉HTML,那么再来学习XML就会很省劲,因为HTML和XML有许多相同之处。
2 S% `6 s* m _ }# m# B (2)几种常见的网站脚本语言 " Z% I) m) s, Q9 M4 u5 p# A
例如,Javascript和VBScript。另外,如果想成为网页制作高手,还必须有ASP(Activ Server Pages)方面的知识。
# [; C, \0 Q; U+ e 2.编写XML的工具
: C0 G R1 o8 g& }$ V 幸运的是,Web建立者不用完全靠他们自己从头开始创建XML了。市场上已经有了创建、管理和发送XML的工具,并且一些公司正在积极进行开发。
* Q& m( c% J. H. z6 B- Q (1)Adobe & n+ j6 o6 e3 v. [! l- B4 G6 c4 s
1998年中期,Adobe公司介绍可以输出到XML的FrameMaker和FrameMaker+SGML的过渡版本。这些产品的完整版本将能够输入XML。Adobe公司有一名代表在W3C的XML工作组,Adobe公司也参与了XLink、Cascading Style Sheets和RDF的工作,所以我们可以期待这些技术将在Adobe公司未来的产品中出现。
4 R. z: h1 I2 z6 s( r. f) o' T# J (2)Allaire 4 ~. C# s1 `9 b; j
HomeSite 4.0和Cold Fusion 4.0将支持XML,包括style sheets。 Homesite 3.0中已经提供了一个CDF附加软件。 - t# p3 P$ Z3 V3 Q! f& R, ]- }
(3)3ArborText
, o( L/ c8 b8 ^, n* d5 g3 K 在SGML领域内长期工作的ArborText公司发布了XML styler,它是一个免费的基于Java的XSL编辑器。它的图形用户界面可以让我们不用知道XML语法就能进行编辑。将来,ArborText公司会把XML styler集成到Adept中,Adept是该公司给打印出版物提供的XML制作工具。
L1 l" w: M# L (4)DataChannel
! _/ W ], f3 A3 y8 n 这是一个免费的、基于Java的有效解析器,称为DXP(DataChannel XML Parser,基于Norbert Mikula著名的NXP)。可以从该公司的Web站点获得。该公司新发布了免费的XML工具包和XML开发环境,它包括了一套部件,帮助人们开始学习和应用XML。
& z8 A6 I4 Y1 I7 j1 | (5)Inso % ^) o" R! @+ w& l4 o- _
该公司提供它称为“首个集成的端对端的创建、转换、存储、管理、索引、查询XML内容,将其发布到Web、CD-ROM和打印机上的出版解决方案”,其产品包括DynaTag 4.0、DynaBase 3.0、DynaText 3.1和所附的工具DynaWeb。 6 J9 ]: c7 M4 O {+ `4 c' q6 E
(6)IntraNet Solutions
* p5 j; \1 ^9 ?' M% x. F+ Q. V N 这是Intra.doc Menagement System的下一版本,IntraNet Solution的基于Web的文档管理系统将会管理XML部件和文档之间的关系,提供和第三方XML制作工具的集成链接管理,完善在浏览器中XML对象的使用,并在Intra.doc存储库和XML编辑器之间提供一个交互的元数据模型。 7 I$ ~; q5 R& \; A) E# ~9 a5 o
(7)EditML Technologies 2 H0 w) |$ n6 i5 ] v# w2 h
EditML Technologies公司的EditML是Windows平台上的XML编辑器,可以用于创建合法的及格式良好的XML数据文件,Schema文件或者XSL样式单。它使用微软的MSXML解析器,遵从XML1.0标准(W3C标准)。其特点包括:多文档编辑,从文本文件(固定分隔符)引入数据,从数据库引入数据,创建格式良好的文件,根据DTD校验文档的合法性,节点值的RichEdit兼容能力;以及查找/替换项目,树型查看/列表查看编辑,源文件查看和DTD查看,DTD自动生成等;此外,还有预览带XSL样式的文档,在线HTML帮助,从URL中打开XML,可以创建XSL文件,创建Schema文件,每日提示等。 0 {/ b2 C0 O- f: @2 G. C- R4 ~# H- t
(8)Icon Information-systems : B2 }- F' ?( F4 Q" P; b
该公司的XML Spy软件比XML writer有所提高,但仍不支持所见即所得。支持Unicode、多字符集,支持Well-formed和Validated两种类型的XML文档。XML Spy最大特点是提供了三种视图:增强表格视图,源代码视图和预览视图。增强表格视图以树形结构编辑XML文档(包括XML、XSL文档,但对DTD文档的显示相对较为简单);源代码视图可以查看和修改文档源码,并且以不同颜色标注不同的元素;预览视图采用内嵌IE 5的方式在软件内对XML文档进行浏览。
" ~: n; _, Q; } @3 D4 N- \4 a; \ (9)Microstar 8 R3 e2 B6 k) ?9 a: g+ T/ Z/ O
ActiveSG/XML是一套在Internet上设计和配置基于事务的XML/SGML系统的工具和技术。Microstar也提供了免费的Elfred XML解析器。
* B( `0 x$ Z5 H. ~- M6 L, A (10)SoftQuad 3 l/ }. w: e! N1 e- A; U
HTML编辑器HotMetal Pro将很快提供Live Data Base Pages(活数据库页),一个让开发者将HTML数据拉入数据库并以XML来返回的附加软件。 , K. p0 ?$ | L. R: L$ P5 ~/ ]
(11)vignette
; \4 ~$ L$ b% G1 K8 A/ x* \) w8 p n) W StoryServer 3.2在Web上交付能够使用XML的应用和内容。它结合了关系型数据库、多媒体和XML内容创建的工具。StoryServer是一个Web内容应用平台,供建立、管理和交付基于服务的Web应用之用,比如在线出版、知识管理和电子商务系统。 & Q5 u6 z- O) |9 L1 g% N5 ~" |, t n
(12)XPublish
) r( P7 `# R, ?8 Z. R& K) n XPublish是一个XML出版系统,供Web站点开发和管理。允许开发者以XML进行制作,或用XML构件延展目前的HTML文档,然后将站点以HTML来发布,以便让任何标准Web浏览器可以访问。它包含了一个Cascading Style Sheets编辑器。
5 f2 j3 W4 N& r: w) ` (13)WebMethods
" v$ ~) ?! c* Y* b6 ~% ?8 L 该公司制作基于XML的Web Automation软件,提供商业应用软件和Web数据的快速集成与直接访问。它的Web Interface Definition Language(WIDL)将使HTML/XML和表格的所有交互自动化,提供在标准Web协议上表现要求回答交互方式的一个通用方法。
! _, ^" N2 h1 \& p( Y6 R; Y0 N (14)Blue Stone
- }" I( h- P1 p; f6 w 该公司的Visual XML具有一个非常友好的开发环境,支持拖曳功能,能够以树形结构显示XML、DTD、DOM文档;实现同数据库的集成,可以通过Wizard方式进行数据库的浏览、SQL语句和存储过程的创建与执行;以图形界面实现XML元素同数据库对象的绑定,同时创建XML文档和DTD文档;支持多种数据库,如oracle、Access、SQL Server、Informix、Sybase、DB2。其缺点是对硬件配置要求较高,其最低配置要求处理器为Pentium 200MHz、内存为96MB、磁盘空间为110MB、分辨率为1024X768。 6 v1 N$ T/ M$ _/ X% i. ~
当然,如果XML在Web上无处不在,可以看到几乎每一种基于Web的应用,特别是HTML编辑器、数据库软件和电子商务软件,将会迅速地加入对XML的各个级别的支持。 $ Q) t5 u! d# N
对于初学者,最好是使用N0tepad这种纯文本编辑器,这样我们可以在学习中熟悉XML的各种术语、要求,更易于学习和理解XML。 |
|