四、XML使用分类
总的说来的XML的使用可分为四类:
(1)使用于客户需求与不同的数据源进行交互时。数据可能来自不同的数据库,他们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准言语进行交互,那就是XML。由于XML的自定义性及可扩展性,它足以表达各品种型的数据。客户收到数据后可以进行处理,也可以在不同数据库间进行传递。总之,在这类使用中,XML处理了数据的统一接口问题。但是,与其他的数据传递标准不同的是,XML并没有定义数据文件中数据出现的具体规范,而是在数据中附加tag来表达数据的逻辑结构和含义。这使XML成为一种程序能自动理解的规范。
(2)使用于将大量运算负荷分布在客户端,即客户可依据本人的需求选择和制造不同的使用程序以处理数据,而服务器只须发出同一个XML文件。仍以上例为论,如按传统的"客户/服务器"任务方式,客户向服务器发出不同的请求,服务器分别予以呼应,这不只加重服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的,由于服务器端的编程人员可能来不及满足众多的使用需求,也来不及跟上需求的变化,双方都很被动。使用XML则将处理数据的自动权交给了客户,服务器所作的只是尽可能完善、精确地将数据封装进XML文件中,正是各取所需、各司其职。XML的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。
(3)使用于将同一数据以不同的面貌展现给不同的用户。这一使用也可在上例中体现出来。它又类似于同一个剧本,我们却可以用电视剧、电影、话剧、动画片等不同方式表现出来。这一使用将会为网络用户界面特性化、风格化的发展铺平道路。
(4)使用于网络代理对所取得的信息进行编辑、增减以顺应团体用户的需求。有些客户取得数据并不是为了直接使用而是为了依据需求组织本人的数据库。比方说,教育部建立一个庞大的题库,考试时将题库中的题目取出若干组成试卷,再将试卷封装进XML文件,接下来便是最精彩部份,在各个学校让其通过一个过滤器,滤掉所有的答案,再发送到各个考生面前,未经过滤的内容则可直接送到老师手中,当然考试过后还可以再传送一份答案汇编。此外,XML文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需几个小程序,同一个XML文件便可变成多个文件传送到不同的用户手中。