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 设计的。


  XML实际上是Web上表示结构化信息的一种标准文本格式,它没有复杂的语法和包罗万象的数据定义。XML同HTML一样,都来自 SGML(标准通用标记语言)。SGML是一种在Web发明之前就早已存在的用标记来描述文档资料的通用语言。但SGML十分庞大且难于学习和使用。鉴于 此,人们提出了HTML语言。但近年来,随着Web应用的不断深入,HTML在需求广泛的应用中已显得捉襟见肘,有人建议直接使用SGML作为Web语 言。但SGML太庞大了,学用两难尚且不说,就是全面实现SGML的浏览器也非常困难。于是Web标准化组织W3C建议使用一种精简的SGML版本—— XML。XML与SGML一样,是一个用来定义其他语言的元语言。与SGML相比,XML规范不到SGML规范的1/10,简单易懂,是一门既无标签集也 无语法的新一代标记语言。

XML的先进特性

  XML继承了SGML的许多特性,首先是可扩展性。XML允许使用者创建和使用他们自己的标记而不是HTML的有限词汇表。这一点至关重要,企 业可以用XML为电子商务和供应链集成等应用定义自己的标记语言,甚至特定行业一起来定义该领域的特殊标记语言,作为该领域信息共享与数据交换的基础。

  其次是灵活性。HTML很难进一步发展,就是因为它是格式、超文本和图形用户界面语义的混合,要同时发展这些混合在一起的功能是很困难的。而 XML提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。所以,Web用户所追求的许多先进功能在XML环境下更容易实现。

  第三是自描述性。XML文档通常包含一个文档类型声明,因而XML文档是自描述的。不仅人能读懂XML文档,计算机也能处理。XML表示数据的方式真正做到了独立于应用系统,并且数据能够重用。XML文档被看作是文档的数据库化和数据的文档化。

  除了上述先进特性以外,XML还具有简明性。它只有SGML约20%的复杂性,但却具有SGML功能的约80%。XML比完整的SGML简单得 多,易学、易用并且易实现。另外,XML也吸收了人们多年来在Web上使用HTML的经验。XML支持世界上几乎所有的主要语言,并且不同语言的文本可以 在同一文档中混合使用,应用XML的软件能处理这些语言的任何组合。所有这一切将使XML成为数据表示的一个开放标准,这种数据表示独立于机器平台、供应 商以及编程语言。它将为网络计算注入新的活力,并为信息技术带来新的机遇。目前,许多大公司和开发人员已经开始使用XML,包括B2B在内的许多优秀应用 已经证实了XML将会改变今后创建应用程序的方式。

  从1998年开始, XML 被引入许多网络协议,以便于为二个软件提供相互通信的标准方法。简单对象访问协议(SOAP)和 XML- RPC规范为软件交互提供了独立于平台的方式,从而为分布式计算环境打开了大门。几乎所有主要的软件厂商都支持SOAP。SOAP的快速成功史无前例地提 高了软件的互操作潜力。当今,Web服务革命正在兴起,而SOAP正是其基础协议。

我们为什么需要 XML?

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

Mrs. Mary McGoon


1401 Main Street


Anytown, NC 34829

  HTML 的问题在于它是为人设计的。即使不用浏览器查看上面的 HTML 文档,您和我也会知道那是某个人的邮政地址。(具体而言,它是美国某个人的邮政地址;即使您一点也不熟悉美国邮政地址的格式,您可能也会猜出这表示什 么。)作为人,您和我具有理解大多数文档的含义和意图的智慧。遗憾的是机器不能做到。尽管这个文档中的标记告诉浏览器如何显示该信息,但标记没有告诉浏览 器信息是什么。您和我知道它是一个地址,但机器不知道。

      显示 HTML 

  要显示 HTML,浏览器只需遵循 HTML 文档中的指令即可。段标记告诉浏览器在新的一行显示,并且通常在前面有一个空行,而两个换行标记则告诉浏览器前进到下一行,并且行之间没有空行。尽管浏览器出色地将文档格式化,但机器仍不知道这是地址。

      处理 HTML 

  为了完成对样本 HTML 文档的讨论,请考虑从该地址抽取邮政编码的任务。下面是一个在 HTML 标记中查找邮政编码的算法(我有意使用脆弱的算法),如果您找到有两个
