日期:2014-04-15  浏览次数:21143 次

这些日子,几乎每团体都在谈论XML (Extensible Markup Language),但是很少有人真正理解其含义。XML的推崇者认为它能够处理所有HTML不能处理的问题,让数据在不同的操作系统或使用之间进行灵活交换。确实,所有的观察家们都同意XML将引发一场内容发布和知识交换的反动。谁先进入这个领域,谁就能够大获其利。

这里的20个有关XML的抢手问题能够让你成为一XML“专家”,或至少让你能够在今后看准XML的发展方向。
1 什么是XML? 11 OSD和CDF与XML的关系如何?
2 XML何以重要? 12 电子商务(e-commerce)和XML?
3 SGML、HTML和XML有什么联系? 13 XML中的层叠款式?
4 如何实现XML? 14 XML如何改进超链接?
5 什么是文件类型定义(DTD)? 15 服务器上支持XML吗?
6 什么是格式完整和无效的文件? 16 谁应该学习XML?
7 如何在浏览器中阅读XML? 17 有哪些编写XML的工具可供我使用?
8 RDF和XML有何联系? 18 XML的国际化?
9 Netscape浏览器中如何实现XML? 19 XML的未来在哪里?
10 Microsoft浏览器中如何实现XML? 20 哪里能学到更多的XML知识?



1.什么是XML?

XML代表扩展标识言语(Extensible Markup Language). 由 World Wide Web Consortium (W3C)带头, XML在二月中期成为一个正式的规范.

XML开发者会通知你XML不是一种言语,而是一个定义其他言语的系统. 你可能曾经听说过, 或使用过这些言语中的一种,--如Microsoft支持"推技术"的 Channel Definition Format (CDF).

正从事于XML相关建议任务的W3C, 称XML为"表达数据中结构 的共同语法". 结构化的数据指的是其内容,意义或使用被标记的数据. 例如, HTML中<H1>标记指定文本为某一字体和大小, XML的标记将明确确定信息的品种: <BYLINE>标记可以识别文档的作者, <PRICE>标记可以在一个存货清单中包含某一项目的成本 .

通过将结构,内容和表现分离, 同一个XML源文档只写一次, 可以用不同的方法表现出来: 在计算机屏幕上, 在手提电话显示屏上, 在为盲人服务的设备上翻译成语音, 等等. 它可以在可能开发的任何通讯产品上任务. 一个XML文档因此可以比其书写时的作者和显示技术生存得更久.

所以, XML将不只限于Internet, 例如, 可以服务于整个出版业, 特别是对于想制造可出如今多种媒体上的文档的人. 一些使用Standard Generalized Markup Language (SGML)多年的大型文档出版商将转向XML. 还有, 独立于平台的XML是为Web开发的, 这是它将最具影响的地方.

DOM
XML在Web的真正实力在于它是如何与Document Object Model (DOM)交互的. DOM是定义访问文档中数据的机制的界面.

使用DOM, 程序员可以用一个标准的方法写动态的内容. 换句话说, 他们可以使用它来使浏览器文档树中的一部分特定内容按照一定的方式表现, 例如, 产生一个小效果, 当用户将鼠标移至文字上时, 这些文字变成蓝色. Netscape Navigator 和 Microsoft Internet Explorer 都有他们各自的DOM, 但是他们都称将在其下一版本的浏览器中支持W3C 的标准DOM.

2.XML何以重要?

Web领袖之间的说法是内容至上. 不幸地, 内容经常和其表现紧密结合. 请问你多少次在一个网站上遇到一个小小的提示, "最好在800x600像素的分辨率上显示"?

XML将协助处理以上问题, 由于网站建造者不用再指明在哪里显示什么, 而是指明文档 的结构. 例如, 你可以说明文档的标题, 作者, 关联文档的清单, 等等. 然后, 任何一个有XML浏览器的设备都可以给出最适合它的文档版本, 这样的设备可以是一个掌上型计算机, 置顶盒, 或高速的任务站.

