对XML文件的重新认识,说说XML文件的二三事(二):两种验证模式-DTD和XSD
来源:互联网 发布:绝地求生画面优化教程 编辑:程序博客网 时间:2024/06/16 14:12
认识两种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文件数据得以在工业中应用。当用到验证模式的时候,元素与元素之间的关系、元素与属性的关系,属性的取值才得以保证正确,这样不同公司之间进行数据交换,通信才能准确无误。
- 对XML文件的重新认识,说说XML文件的二三事(二):两种验证模式-DTD和XSD
- 对XML文件的重新认识,说说XML文件的二三事(三):XML两类解析模式(1)-SAX解析XML
- 对XML文件的重新认识,说说XML文件的二三事(三):XML两类解析模式(2)-DOM类解析XML
- 前言:对XML文件的重新认识,说说XML文件的二三事(一)
- MyEclipse添加XML的xsd文件和dtd文件
- 验证xml--xsd和dtd
- XML的DTD,XSD
- 通过xsd验证xml合法性的例子。有验证程序,xml和xsd文件
- xsd验证xml的两种方法
- Xsd文件验证xml的java实现
- xsd文件验证xml的java实现
- xml文件的xsd验证失败信息
- XML文件和XSD文件的关系
- XML文件和XSD文件的关系
- DTD - XML验证文件
- XML,DTD,XSD的区别
- 关于XML的验证(DTD与XSD)一点实践
- 一个简单的系统配置文件使用DTD和XSD两种方式描述
- Win10应用未在所需的时间内启动该怎么办?win10自带应用打不开的解决方法
- 单片机开发之按键
- Binder机制总结起来就这一段话
- 快速搭建maven+Spring-boot框架(附代码)
- 15、oracle:计算两个时间的差值
- 对XML文件的重新认识,说说XML文件的二三事(二):两种验证模式-DTD和XSD
- Android底部导航栏——bottomnavigation结合viewpager的实现
- 动态规划(一)
- AJAX实现跨域请求
- LED样式的jQuery时间倒计时插件
- 《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)周志明 著》阅读笔记目录(已完结)
- shell笔记
- HTML5_转译字符、相对路径、绝对路径、根相对路径
- Android NDK开发之旅(2):一篇文章搞定Android Studio中使用CMake进行NDK/JNI开发