标记的段落,那么邮政编码就是第二个换行标记下面第一个逗号之后的第二个词。

  尽管该算法对于这个示例起作用,但对于全世界许多完全有效的地址,该算法根本不起作用。即使您可以编写算法来找出任何用 HTML 编写的地址的邮政编码,但许多具有两个换行标记的段落根本不包含地址。即便有可能编写算法来查看任意 HTML 段落并找出其中的任意邮政编码,也是极其困难的。

      样本 XML 文档 

  现在让我们来看一个样本 XML 文档。使用 XML,您可以给文档中的标记赋予某种含意。更重要的是,机器也容易处理这样的信息。您只需通过找到 和 标记之间的内容(技术上称为 元素),就可以从该文档抽取邮政编码。 
   
   
      Mary
   
   
      McGoon
   
 
 
    1401 Main Street
 
  Anytown
  NC
 
    34829
 
  标记、元素和属性  有三个通用术语用来描述 XML 文档的组成部分:标记、元素和属性。下面的样本文档说明了这些术语: 
   
   
      Mary
   
   
      McGoon
   
 
 
    1401 Main Street
 
  Anytown
 
    34829
 
         
  标记是左尖括号(<)和右尖括号(>)之间的文本。有开始标记(例如 )和结束标记(例如 ) 元素是开始标记、结束标记以及位于二者之间的所有内容。在上面的样本中, 元素包含三个子元素。

XML和HTML的主要区别是什么

XML是用来存放数据的;
XML不是HTML的替代品,XML和HTML是两种不同用途的语言。
XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。
HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。
HTML是与显示信息相关的, XML则是与描述信息相关的。

XML 什么也不做

XML 被设计成什么都不做的。
也许看起来很难理解,但事实上XML确实什么都不做。XML只是用来组织、存储和发送信息的。
下面的例子是Ordm给Lin的便条,使用的是XML格式:
 
Lin
Ordm
Reminder
Don't forget me this weekend!

这个便条有信息头,又信息主体,还包括发送人和接收人。尽管如此,这个XML文档仍然什么都不做,他只是用XML标记存储信息的文件。有人已经编写出来发送和接收并且显示这种格式信息的软件。

XML是自由的、可以扩展的

XML标记并不是预先规定好的,你必须创造你自己的标记。
在HTML文档中必须使用规则中定义好的标记。
XML允许你定义自己的标记以及文档结构。
比如在上面例子中的""、""标记都不是在XML规范中事先定义好的。这些标记都是XML文档的作者“创造”出来的。

XML是HTML的补充

XML并不是HTML的替代品。
XML并不是HTML的替代品,理解这一点非常重要。在将来的网页开发中,XML将被用来描述、存储数据,而HTML则是用来格式化和显示数据的。
对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理信息的工具。

XML在未来Web开发中的应用

XML无处不在。
XML发展的非常迅速,这实在令人感到惊奇,有很多的软件开发商都采用了XML标准。
我们相信,在未来的Web开发中,XML将和HTML一样受到重视,他们都是Web技术的基础。XML将成为最普遍的数据操纵和数据传输的工具。

XML 笑话

问: 我该在什么时候使用XML?
答: 你可以在你的个人简历中写上你会XML。

如何使用XML?

首先要明确的是:XML是被设计用来存储数据、携带数据和交换数据的,他不是为了显示数据而设计的。

XML可以从HTML中分离数据

通过XML,你可以在HTML文件之外存储数据。
在不使用XML时,HTML用于显示数据,数据必须存储在HTML文件之内;使用了XML,数据就可以存放在分离的XML文档中。这种方法可以让你集中精力去到使用HTML做好数据的显示和布局上,并确保数据改动时不会导致HTML文件也需要改动。这样可以方便维护页面。
XML数据同样可以以“数据岛”的形式存储在HTML页面中。你仍然可以集中精力到使用HTML格式化和显示数据上去。

