WEB页面的工具语言
一、XML产生的背景 1 n {) a" }- m& y1 E
1 {2 b: P0 y; i, S( mwww.520diannao.com XML同HTML一样,都来自Standard Generalized Markup Language, 即标准通用标记语言,简称SGML。早在Web未发明之前,SGML就早已存在。正如它的名称所言,SGML是一种用标记来描述文档资料的通用语言,它包含了一系列的文档类型定义(简称DTD),DTD 中定义了标记的含义,因而 SGML 的语法是可以扩展的。SGML十分庞大,既不容易学,又不容易使用,在计算机上实现也十分困难。鉴于这些因素,Web的发明者--欧洲核子物理研究中心的研究人员根据当时(1989年)计算机技术的能力,提出了HTML语言。
% W% M& V! w6 D* b, J, W0 @4 Y我爱电脑技术社区--打造最好的电脑技术自学交流平台我爱电脑技术社区--打造最好的电脑技术自学交流平台( n! z5 V9 j& Z* B
HTML只使用SGML中很小一部分标记,例如HTML 3.2定义了70种标记。为了便于在计算机上实现,HTML规定的标记是固定的,即HTML语法是不可扩展的,它不需包含DTD。HTML这种固定的语法使它易学易用,在计算机上开发 HTML的浏览器也十分容易。正是由于HTML的简单性,使 Web 技术从计算机界走向全社会,走向千家万户,Web的发展如日中天。
6 C9 J k) b8 A) Q7 L4 ?www.520diannao.com
2 p2 `/ V3 h7 Q/ ywww.520diannao.com 近年来,随着 Web的应用越来越广泛和深入,人们渐渐觉得HTML不够用了,HTML过于简单的语法严重地阻碍了用它来表现复杂的形式。尽管HTML推出了一个又一个新版本,已经有了脚本、表格、帧等表达功能,但始终满足不了不断增长的需求。另一方面,这几年来计算机技术的发展也十分迅速,已经可以实现比当初发明创造HTML时复杂得多的Web浏览器,所以开发一种新的Web页面语言既是必要的,也是可能的。 我爱电脑技术社区--打造最好的电脑技术自学交流平台9 `( q7 ?( F9 {# v
我爱电脑技术论坛* }( \/ ]' T% f7 J% L, H5 ^
有人建议直接使用SGML 作为Web语言,这固然能解决HTML遇到的困难。但是SGML太庞大了,用户学习和使用不方便尚且不说,要全面实现SGML的浏览器就非常困难,于是自然会想到仅使用SGML的子集,使新的语言既方便使用又实现容易。正是在这种形势下,Web标准化组织W3C建议使用一种精简的SGML版本--XML应运而生了。 + u5 ?$ _% ^( z3 h7 t8 o
二、XML的定义
( e5 ]. ~0 m6 z9 z- r! s% \我爱电脑技术论坛
- m; e1 V& q7 l- _' {' G XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理 Web 数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容。 {9 v& f+ H+ n
8 R1 q; i C7 @& x' T- I我爱电脑技术论坛 XML中包括可扩展格式语言XSL(Extensible Style Language) 和可扩展链接语言XLL(Extensible Linking Language)。
$ x( R ~4 W& g打造最好的电脑自学交流论坛我爱电脑技术社区--打造最好的电脑技术自学交流平台 ]* V1 e8 X9 o; N) T6 i
XSL用于将XML数据翻译为HTML或其他格式的语言。XSL提供了一种叠式页面CSS的功能,使开发者构造出具有表达层结构的Web页面来,以有别于XML的数据结构。XSL也能和HTML一起构造叠式页面。XSL可以解释数量不限的标记,它使Web的版面更丰富多彩,例如动态的文本、跑马式的文字。此外,XSL还处理多国文字、双字节的汉字显示、网格的各种各样的处理等。
. h l& L# R' B5 A; cwww.520diannao.com
) g6 h# V7 w5 }/ {2 |www.520diannao.com XLL是XML的链接语言,它与HTML的链接相似,但功能更强大。XLL支持可扩展的链接和多方向的链接。它打破了HTML只支持超级文本概念下最简单的链接限制,能支持独立于地址的域名、双向链路、环路、多个源的集合链接等。XLL链接可不受文档制约,完全按用户要求来指定和管理。
) L7 @- a1 E7 A打造最好的电脑自学交流论坛www.520diannao.com8 q" y9 t K$ B2 [' s
为了使XML易学易用,XML精简了一大片SGML难得用一次的功能。正如几十万汉字中常用的只不过八千,SGML常用的部分只占20%,XML抛弃了SGML中不常用的部分,使它一下就精简了80%。这样一来,XML的语法说明书只有30页,而SGML却有500页。 打造最好的电脑自学交流论坛: ]3 N3 j# H5 O+ w
6 N' h- S) Z% S4 [7 v我爱电脑技术论坛 XML设计中也考虑了它的易用性,易用性来自两个方面:一方面用户编写Web页面方便,另一方面设计人员实现XML浏览器也不太困难。 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站& @: Q, w2 ?; }( I C# t
/ q% O/ ?) Z6 G% M" ~www.520diannao.com 总之,XML使用一个简单而有灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。HTML描述了显示全球数据的通用方法,而XML提供了直接处理全球数据的通用方法
5 T5 c4 g3 U- K& X& v( ?' J我爱电脑技术社区--打造最好的电脑技术自学交流平台三、支持XML的公司和它们的开发工具
! N# D: x' g0 w3 r c; C电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站www.520diannao.com% b' @) k9 h }0 W9 e
尽管XML还处在开发阶段,其标准正在由W3C组织制定,但是已经有许多公司表示全力支持XML,并开发了不少XML工具。Adobe公司的FrameMaker可以用来书写XML文档。Microsoft公司推出的IE 4.0已经可以显示、处理和编辑XML文档,Microsoft公司作出承诺,要在下一个版本的Office 软件如MS Word、Excel中支持XML。
5 @& F, ]" y3 q6 `5 K: o6 a我爱电脑技术论坛
/ g6 b) A, t, {9 P! Z7 T4 Q; V, p我爱电脑技术社区--打造最好的电脑技术自学交流平台 Netscape、Sun公司也不甘寂寞,纷纷表示要在他们的Web工具中支持XML。除了这些著名的公司有所行动外,其他小公司也把XML 作为一种商机,纷纷投入到XML的开发工作中。例如ArborText 公司的Cedar项目旨在开发XSL;ArborText公司和Microsoft公司一起向W3C提出了XSL的标准草案;Grif公司的Symposia Doc+则是一个编辑XML文档的可见即可得的工具。
5 b0 d3 U( Z5 ~1 F我爱电脑技术社区--打造最好的电脑技术自学交流平台我爱电脑技术社区--打造最好的电脑技术自学交流平台+ t% P9 G5 x% @9 v- F9 B' _2 V, X
此外还有Copsol公司的XML开发工具,Norbert公司的XML句法分析器,Jade公司的XSL工具包以及支持客户/服务机应用的Serucie 98等。 我爱电脑技术论坛* A' i9 N0 ?& @$ S6 x, M3 q
$ h) c' p! y: z0 x* G) e我爱电脑技术社区--打造最好的电脑技术自学交流平台四、XML应用分类 电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站! l! A: _7 t* g/ e/ F2 d! N: i* C
我爱电脑技术论坛& e8 ]9 E+ L" r) V" B0 y# g4 X% S
总的说来的XML的应用可分为四类:
5 j, r3 g8 R9 |4 t) _* f" Q
. q- c3 s/ R# W, r( F- h/ Y' q我爱电脑技术论坛 (1)应用于客户需要与不同的数据源进行交互时。数据可能来自不同的数据库,他们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进行交互,那就是XML。由于XML的自定义性及可扩展性,它足以表达各种类型的数据。客户收到数据后可以进行处理,也可以在不同数据库间进行传递。总之,在这类应用中,XML解决了数据的统一接口问题。但是,与其他的数据传递标准不同的是,XML并没有定义数据文件中数据出现的具体规范,而是在数据中附加tag来表达数据的逻辑结构和含义。这使XML成为一种程序能自动理解的规范。 我爱电脑技术社区--打造最好的电脑技术自学交流平台6 X: J9 D& r2 c8 C% k4 `' Q
(2)应用于将大量运算负荷分布在客户端,即客户可根据自己的需求选择和制作不同的应用程序以处理数据,而服务器只须发出同一个XML文件。仍以上例为论,如按传统的"客户/服务器"工作方式,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的,因为服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上需求的变化,双方都很被动。应用XML则将处理数据的主动权交给了客户,服务器所作的只是尽可能完善、准确地将数据封装进XML文件中,正是各取所需、各司其职。XML的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。我爱电脑技术社区--打造最好的电脑技术自学交流平台$ `. i* x, q6 Y% x' \7 [2 Y
(3)应用于将同一数据以不同的面貌展现给不同的用户。这一应用也可在上例中体现出来。它又类似于同一个剧本,我们却可以用电视剧、电影、话剧、动画片等不同形式表现出来。这一应用将会为网络用户界面个性化、风格化的发展铺平道路。
; b( B* M+ o* o w电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站" Z9 M8 B- t( g) o7 Z
(4)应用于网络代理对所取得的信息进行编辑、增减以适应个人用户的需要。有些客户取得数据并不是为了直接使用而是为了根据需要组织自己的数据库。比方说,教育部建立一个庞大的题库,考试时将题库中的题目取出若干组成试卷,再将试卷封装进XML文件,接下来便是最精彩部份,在各个学校让其通过一个过滤器,滤掉所有的答案,再发送到各个考生面前,未经过滤的内容则可直接送到老师手中,当然考试过后还可以再传送一份答案汇编。此外,XML文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需几个小程序,同一个XML文件便可变成多个文件传送到不同的用户手中。