第一种:
<?xml version="1.0" encoding="UTF-8"?>
《beans》 xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
《beans/》
第二种:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
《beans》
《beans/》
上面beans标签尖括号用的中文的书名号,不要在意
因为打不进去...
对使用来说没什么区别。只是Spring 会针对DTD和XSD采取不同的验证模式,对不同的验证模式会使用不同的解析器解析。
在验证XML时,Spring会读取到publicId和systemId。
如果是XSD 则读取到:
publicId:null
systemId:http://www.springframework.org/schema/beans/spring-beans.xsd
如果是DTD 则读取到:
publicId:-//SPRING//DTD BEAN//EN
systemId:http://www.springframework.org/dtd/spring-beans.dtd
然后根据systemId的后缀,来进行不同的解析。
有兴趣可以看一下《Spring 源码深度解析》,里面有具体的讲解Spring怎么验证XML的
另外XSD和DTD的区别参考文章:
http://blog.csdn.net/ningguixin/article/details/8171581
下面的是低版本,使用dtd文件验证,
上面的高版本,使用xsd验证
没有本质区别