XML用于交换数据

通过XML,我们可以在不兼容的系统之间交换数据。
在现实生活中,计算机系统和数据库系统所存储的数据有N^N种形式,对于开发者来说,最耗时间的就是在遍布网络的系统之间交换数据。
把数据转换为XML格式存储将大大减少交换数据是的复杂性,并且还可以使得这些数据能被不同的程序读取。

XML 和 B2B

使用XML, 可以在网络中交换金融信息。
在不远的将来,我们可以期望看到很多关于XMl和B2B(Business To Business)的应用。
XML正在成为遍布网络的商业系统之间交换金融信息所使用的主要语言。许多与B2B有关的完全基于XML的应用程序正在开发中。

XML可以用于共享数据

通过XML,纯文本文件可以用来共享数据。
既然XML数据是以纯文本格式存储的,那么XML提供了一种与软件和硬件无关的共享数据方法。
这样创建一个能够被不同的应用程序读取的数据文件就变得简单了。同样,我们省级操作系统、升级服务器、升级应用程序、更新浏览器就容易多了。

XML可以用于存储数据

利用XML, 纯文本文件可以用来存储数据。
大量的数据可以存储到XML文件中或者数据库中。应用程序可以读写和存储数据,一般的程序可以显示数据。

XML可以充分利用数据

使用XML,你的数据可以被更多的用户使用。
既然XML是与软件、硬件和应用程序无关的,所以可以使你的数据可以被更多的用户、更多的设备所利用,而不仅仅是基于HTML标准的浏览器哦。
别的客户端和应用程序可以把你的XML文档作为数据源来处理,就像他们对待数据库一样,你的数据可以被各种各样的“阅读器”处理,这时对某些人来说是很方便的,比如盲人或者残疾人。

XML可以用于创建新的语言

XML是WAP和WML语言的母亲。
无线标记语言(WML,The Wireless Markup Language ), 用于标识运行于手持设备上(比如:手机)的Internet程序。
WML采用了XML的标准。你可以在WML 指南中详细的了解。

展望未来

如果开发者有足够的预见性,那么将来的应用程序都应该使用XML的形式来此存储数据。
将来我们所使用的字处理器、电子表格软件和数据库应该能够以纯文本的格式相互读取数据,而不需要经过格式转化的过程。
我们只能期盼微软和其他软件开发商也赞同这一点。//事实上微软正在大力发展XML的应用呢。

XML到底能做什么?

首先说,xml的技术有两项的很显著的特点。

1,数据和现实的分离。

下面我就从这两个方面,结合自己的经验和丛书中了解的知识,简单的谈一下。

第一:数据和现实的分离。

比如说你手头上有一篇的资料(我们这里先假定是文字的资料,因为如果涉及到图,影像等范围就太广了,也不是我只能力所及),是xml的数据的格式, 好了,如果你的客户想通过互联网看看你的资料。你就可以使用一个aaa.xsl把你的xml的数据格式化为HTML的格式,同时这里面有个补充一点,因为 你可以控制你要显示的内容,你可以过滤掉对于客户不能看到的信息。但是这里面你并没有动原来的数据。

如果你的老板想把资料打印出来,作为报表向上级汇报,还是用原来的数据,再写一个bbb.xsl,把xml的数据输出为一个漂亮的报表的形式。ok了。

如果你以前的数据是txt的格式,你就必须从新的要做两种的格式, 一个html的,一个报表的。你的工作最多时copy,copy的

2,数据的自描述性。

比如说我的个人信息。
对于数据库来说,可能建立一个users的表。建立不同的字段。
数据取得可以是
rs("name")="jiangtianpeng"
rs("Emial")="wfxian@263.net"
rs("Id")="dadapeng"
但是没有了rs或者对于外部来说又如何的区分id和name的区别。
dadapeng是id?还是name?
jiangtianpeng是name?还是id?

ok
用xml描述一下个人信息

jiangtianpeng
dadapeng
china
....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值