首页 > 代码库 > dtd与schema的区别&XML文件解析常用方式

dtd与schema的区别&XML文件解析常用方式

 Schema和DTD   
都是用来定义各种文件中XML标记的使用规范.
Schema是标准的XML文件,而DTD则使用自己的特殊语法,因此,只需要知道XML的语法规则就可以编写Schema了,不需要再学习其它语法规则.可以使用相同的处理器来解读,
Schema利用命名空间将文件中特殊的节点与Schema说明相联系,一个XML文件可以有多个对应的Schema,若是DTD的话,一个XML文件只能有一个相对应的DTD文件.
Schema的内容模型是开放的,可以随意扩充,而DTD则无法解读扩充的内容.DTD只能把文件类型定义为一个字符串,而Schema却允许把文件类型定义为整数,浮点数,字符串,布尔值或其他各各数据类型,而无须重新定义.
Schema相对DTD的明显优势是Schema文件本身也是XML文件,而不是像DTD那样使用特殊格式,因而方便了用户和设计者. 因为他们可以使用相同的工具来处理与开发Schema和其他的XML数据,而不必用专门的开发或处理工具.

XML文件解析方式: SAX解析 和 DOM解析
SAX解析:利用文件流的方式,一行一行的读取并解析。解析完了不用了便可以回收。 节省内存,但速度慢。
DOM解析:一次性读取入内存,对其结构进行分析解释。 速度提升了,但非常占用内存。

dtd与schema的区别&XML文件解析常用方式