微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML基本概念解析(一) SAX、DOM、DTD和Schema

DOM、SAX、DTD和XML Schema易混概念解析
作者:雨水 日期:2007-03-21 转载请保留此处
刚开始学习XML有几个概念最容易混淆,弄不清楚是怎么回事。这里将XML的DOM、SAX、DTD、Schema四个重要概念分析一下,以解之惑。
DOM和SAX是应用中操纵XML文档的两种主要API,它们分别解释如下:
DOM,即Document Object Model,中文叫文档对象模型。DOM是W3C定义的标准文档对象模型,是一个与操作系统和编程语言无关的、用于内存存储和操作层次化文档的模型。当按照DOM模型解析XML文档时,就会在内存中构造一个对应的DOM树,它可以用于不同节点之间的遍历。然而,在遍历之前必须先完成DOM树的构造。因此,在处理规模较大的XML文档时就很耗内存,占用资源较多。尤其是只需要操作文档中一小部分时效率很低。
SAX,即Simple API for XML的简称,中文叫XML简单应用程序接口。它是一个事实上的标准。与DOM不同的是,它是用事件驱动模型。解析XMl文档时每遇到一个开始或者结束标签、或者属性、或者一条指令时,程序就产生一个事件来进行相应的处理。所以在操作文档之前不需要对整个文档进行解析。实际上,文档的各个部分可以在进行解析的同时进行操作。因此,SAX相对于DOM来说更适合操作大文档。
DTD和Schema是用于定义 XML文档结构的工具。它们一方面用于定义XML文档的结构,另一方面用于验证XML文档是否满足指定的结构。
DTD,即Document Type Define,中文称文档类型定义。它是标准通知标记语言(SGML)DTD的一个子集。一个XML DTD定义了XML文档的元素架构、元素标记属性。建立XML文档时通常需要按照DTD规范来进行,反过来可以通过对文档进行DTD验证,检验XML文档建立的正确性。DTD不能定义一些必要的限制条件,如元素出现的次数、数据类型等,因此DTD更适于以文档为中心的XML内容
Schema,中文称模式。与DTD不同,它本身也是基于XML。XML Schema同时还支持名称空间,能够定义比DTD更复杂的数据类型和结构。XML Schema内置支持一系列的简单数据类型,如字符串、小数和整数等,还可以定义元素出现的次数。因此XML Schema更适合以数据为中心的文档。
目前,越来越多的应用中偏向于采用XML Schema来定义和验证XML文档。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类