xmlns.和 xmlns:xsi 和 xsi:schemaLocation区别

例子1:<project xmlns="http://maven.apache.org/POM/4.0.0" 

             --命名空间,类似包名,因为xml的标签可自定义,需要命名空间来区分
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -----xml遵循的标签规范
            xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                                                 http://maven.apache.org/xsd/maven-4.0.0.xsd">

                 -- 用来定义xmlschema的地址,也就是xml书写时需要遵循的语法,
      

1.什么是xmlns呢?xmlns其实是XML Namespace的缩写,xmlns是web.xml文件用到的命名空间,可译为“XML命名空间”.

2.xmlns:xsi是指web.xml遵守xml规范,xsi全名:xml schema instance

使用语法: xmlns:namespace-prefix="namespaceURI"。其中namespace-prefix为自定义前缀,只要在这个XML文档中保证前缀不重复即可;namespaceURI是这个前缀对应的XML Namespace的定义,如例子1中namespace-prefix为xsi。这个命名空间里面的元素或者属性就必须要以xsi:这种方式来写,比如schemaLocation就是他的一个属性,所以写成xsi:schemaLocation

3.xsi:schemaLocation是指具体用到的schema资源,两部分组成,前面部分就是命名空间的名字,后面是xsd(xmlschema)的地址。xsi:schemaLocation属性的值由一个URI引用对组成,两个URI之间以空白符分隔。第一个URI是名称空间的名字,第二个URI给出模式文档的位置,模式处理器将从这个位置读取模式文档,该模式文档的目标名称空间必须与第一个URI相匹配。对于属性值的写法是有规律的,中间使用空格隔开,后面的值是前面的补充,也就是说,前面的值是去除了xsd文件后得来的。




 

原文地址:https://www.cnblogs.com/libaowen609/p/12819706.html