在xml文件中,为了区分相同的element,需要引用namespace,并且namespace需要用URI进行区分。URI是否为Internet上的真实的url或者是在url上可以找到对应的schema文件,这个问题,我一直有点困惑!在网上查找了一些文档,w3c并没有强制执行这个标准。
仁者见仁,智者见智!其实,关键在于xml的解析器是否需要验证xml的element,以及设置解析器的验证。在Java中,Spring,Hibernate,Struts等开源或者J2EE官方的一些配置,就需要正确的URI,当然,在没有网络的情况下,这些开源的jar中,会有这些schema的文件。
可以参考wiki的文章:[url]http://zh.wikipedia.org/wiki/XML%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4[/url]
另外,特别注意schemaLocation的值。
如:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
先去在jar中根据路径http://www.springframework.org/schema/beans找对应的schema,如果没有,去url:http://www.springframework.org/schema/beans/spring-beans.xsd取schema。
仁者见仁,智者见智!其实,关键在于xml的解析器是否需要验证xml的element,以及设置解析器的验证。在Java中,Spring,Hibernate,Struts等开源或者J2EE官方的一些配置,就需要正确的URI,当然,在没有网络的情况下,这些开源的jar中,会有这些schema的文件。
可以参考wiki的文章:[url]http://zh.wikipedia.org/wiki/XML%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4[/url]
另外,特别注意schemaLocation的值。
如:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
先去在jar中根据路径http://www.springframework.org/schema/beans找对应的schema,如果没有,去url:http://www.springframework.org/schema/beans/spring-beans.xsd取schema。