最近在品读mybatis源码的时候,发现以前做项目的时候,所有xml配置文件一直都是直接从一个项目中拷贝到另一个项目中,配置文件的头部也不知道干嘛用的,感觉可有可无,当debug追踪Spring IOC加载sqlsessionFactory的时候,发现这个文件头部是用来检查xml的,随着Spring等相关版本升高,原先的功能有遗弃的,有新增的,在按照往常的拷贝,势必会留下隐患。本文将结合网上已有知识点和自己的理解来解释下他们的来龙去脉。
1、DTD 现在基本已被XSD文档取代,但是,仍有个别在使用 比如 Mybatis mapper xml文件
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
上面用的是公共DTD,DTD名称格式为"注册//组织//类型 标签//语言"
"注册" 指示组织是否由国际标准化组织(ISO)注册,+表示是,-表示不是;
"组织" 即组织名称,如:mybatis.org;
"类型" 一般是DTD;
"标签" 是指定公开文本描述,即对所引用的公开文本的唯一描述性名称,后面可附带版本号,如Mapper 3.0。
"语言" EN指英语;