但是, 也许XML的最佳特性是其内在的可扩展性. 公司和组织能够扩展XML来满足新的挑战和使用. 一个基于XML的言语曾经在使用--微软的Channel Definition Format (CDF)-- 还有更多将出现, 包括 Resource Definition Format (RDF) 和 Open Software Description (OSD).

XML 也许愿成为交换数据 和文档的标准机制. 例如, XML可能成为不同厂商的数据库在Internet上交换信息的一种方法.如今精确地决定XML的方向还有一些早. 但是, 其各种可能性是令人敬畏的,这就是为什么围绕着XML有如此多的激动的一个重要缘由.

<<前往标题



3.SGML、HTML和XML有什么联系?

Standard Generalized Markup Language (SGML) 是在文字处理使用中表达数据的一个方法. 它曾经出现十多年了, XML 和 HTML 都是从SGML 发展而来的文档方式. 因此, 它们都有一些共同点, 如类似的语法和带括弧的标记符的使用. 但是 HTML 是SGML的一个使用, 而 XML是SGML的一个子集.

区别是重要的. 基本上HTML不能用来定义新的使用, 而XML可以. 例如, Resource Description Format (RDF) 和 Channel Description Format (CDF)都是使用XML定义的使用. XML和HTML更象表兄弟, 而不是亲兄弟.



理想上, XML和SGML是兼容的 -- XML文档可以通过任何SGML制造或浏览工具阅读. 但是, XML没有SGML那么复杂, 它是设计用于无限带宽的网络的, 如Internet. XML规范的合作者Tim Bray说, XML的设计出发点是取SGML的优点, 去除复杂的部分, 使其保持轻巧, 可以在Web上任务.

HTML,SGML和XML将继续用于其合适的地方, 它们中的任何一个不会使其他一个废弃. HTML仍是在Web上快速出版数据的最简单的方法, 大部分短期的数据, 如会议议程或广告宣传册. 如果数据会长期使用, 并且需求更多的一些结构, Web建造者将情愿使用XML. 不同于HTML和XML, SGML可能永远不会在Internet上被广泛接受, 由于它从来没无为某个网络协议的需求而设计或优化过. 对于高端的, 复杂结构的出版使用, SGML将继续适用.



4.如何实现XML?

XML将以几个不同的方式使用. 一个是在人机之间交换数据, 如从Web服务器至用户的浏览器. 另外一个是在不同的使用之间交换数据, 或者是机器之间交换数据.

在这些情况下, 你都可能需求三层架构: 后端数据库, 针对数据的处理逻辑的两头层服务器, 以及数据进一步显示和处理的客户端. 数据库可以从多个数据来源接收信息, 可能曾经是XML格式的数据. 两头层然后聚拢数据并在最终的表现层上发布.

如今, 网页有时候以这种方法传送 --CNET的NEWS.COM 从一个数据库中发表数据. 但是要获得一页的新的视图, 如NEWS.COM的新的“打印机敌对”选项, 服务器必须产生一个新的页面. 一份适当格式化的XML文档将允许客户端的使用为不同的媒体修正文档的表现方式, 比如为打印机.

<<前往标题


5.什么是DTD?

文档类型定义 (DTD) 是一套关于标记符的语法规则. 它通知你可以在文档中使用哪些标记符, 它们应该按什么次序出现, 哪些标记符可以出现于其它标记符中, 哪些标记符有属性, 等等. DTD原来是为使用SGML开发的, 它可以是XML文档的一部分, 但是它通常是一份单独的文档或者一系列文档

由于XML本身 不是一种言语, 而是定义言语的一个系统, 它没有象HTML一样拥有一个通用的DTD. 相反, 想使用XML进行数据交换的工业或组织可以定义它们本人的DTD.

如果一个组织想用XML来标识仅在内部使用的文档, 它可以创造本人私有的DTD. 比如 Wall Street Journal Interactive Edition 拥有一个 DTD 来详细说明每一版, 其中有关于页, 文章, 概要, 标题下署名等等的信息. 刊物目前使用SGML DTD (称作