DTD 验证
概念:DTD 文档类型定义
作用:验证是否是“有效”的 XML
PCDATA(Parsed Character DATA)的意思是被解析的字符数据
CDATA(Unparsed Character Data)不应由 XML解析
器进行解析的文本数据
使用 DTD 的局限性
1) DTD 不遵守 XML 语法
2) DTD 数据类型有限
3) DTD 不可扩展
4) DTD 不支持命名空间
Schema 技术
Schema 是 DTD 的代替者,名称为 XML Schema ,用于描述 XML 文档结构,比 DTD 更加强大,最主要的特征之一就是XML Schema 支持数据类型
1) Schema 是用 XML 验证 XML 遵循 XML 的语法
2) Schema 可以用能处理 XML 文档的工具处理
3) Schema 大大扩充了数据类型,而且还可以自定义数据类型
4) Schema 支持元素的继承5) Schema 支持属性组
Schema 的文档结构
所有的 Schema 文档使用 schema 作为其根元素 http://www.w3.org/2001/XMLSchema : 用于验证当前 Schema 文档的命名空间( 用于验证 Schema 本身 ) 同时它还规定了来自 命名空间 http://www.w3.org/2001/XMLSchema 的元素和数据 类型应该使用前缀 xs:
xmlns 相当于 java 中的 import, :xs “小名” , 在使用时要写加 “小名”做前缀(XML 使用 Schema 验证 , 那 Schema 也是一个 XML ,谁来验证它?DTD )
使用 Schema 验证 XML 文档
1) 创建 SchemaFactory 工厂
2) 建立验证文件对象
3) 利用 SchemaFactory 工厂对象,接收验证的文件对象,生成 Schema 对象
4) 产生对此 schema 的验证器
5) 要验证的数据(准备数据源)
6) 开始验证