• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:05来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

协议和软件更为协调,从而简化了数据处理和传输。作为一个不错的S G M L子集, X M L还保持
了对现有的面向S G M L的系统的向下兼容性,这样,用X M L标记过的数据就仍然可以在这些系
统中使用,为基于S G M L的行业节省了大笔的改造费用,同时,与We b的结合也使得它们更便于
被访问。
1998年2月,XML 1.0成为了W3C的推荐标准。包括Extended Backus-Naur Form (EBNF) 中语法
标识在内的这个正式的规范可以很容易地从W 3 C的We b站点(h t t p : / / w w w. w 3 c . o rg / T R / R E C - x m l)上
得到;此外,X M L规范的制定者之一Tim Bray还在h t t p : / / w w w. x m l . c o m / a x m l / t e s t a x m l . h t m上提供了
一个有着非常不错的注解的版本。
在http://www.ucc.ie/xml/上,由Peter Flynn等人代表W3C的XML研究组维护的一个XML 1.0
FAQ还提供了到其他与XML相关的主题的链接。
X M L是一种界定文本数据的简便而标准的方法。它曾经被人称作“ We b上的A S C I I码”。就
好像你可以使用自己喜爱的编程语言来创建任何一种数据结构,然后同其他人在其他计算平台
上使用的其他语言来共享一样。X M L的标记用来说明你所描述的概念,而属性则用来控制它们
的结构。所以,你可以定义自己所设计出的语法并同其他人共享。
下面让我们来看一个简单的例子:
程序清单1 - 2
我们不必过多地担心语法的特殊性,下面你会看到这种机制的强大所在—只要简单地添
加标记就可以描述它们所封装的信息。
X M L的数据描述机制意味着它将成为一种在I n t e r n e t上共享信息的强大途径,因为:
• 它是开放的;X M L能够在不同的用户和程序之间交换数据,而不论其平台如何。
• 它的自描述的特性使其对于B 2 B和企业内部网解决方案来说是一种有效的选择。
• 无需事先协调,我们就可以在程序之间共享数据。后面我们将看到, X M L的机制使我们能
够找出一类X M L文档的结构。
为了使用X M L 文档, W 3 C 为X M L标准化了一套应用程序编程接口( A p p l i c a t i o n
Programming Interface, API),这样我们就可以轻松地编制读写X M L的程序,同时,开发者团体
第1章XML 简介使用3 下载
还设计了一套特殊的,免费赠送的,基于事件的替代A P I。此外, X M L在设计时已准备支持非
欧洲语言和进行国际化。同HTML 4.01一样,X M L基于的是在ISO/IEC 10646字符集标准(等同
于现在著名的U n i c o d e标准,h t t p : / / w w w. u n i c o d e . o rg)中定义的通用字符集( Universal Character
S e t,U C S)。可以说,所有促使H T M L得以流行的特性都出现在了X M L当中。
但是, X M L并非H T M L的直接替代品。在仔细阅读了X M L推荐标准( W W W协会的对等标
准)中的每一个字之后,我们并没有发现任何与可视化表现形式有关的内容。与注重数据及其
表达方式的H T M L不同,X M L只关心数据本身。
虽然X M L本身是数据,但X M L的研究者并没有忘记如何表达的问题。与依靠扩充代码部分
的传统数据表示方法不同, X M L样式的表现技术是由数据驱动的。从最简单的到极端复杂的,
无所不能。但是,不论采用什么技术, X M L的样式化都是通过另一个被称作样式单的文档来实
现的。在其中,设计者会格式化样式和决定何时应用样式的规则。然后,这个样式单又可以用
于其他多个文档中,以产生类似的效果。
样式和规则在显示时会应用到X M L的数据上,它们甚至可以转换为H T M L—或者其他什
么数据格式。本书的一条主线就是研究如何可视化地表示X M L标记出的数据。在H T M L中实现
样式的特性可以说易如反掌,但老实说X M L在这方面并不擅长。
最后,不管We b上把X M L吹得多么神乎其神,但它并不能把之前的难题一扫而光。它能够
使编程者轻松自如地完成许多有趣的事情,但X M L并不是编程语言,也不是基于对象的平台,
更不是操作系统。它只是一种能够思考、交换和表示数据的,独立于平台的,强大而精巧的技
术。
现在,我们已经对X M L略知一二,下面让我们来看一看它是如何应用到We b的体系结构当
中的。
1.3 Web体系结构:过去与未来
第一代We b应用程序继承了传统的客户机-服务器模式的软件体系结构。其中某些将关系型
数据库作为第三层使用,但所有各层由专用的、固定的方法进行控制。颇具讽刺意义的是,这
与We b的精髓是背道而驰的—由简单的协议控制的松散的、开放的资源集合。与此相反,
X M L则出色地实现了这一目标。它为编程者提供的工具能够构建真正的、由开放标准和自描述
数据控制的多层分布式系统。让我们比较一下传统We b体系结构与X M L驱动下的We b体系结构。
1.3.1 传统Web体系结构
首先,让我们了解一下We b应用程序的体系结构(参见图1 - 1)。客户端程序是一个浏览器,
它充当着浏览者的代理的角色。浏览器将对页面的请求发送给H T T P服务器。这个请求会跟随着
一系列的参数名称和值。这些可能是被添加在页面U R L的后面(HTTP GET),也可能是单独发
送(HTTP POST)(要了解关于H T T P的详细内容,请访问h t t p : / / w w w. w 3 . o rg / P r o t o c o l s /)。参数
及其名称是由应用程序决定的,而且必须为客户端所知晓,要做到这一点,就需要把它们放置
到发出请求的页面中。随后,服务器应用程序的开发者也必须创建客户端页面。任何希望利用
服务器的人员都必须使用客户端页面,或者在客户端页面颠倒设计请求的结构。但是,只要服
4使用XML 高级编程
下载
务器改变请求的结构,这类颠倒设计就不再起作用。
在这种前提下,服务器会通过C G I脚本或A S P代码来动态生成H T M L以满足这类请求。这类
脚本可能使用一套数据库,或者进行自身的一些处理。很少(如果有的话)有多个H T T P服务器
协作完成一个请求。
当然,这种结构足以正常的工作,但它确实有一些重要的限制:
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(2)