Spring源码深度解析
记录点:获取XML的验证模式
一、
验证文件的加载方式:
1.默认方式:通过声明的URL进行网络下载获取(不常用)
2.将验证文件放置在工程中--------如何将默认方式1中的URL转化成工程中的地址文件?
其中涉及到EntityResolver,什么是EntityResolver?
官网解释:如果SAX应用程序需要实现自定义处理外部实体,必须实现此接口并使用setEntityResolver。翻译一下就是如果想实现上述步骤2,必须实现此接口。
EntityResolver作用:你的项目本身就可以提供一个如何寻找DTD声明的方法(此书的项目指的spring)。即由程序来实现寻找DTD声明的过程。
Spring中对于如何获取EntityResolver?
通过getEntityResolver,内部实现则是,对于不同的验证模式,采用不同的解析器解析。(即DTD和XSD获取的路径是不同的)
二、验证模式
DTD和XSD的区别(XML文件的两种验证模式)
DTD:验证XML文件是否符合规范
XSD:XML的schema语言,描述XML的文档结构,可用于验证XML文档是否符合当前schema要求。