|
XML入门(5) 在使用XML交换数据时,有效性是相当重要的.如果我有一个有关发票的XML文档而且我想和我的商业伙伴通过它来交换数据,那我该怎么办呢?显然,我首先要告诉我的伙伴我想要的文件格式和我的文档将遵从的格式. 目前有两种方法可以用来详细定义XML文档的格式:Document Type Definition(DTD)和XML Schema.DTD是XML1.0标准中的一部分,所以它们目前是最流行的定义方法.但是问题在于DTD使用的语法非常不直观,这就与XML的宗旨背道而驰.而且DTD不能让你自己指定不同元素的类型. XML Schemas说明规格则是由微软和其他XML业界公司提出来的,被W3C视为未来DTD的替代者.XML Schemas使用一种类XML语法来描述XML文档.另外,XML Schemas提供了在文件中描述元素类型的功能(通过XML-Data).在我们看来,对那些非SGML专业人员而言,Schemas比DTD更容易阅读,更容易理解,也更容易编写. XML能够让你轻松地定义自己的文件格式和标签,不过如果每一个人都使用他自己定义的文件格式的话,恐怕就没有人能彼此交换相似的文件信息了.目前有两个比较正式的"通用文件"标准组织,而且两者相互对立.在这种对峙的情况下,很多公司不得不痛苦地游离在两大阵营之间. BizTalk.这个由微软公司领导的组织希望建立一个为通用商务文件(发票,订单等)服务的平台. XML.org.这个组织则站在与微软公司对立的角度上,提倡用DTD来定义基本商务文件格式. 究竟哪一个标准会在这场游戏中取得最后的胜利,现在评论还为时过早.将来最有可能出现的情况是有两到三种流行的文件格式,而转换工具会帮助人们把文件从一种格式转换到另一种格式. 4.XML Document Object Model 如果你现在已经有了一个XML文件,你该如何对它进行操作呢?在下一节中,我们将介绍如何将一个XML文件转换成一个HTML文件在浏览器上显示出来,这一节我们要介绍的是使用XML Document Object Model(DOM)来读写XML文件.当一个XML处理器解析了一个XML文档后,处理器把该文档保存到一个内存空间树中.DOM是访问该树的程序化接口,通过它你可以读,添加,删除和编辑树中的节点. 图A展示了我们的实例文件保存到一个内存空间树中的情况.每一个DOM树都以一个文件对象为起点,所有的数据都保存其中. 图A 在IE5中,可以通过任何一个程序或脚本语言对XML DOM进行访问.例如,在表B中的Javascript将改变美洲航空公司第一个航班的航线:
|