对XML文件的重新认识,说说XML文件的二三事(二):两种验证模式-DTD和XSD

  认识两种XML的验证模式是在Spring源码深度解析中看到的,这本书上来就介绍XML的基本知识,可见XML在Spring的配置中所占据的重要作用,这两种验证模式的出现主要是为了适应XML的较广的应用范围,因此需要极其严格的格式。话不多说,来介绍下XML的两种验证模式;

1.DTD和XSD两种验证模式的定义

DTD:DocumentType Definition直译为文档类型定义,作为一种XML约束模式语言,DTD的主要作用可以理解为保证,规范XML文档格式。通过DTD和XML文件格式的对比,来验证XML文件中的标签和元素的正确性。

XSD:XMLSchemas Definition,基于XML文档,用于描述XML文档的结构,并验证其格式的正确性。

   XSD已经加入W3C的标准体系中,并逐渐取代DTD,servlet标准在2.5开始就放弃使用dtd,改用了xsd那两者的比较是什么呢?

2.DTD和XSD两种验证模式的比较

模式

使用方法

优缺点

DTD

1.需要在XML文件的头部进行声明。所声明的代码为:

<!DOCTYPEconfiguration PUBLIC"//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3config.dtd">

优点: 多个XML文件可以共享一个DTD。

缺点:

1. 非XML语法编写,不可扩展

2.不支持命名空间

3数据类型十分有限

XSD

1.       需要先声明命名空间。

xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"

2.       指定命名空间的所对应的XML Schema文档的位置。包含命名空间的URL和文件位置信息。

xsi:schemaLocation="http://www.springframework.org/schema/mvc 

http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

优点:

1.XML Schema基于XML,没有专门的语法,因此可以象其他XML文件一样解析和处理

2. XML Schema比DTD提供了更丰富的数据类型.

缺点:

3.      XML文件为什么需要验证模式?

两个词汇,通信,交换。当大家都处于同一个模式,同一个标准的时候,才能够更好的交换数据,保证XML文件数据得以在工业中应用。当用到验证模式的时候,元素与元素之间的关系、元素与属性的关系,属性的取值才得以保证正确,这样不同公司之间进行数据交换,通信才能准确无误。

猜你喜欢

转载自blog.csdn.net/horero/article/details/76633315