新手整理的一篇文章,请大家给小妹指点
考察现在的XML应用,我想可以大致将它们分为以下几类:
(1)设计置标语言
XML不再限于标记语言的范畴,它是一种元标记语言。XML把DTD的定义权开放,不同行业可以根据自己的实际需求定义描述内容的DTD,以适应本行业内部的信息交流和存档需要,还可以定义专门描述形式的DTD,丰富信息的描述效果。目前,适合于不同行业不同平台的标记语言如雨后春笋般涌现出来,仅W3C新制定的标记语言就有XHTML、SVG、MathML、SMIL等。
在分级组织的网站中,越是顶层的页面,用于提供内容索引的页面,越强调布局的美观,注重表现形式,不需要非常严谨的DTD,只要是一个well-formed的XML即可;而越是底层的页面,即涉及具体内容和数据的页面,需要一个严谨的结构,越注重内容本身的质量及良好的信息组织,采用自定义的DTD更能发挥出XML的巨大优势。
(2)数据交换
用XML在应用程序和公司之间作数据交换已不是什么秘密了,毫无疑问应被列为第一位。那么为什么XML在这个领域里的地位这么重要呢?原因就是XML使用元素和属性来描述数据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取XML数据。
XML采用数据内容与数据显示分别定义的思想,其数据的显示是通过样式单XSL和CSS定义的。IE5对于一个XML文档的处理方式是,首先去关联它所指定的样式单文件,如果这个样式单是一个XSL文件,则按照它的规定对XML数据进行转换,当转换得到的新文件是HTML文件时,就可以按照HTML标记的含义准确地显示出来,否则将转换所得的文件中所有标记以外的文本内容以默认字体显示在一个段落中;如果这个样式单是一个CSS文件,IE5会按照样式单的规定给每个标记赋予一组样式,然后再显示;如果没有指定样式单文件,则去套用一个缺省的样式单文件,其效果是显示XML的源代码,只不过对于其中的标记、属性、内容等作了一些特殊处理。除此以外,IE5还能够对XML文档按照DTD进行语法检查,支持内嵌入HTML的XML island,并支持最新提出的schema。
(3)替代传统的EDI
EDI就是电子数据交换。它是网络发展的一个主要目的市场。那么XML定义这些更严格的数据结构对编写Web页面的人有什么好处呢?这样的数据结构的一个重要的优点就是用户可以很容易将文件的属性映射到数据结构或对象分级结构中。这就使在客户端的浏览器和数据库之间来回传输文件变得很可靠,也使用户可以使用结构化的XML文件作为一种中介体让数据在两种数据库之间灵活的进行转移。也就是说,人们得到了一种从文件中检索信息的可靠的方法,这也就是人们所熟悉的语法分析。这种数据结构的另一个好处是使各种格式的XML文件都可以被机器识别。允许机器能够识别各种格式的XML页面就可以让不同的站点之间自动共享不同格式的数据。使用DTD,用户甚至可以通过一个共同的描述连接不同的格式的数据。这种共享对EDI(电子数据交换)和供应链集成应用是非常理想的。
(4)智能代理和精确搜索
XML的重要特性就是允许有自描述信息。尽管并不要求XML文件必须是可以自描述的(只要求是结构化的),但带有自描述可以增强Web的检索功能。这些描述被称作“元数据(metedata)”,它们可以包括有关一个文件的信息如安全(谁可以阅读它)、阅读范围、文件内容、文件是用什么语言写的、作者是谁以及关于这个文件的其它任何信息。虽然HTML也有一个增加元数据的功能(即<Meta>标记),但是它未能很好地对交换不同元数据属性的格式进行定义。如,一个使用author属性的站点将不能够共享一个使用属性writer的站点的元数据。元数据可以大大增强Web的检索和导航功能。比如要通过Web搜索“一个在北京出售的价格为80元的《XML高级编程》”。通过普通的HTML完成这样一个查询过程是非常复杂的,但有了XML,WEB页面就可以自动完成这一系列的查询过程。
元数据带来的另一个好处就是使用软件代理。代理这个词在计算机方面应用得非常广,人们对它的理解也不尽统一。我们所讲的代理是指一个能够从网络上的多台机器中根据用户的需要搜集信息的一个有线程的对象工具。代理通常被认为是“智能”的、“可移动的”或者是“个人化的”。XML元数据允许一个代理变得更加个人化,即它能够访问数据的描述,这些描述将有助于代理找到它所需要的信息。
HTML的目的在于标示数据以便于在浏览器中显示,而XML的目的在于标示数据以便机器处理,特别强调数据的语义与元素之间的关系。对计算机来说从XML文档中提取数据比从HTML文档来得容易。因此,当Web上出现更多的XML内容时,Web搜索的精确程度也必定会有很大的提高。HTML的标记数量是固定的,但XML允许用户自己定义元素。