xsi:schemaLocation的作用

在研究Spring如何获取对象的时候,xsi:schemaLocation突然爆出URL必须是偶数个,从来没有对applicationContext.xml文档头关注过,只是copy过来就用了

利用xmlns就是防止同时两个xml被同时使用时,两个文档带有不同的内容和定义的元素,XML解析器无法如何处理这些问题,会发生命名冲突。

用xmlns就是为了给他对应url指定一个命名前缀,比如:

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

<context:component-scan base-package="com.example"/>

语法大概就是:xmlns:namespace-prefix="namespaceURI"

保证"namespace-prefix"这个不重复就行,再次引用这个namespaceURI,需要用这个"namespace-prefix"去调用

 

xmlns 和 xmlns:xsi

xmlns表示默认的Namespace,默认的XML Namespace为http://www.springframwork.org/schema/beans,默认的Namespace中的元素,可以不使用前缀。

xmlns:xsi表示使用xsi作为前缀的Namespace,当然前缀xsi需要在文档中声明。

 

xsi:schemaLocation的作用

xsi:schemaLocation属性其实是Namespace为http://www.w3.org/2001/XMLSchema-instance里的schemaLocation属性。

定义了XML Namespace和对应的XSD(Xml Schema Definition)文档的位置的关系。它的值由一个或多个URI引用对组成,两个URI之间以空白符分隔(空格和换行均可)。第一个URI是定义的XML Namespace的值,第二个URI给出Schema文档的位置,Schema处理器将从这个位置读取Schema文档,该文档的targetNamespace必须与第一个URI相匹配。

一切以  xsi:schemaLocation=“”为准,也就是说xsi:schemaLocation包含的部分一定要出现在名字空间中

posted @ 2019-08-16 16:03  SurpriseSui  阅读(1692)  评论(0编辑  收藏  举报