• 热门标签

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

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

• 我们被限制在了客户端浏览器上。
• 没有人建立服务器页面与可编程的代理或其他应用程序通信。请求的结构是固定的。你或
者去协调整个服务器应用程序开发组的工作,或者是颠倒设计结构。结果是,如果不是服
务器开发组的成员,就很难编制客户端应用程序。
• 所有的内容都以H T M L的形式传递。这就限制了客户端进行任何后期处理的能力,而且在
传递时,用户所能看到的也仅限于服务器应用程序决定的内容。
• 如果你希望看到不同的显示方式,比如用图形替代表格,或者另一种排序方式,就必须再
到服务器上打一个来回。
• 应用程序非常脆弱;客户端和服务器必须紧密同步。请求只要有一点点变形就会中断服务
器应用程序。
那么,X M L如何帮助我们解决这些问题呢?
1.3.2 XML下的Web体系结构
现在,我们将目光放得长远一些,看一看X M L在未来会给我们带来什么。客户端—浏览
器或者程序—将一个X M L文档作为请求发送给服务器。同传统的We b应用程序一样,它包含
了指定参数。但是,与传统的客户端不同,请求的结构会根据在运行时从服务器上得到的标准
化机制来正式指定。这一机制会保证服务器所期望的结构,并允许客户端在传输前验证请求的
正确性。服务器也能够在接收时执行有效性验证。
一旦请求到达,服务器可能继续传统We b应用程序的处理流程,也可能做出某些改动。
X M L并不会专注于服务器与服务器之间的通信,但X M L研究者中的改革派使用X M L来格式化这
类通信。既然在这类交换中服务器收到的数据也是X M L,那么第一个服务器将几个文档合并起
来,或者将一个文档转化成另一种格式以满足请求就非常简单了。客户端用来得到结构内容的
方法也可以在服务器上使用。由于X M L天生就是层次结构的,所以它很容易就可以对非关系型
的数据源进行编码。但是,大多数服务器上维护的数据本来就是关系型的,因此X M L的研究者
第1章XML 简介使用5 下载
客户端浏览器
带有由应用程序指
定的参数的请求
由脚本代码生
成的HTML
带有CGI或ASP脚
本的HTTP服务器
图1-1
花费了大量的时间思考和实践如何使关系型数据与X M L结构相匹配。所有这些都使X M L成为在
服务器与服务器应用程序之间交换数据的最佳媒介。一旦X M L被选中成为某个组织交换数据的
机制,编程人员可以很快地得到或编制组件和实用程序库以便操作数据。这些对于处理来自客
户机应用程序的请求也同样有用(参见图1 - 2)。
图1-2
那么这些对我们来说有什么益处呢?首先,我们不再局限于基于浏览器的客户端。X M L本
身就是数据,而且可以由程序任意地控制。同样的数据,即可以设定其样式化以便在浏览器中
显示,也可以交给一个代理进行后台处理。在这个机制中, X M L文档无需假设数据的最终用途。
如果得知客户端需要H T M L,由数据驱动的转换过程就会使用X M L文档生成H T M L页面。而生
成X M L的底层应用程序不需要任何修改。
在这种机制下,服务器端的应用程序与客户端的耦合程度要松散得多,因为程序具备了找
出X M L文档的结构的能力。这样一来,富有创新意义的应用程序就可以根据程序的要求编写结
构新颖的各类文档,应用程序也无需为每一种新的文档类型编制定制的软件。更为典型的应用
是创建工业标准标记集,应用程序也可以利用结构自动感知机制来避免因版本更迭带来的矛盾。
在不久的将来,网络中的服务器,客户机和应用程序所进行的处理都将使用这种机制交换
数据。幸运的是,这种机制扩展起来并不困难,而且能够在运行时自动找出数据的结构。事实
上,任何一种平台都支持这种机制,它使用简单,能够处理来自不同数据源的标记数据。应用
程序的开发者可以使用来自非传统数据源或其他服务器的数据来满足客户端的请求。自此, We b
开发已经从客户机-服务器计算体系迈向真正的多层模式。
毫不夸张地说,这一目标离实现已为期不远。
1.4 XML基本特征
现在,让我们了解一下一旦采用X M L,我们能够完成哪些工作,仔细观察X M L如何使我们
实现自己的目标。在前面的章节中,我们曾经大概了解到, X M L是一种使用标记标记内容以传
输信息的简单方法。标记用于界定内容,而X M L的语法允许我们自行定义任意复杂度的结构。
这一切都是使用普通的文本,而不是二进制的数据格式来实现的,这对于跨平台交换数据来说
6使用XML 高级编程
下载
客户端浏览器
XML或
HTML
文档
有脚本的
HTTP服务器
关系型
数据
应用程序服务器
HTTP服务器层次型数据
XML
程序或文档
代理
确实是一个非常不错的方案。实际上,每一种普通的操作系统(只要不是嵌入使用的)能够以
某种方式处理文本。这也是H T M L之所以能够在很短的时间内流行起来的原因。X M L把这一优
势提高到一个更新的层次,因为我们可以根据自己的需要任意地扩展X M L。由于这种扩展机制
是标准化的,所以我们可以自动地将这类扩展信息传递给任何读取我们数据的人—编程者或
机器。下面,我们需要了解X M L的几个重要方面的内容,只有这样,我们才能够充分理解,并
有效地将它们应用到我们的程序中。
自描述数据
界定X M L内容的标记会给所界定的数据中的每一个元素命名。在标记中,我们还会发现特
定的属性,它们会为所描述的元素提供某些附加信息。例如:
程序清单1 - 3
之所以说数据是自描述的,在于其中的每个项目都有自己的名字,而这个名字又与文档所
描述的现实世界中的问题所涉及的某项具体内容密切相关。到目前为止,我们所了解的内容都
还与H T M L非常相似。虽然H T M L标记的含义也是由W 3 C制订的。但是如果你希望描述某种不为
H T M L推荐标准所涉及的事务,很快就会发现自己黔驴技穷。考虑一下X M L,看一看同样的内
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(3)