订单查询 购书指南 购物车 收藏  
    首页 热点专题 精确搜索 精品推荐 俱乐部论坛 下载服务 走近科海 征稿专栏 新书预告 各地经销商 特价直销
第11章-居于Java的XML开发

11.1-XML介绍
 
    可扩展标记语言(XML,eXtensible Markup Language)是一种基于文本的标记语言,它快速地发展成Web上的一个电子数据交换标准。 换句话说就是XML是一个结构化信息标记语言。提出诸如XML标准的主要动机是需要一种错误自由的,不需要太多人工干预活动来理解数据的,独立于硬件、平台的标准格式。 用XML格式化的信息可以跨平台、跨语言和跨应用系统地传输,它可以和许多开发工具和实用工具共同使用。正如读者可以很容易地猜测到的一样, XML在应用系统中起着重要的作用,它把数据从一个业务应用传输到另一个业务应用系统。XML也担当了诸如SOAP、WSDL、Web服务等标准的支柱作用, 这一点将在后面章节里介绍。
    因此,让我们快速理解XML。如果读者熟悉HTML,那么可以很容易比较XML和HTML。在一个标准HTML文档里,读者可以看见各种格式标记如<body>、<table>等,以及散布在这些标记里的真实数据。XML文档类似于HTML,在它里边也包含了许多标记以及散布在标记间的数据。两种格式都和一个叫做标准通用标记语言 (SGML,Standard Generalised Markup Language)的普通标准关联。SGML自1986年以来已经成为一种ISO标准。 下面给出了XML和HTML的基本不同点。
    1)格式与内容分离
    一个HTML标记告诉浏览器如何在同一个文档里显示数据以及真实数据。考虑一个HTML文档,它显示拥有一个Best Buys Ltd公司单记录的单表。在HTML里,按程序清单11.1所示编写。
    程序清单11.1:HTML例子
<HTML>
<BODY>
<BR>
<P>
<TABLE Border="2" align="center">
<TH>Company Name</TH>
<TH>Employee Strength</TH>
<TH>Company Location</TH>
<TR bgcolor="99FFFF">
<TD>Best Buys Ltd</TD>
<TD>1000</TD>
<TD>New York</TD>
</TR>
</TABLE>
</HTML>
</BODY>
图11.1的浏览器显示了呈现代码的方法。

图11.1 显示一个简单HTML的浏览器

    这里显示的数据是Best Buys Ltd、1000和New York。其他标记是指导浏览器如何显示那些数据格式信息。正如读者可以看见的一样,在HTML里数据和格式信息都出现在一个单文档里。
    但是把信息格式或呈现紧紧地和实际数据集成在一起并不是一种好的编程习惯。有时,当使用这种格式进行数据交换时特别容易引起混乱。这也使得改变相同数据的呈现方式很不灵活。
    现在来看一个对应的XML文档看上去是什么样子。
    程序清单11.2:一个XML文档例子
<All_Company_Records>
<Company_Record count="1">
<Company_Name>Best Buys Ltd</Company_Name>
<Company_Strength>1000</Company_Strength>
<Company_Location>New York</Company_Location>
</Company_Record>
</All_Company_Records>

    正如所看见的一样,XML文档定义了自定义标记如等。注意这些都是用来解释数据语义的标记。换句话说,这些标记有利于理解数据的意思。这些标记不是在浏览器里展示信息的格式化标记。 为了以一种特定的形式展示这些数据,XML需要另一个名叫可扩展类型语言(XSL,eXtensible Style Language)的帮助。在相同XML数据上应用不同的XSL样式表,就可以获得相同数据的不同展示。这个特性在管理商业联机时特别有用, 因为可以有不同客户类型来访问应用系统。岂不是很好?考虑一个需要把数据显示给通过浏览器访问的客户和移动客户的应用系统例子。在同一XML文档里使用不同的样式表,就可以实现相同数据的不同展示形式。
    2)XML是可扩展的
    参考上面显示的XML文档例子。这里标记如都是个人或者组织为了某个特定应用系统而定义的标记。在一个HTML文档里,必须使用由万维网联盟(W3C,World Wide Web Consortium)组织定义的标准标记或标记集。 不能够在HTML文档里编写自己的标记,但是可以在XML实现这一点。可扩展性是另一个重要的XML维度。
    概括起来说,设计XML是用来描述数据,并集中于数据的含义。设计HTML是用来集中于展示数据的格式。
    尽管在XML和HTML值之间有一些差别,但XML却不能够替代HTML,注意到这一点是非常重要的。XML补充HTML。
    现在尝试着详细地理解XML的必要性。   
    如何和为什么使用XML
    下面将了解XML的必须性和XML的使用方法。
    可以用XML支持不同种类的客户端:一个HTML文档包含了数据和显示数据的格式化指令。通过把实际数据同格式化指令分离开可以解决这种紧密集成性。这有利于归档相同数据的不同展现方式。当现在的应用系统需要支持各种类型的客户端(基于浏览器的客户端,手持设备客户端等)时,通过XML来实现这级分离变得特别重要。
    XML可以用来交换数据:正如XML描述数据一样,它也可以被应用系统用来和另一个系统交换数据。在B2B(Business-to-Business)应用系统中,XML在定义标准如ebXML和Rosettanet等方面起着非常重要的作用。注意在用XML标准时,很容易归档平台独立的、便携性数据,可以在运行在不同平台的不同机器上的应用系统中共享这些数据。
    开放、可扩展标准:XML因为各种先进业界服务商对扩展性的采用而演化了一段时期。在结合许多观点演化发展之后,自然它就具有可扩展性,因此它可以很容易地建立在现有代码的基础上。
    新标准是作为底层结构建立在XML基础上的:各种即将来临的标准都是作为底层结构建立在XML基础上的。一个这种作为Web服务支柱的标准就是简单对象访问协议(SOAP,Simple Object Access Protocol)。它允许在一个分散的分布式环境中进行信息交换。更详细的内容可以参考这本书里的开发Web服务章节。
    便携的代码,便携的数据:Java和XML都有类似的属性。Java是一种与平台无关的编程语言,因而它允许使用在与平台无关的应用系统里。XML允许以平台独立的方式显示数据。由于它们的固有特性,Java和XML都是建立商业应用系统的自然选择。
下一页 详细信息
本书目录 本书前言 返回专题首页