XML新手入门

IBM的XML教程

http://www.ibm.com/developerworks/cn/xml/newto/index.html 

XML and how it will change the Web

http://www-128.ibm.com/developerworks/xml/library/xml-web/index.html

 XML是什么?

XML,或称为可扩展标记语言(Extensible Markup Language),是一种您可以用来创建自己的标记的标记语言。它由万维网协会(W3C)创建,用来克服 HTML(即超文本标记语言(Hypertext Markup Language),它是所有网页的基础)的局限。和 HTML 一样,XML 基于 SGML ― 标准通用标记语言(Standard Generalized Markup Language)。尽管 SGML 已在出版业使用了数十年,但其理解方面的复杂性使许多本打算使用它的人望而却步(SGML 也代表“听起来很棒,但或许以后会用(Sounds great, maybe later)”)。XML 是为 Web 设计的。

  HTML 始终是最成功的标记语言。您几乎可以在任何设备(从掌上电脑到大型机)上查看最简单的 HTML 标记,并且您甚至可以用合适的工具将 HTML 标记转换成语音和其它格式。既然 HTML 成功了,为什么 W3C 还要创建 XML 呢?为了回答这个问题,请查看下面这个文档:


<p><b>Mrs. Mary McGoon</b>
<br>
1401 Main Street
<br>
Anytown, NC 34829</p>
          

HTML 的问题在于它是为人设计的。即使不用浏览器查看上面的 HTML 文档,您和我也会知道那是某个人的邮政地址。(具体而言,它是美国某个人的邮政地址;即使您一点也不熟悉美国邮政地址的格式,您可能也会猜出这表示什么。)

作为人,您和我具有理解大多数文档的含义和意图的智慧。遗憾的是机器不能做到。尽管这个文档中的标记告诉浏览器如何显示该信息,但标记没有告诉浏览器信息是什么。您和我知道它是一个地址,但机器不知道。

 现在让我们来看一个样本 XML 文档。使用 XML,您可以给文档中的标记赋予某种含意。更重要的是,机器也容易处理这样的信息。您只需通过找到 <postal-code></postal-code> 标记之间的内容(技术上称为 <postal-code> 元素),就可以从该文档抽取邮政编码。


<address>
  <name>
    <title>Mrs.</title>
    <first-name>
      Mary
    </first-name>
    <last-name>
      McGoon
    </last-name>
  </name>
  <street>
    1401 Main Street
  </street>
  <city>Anytown</city>
  <state>NC</state>
  <postal-code>
    34829
  </postal-code>
</address>
既然您已经看到开发人员可以使用 XML 创建具有自我描述性数据的文档,让我们看看人们正如何利用这些文档来改进 Web。以下是几个关键领域:
 
 
  • XML 简化了数据交换。因为不同组织(乃至同一组织的不同部门)很少就单一工具集形成标准,所以要使应用程序相互交流需要进行大量工作。使用 XML,每个组织可以创建单一的实用程序,该实用程序将该组织的内部数据格式转换成 XML,反之亦然。最好有这样的机会:这些组织的软件供应商已经提供了在它们的数据库记录(或 LDAP 目录,或采购订单等等)与 XML 之间进行相互转换的工具。
  • XML 支持智能代码。因为可以使 XML 文档结构化以标识每个非常重要的信息片段(以及这些片段之间的关系),所以可以编写无需人工干预就能处理这些 XML 文档的代码。软件供应商花费了大量时间和金钱来构建 XML 开发工具这一事实意味着编写那样的代码是相对简单的过程。
  • XML 支持智能搜索。尽管搜索引擎这些年在稳步改进,但从搜索中得到错误的结果仍很常见。如果您正在搜索包含名叫“Chip”的人的 HTML 页面,您可能还会找到有关功克力片、计算机芯片、木片以及许多其它无用匹配的页面。搜索 XML 文档查找包含文本 Chip<first-name> 元素会给您一个好得多的结果集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值