转自:http://blog.csdn.net/zhengyeqing520/article/details/6091656

https://zhidao.baidu.com/question/109486114.html

http://bbs.csdn.net/topics/390751819

http://www.cnblogs.com/zhao1949/p/5652167.html

xmlns:是XML NameSpace的缩写,因为XML文件的标签名称都是自定义的,自己写的和其他人定义的标签很有可能会重复命名,而功能却不一样,所以需要加上一个namespace来区分这个xml文件和其他的xml文件,类似于java中的package。
xsi:schemaLocation用于声明了目标名称空间的模式文档。

xsi:schemaLocation详解

在实例中引用模式文档

XML Schema提供了两个在实例文档中使用的特殊属性,用于指出模式文档的位置。这两个属性是:xsi:schemaLocation和xsi:noNamespaceSchemaLocation,前者用于声明了目标名称空间的模式文档,后者用于没有目标名称空间的模式文档,它们通常在实例文档中使用。

4.5.7.1  xsi:schemaLocation属性

xsi:schemaLocation属性的值由一个URI引用对组成,两个URI之间以空白符分隔。第一个URI是名称空间的名字,第二个URI给出模式文档的位置,模式处理器将从这个位置读取模式文档,该模式文档的目标名称空间必须与第一个URI相匹配。我们看例4-28。

例4-28  book6.xml

<?xml version="1.0" encoding="GB2312"?>
<book xmlns="http://www.sunxin.org/book"   ①
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  ②
xsi:schemaLocation="http://www.sunxin.org/book http://www.sunxin.org/
book.xsd">  ③
<title>《Struts 2深入详解》</title>
<author>孙鑫</author>
</book>

① 声明默认的名称空间(http://www.sunxin.org/book)。

② 声明XML Schema实例名称空间(http://www.w3.org/2001/XMLSchema-instance),并将xsi前缀与该名称空间绑定,这样模式处理器就可以识别xsi:schemaLocation属性。XML Schema实例名称空间的前缀通常使用xsi。

③ 使用xsi:schemaLocation属性指定名称空间http://www.sunxin.org/book和模式位置http://www.sunxin.org/book.xsd相关。要注意,在这个例子中,book.xsd中声明的目标名称空间要求是http://www.sunxin.org/book。

一个可能的模式文档book.xsd如例4-29所示。

例4-29  book.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.sunxin.org/book"
targetNamespace="http://www.sunxin.org/book"
elementFormDefault="qualified"><xs:element name="book" type="bookType"/>
<xs:complexType name="bookType">
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

实际上,xsi:schemaLocation属性的值也可以由多个URI引用对组成,每个URI引用对之间使用空白符分隔。例4-30的实例文档使用了多个名称空间,xsi:schemaLocation属性的值包含了两对URI。

例4-30  books.xml

<?xml version="1.0" encoding="GB2312"?>
<books xmlns="http://www.sunxin.org/bks" xmlns:p="http://www.sunxin.org/people"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sunxin.org/bks bks.xsd
http://www.sunxin.org/people people.xsd">
<book>
<title>JSP深入编程</title>
<author>
<p:name>张三</p:name>
<p:title>作家</p:title>
</author>
</book>
<book>
<title>XML从入门到精通</title>
<author>
<p:name>李四</p:name>
<p:title>教师</p:title>
</author>
</book>
</books>

XML Schema推荐标准中指出,xsi:schemaLocation属性可以在实例中的任何元素上使用,而不一定是根元素,不过,xsi:schemaLocation属性必须出现在它要验证的任何元素和属性之前。

此外,要注意的是,XML Schema推荐标准并没有要求模式处理器必须要使用xsi:schemaLocation属性,某些模式处理器可以通过其他的方式来得到模式文档的位置,而忽略xsi:schemaLocation属性。

xsi:noNamespaceSchemaLocation属性

xsi:noNamespaceSchemaLocation属性用于引用没有目标名称空间的模式文档。与xsi:schemaLocation属性不同的是,xsi:noNamespaceSchemaLocation属性的值是单一的值,只是用于指定模式文档的位置。例4-31显示了在实例文档中xsi:noNamespaceSchema Location属性的使用。

例4-31  book7.xml

<?xml version="1.0" encoding="GB2312"?>
<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="book.xsd"
isbn="978-7-121-06812-6" >
<title>《Struts 2深入详解》</title>
<author>孙鑫</author>
</book>

与xsi:schemaLocation属性一样,xsi:noNamespaceSchemaLocation属性也可以在实例中的任何元素上使用,而不一定是根元素,不过,xsi:noNamespaceSchemaLocation属性必须出现在它要验证的任何元素和属性之前。

此外,要注意的是,XML Schema推荐标准并没有要求模式处理器必须要使用xsi:noNamespaceSchemaLocation属性,某些模式处理器可以通过其他的方式来得到模式文档的位置,而忽略xsi:noNamespaceSchemaLocation属性。

、、、、、、、、、、、、、、、、、、、、

我来给你解释一下吧,首先这个文件是一个xml文件,那么他里面的所有内容都符合xml语法规范,开头的<project></project>这最外层同样也是一个xml文件的标签,后面那一长串也就是所谓的属性,其中xmlns表示命名空间,xmlns="http://maven.apache.org/POM/4.0.0" 这表示默认命名空间,而下面xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 这个命名空间里面的元素或者属性就必须要以xsi:这种方式来写,比如schemaLocation就是他的一个属性,所以写成xsi:schemaLocation,而默认命名空间不带类似xsi这种,其实xml标签名称有个专业叫法叫做QName,而如果没有前面的xsi:这种一般叫做NCName。所以你看mvn里面的<dependency>这种就是默认命名空间下面的元素,最后那一行就表示把定义这个命名空间的schema文件给引用进来,好让eclipse这类型工具能够解析和验证你的xml文件是否符合语法规范。等同于<import namespace="xxx" schemaLocation="xxx.xsd"/>。

xsi:schemaLocation详解 1相关推荐

  1. xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance(xsi:schemaLocation详解)

    http://topic.csdn.net/u/20110117/01/3e3cc322-8f8e-4c2b-8cbb-768bf7319c59.html xmlns:xsi="http:/ ...

  2. xsi:schemaLocation详解

    在实例中引用模式文档 XML Schema提供了两个在实例文档中使用的特殊属性,用于指出模式文档的位置.这两个属性是:xsi:schemaLocation和xsi:noNamespaceSchemaL ...

  3. xmlns与xmlns:xsi和xsi:schemaLocation详解

    xml文件常用来作为配置文件,但是 xml 文件的头部会让初学者感到困惑, 这里对其进行一个清晰易懂的解释(梳理自网络资料) 先修知识 理解 xml 中的标签含义, 及标签之间树状的嵌套结构 了解 p ...

  4. 详解 xml 文件头部的 xmlns:xsi

    xmlns:(XML Namespaces的缩写)是一个属性,是XML(标准通用标记语言的子集)命名空间的声明.作用是赋予命名空间一个唯一的名称. 命名空间是什么呢? 由于xml允许你自己定义自己的标 ...

  5. spring boot 实战 / 可执行war启动参数详解

    概述   上一篇文章<spring boot 实战 / mvn spring-boot:run 参数详解>主要讲解了spring boot 项目基于maven插件启动过程中借助profil ...

  6. java中batch基础_详解Spring batch 入门学习教程(附源码)

    详解Spring batch 入门学习教程(附源码) 发布时间:2020-09-08 00:28:40 来源:脚本之家 阅读:99 作者:achuo Spring batch 是一个开源的批处理框架. ...

  7. [Spring mvc 深度解析(一)] 详解Servlet

    详解Servlet ​ Servlet是Server+Applet的缩写,表示一个服务器应用.通过上面的分析我们知道Servlet其实就是一套规范,我们按照这套规范写的代码就可以直接在Java的服务器 ...

  8. Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解

    Spring MVC 学习总结(二)--控制器定义与@RequestMapping详解 目录 一.控制器定义 1.1.实现接口Controller定义控制器 1.2.使用注解@Controller定义 ...

  9. Spring MVC 框架搭建及详解

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

最新文章

  1. linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
  2. Web Worker 使用教程
  3. Angular 事件绑定语法在 SAP Spartacus Popover Component 中的一个应用
  4. css 网格布局_CSS网格布局
  5. 如何拷贝工程_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些
  6. Jmeter html 报告中添加90% line time
  7. Vue:vue中使用layUI
  8. angularjs 资源集合
  9. 数据--第27课 - 初始斗转
  10. cad批量打印_最好用的cad批量打印方法
  11. 模拟京东商城登陆HttpRequest
  12. MIPS中lw指令运行时间最长
  13. Windows11显示网速
  14. HDMI接口 HDCP
  15. Nape的回调系统 nape.callbacks
  16. c++win32项目 如何显示后再删除一个绘图_iMATLAB 绘图扩展函数系列 | 让你绘图更自由(进阶专辑开篇)!...
  17. 职场潜规则之——言及莫论领导是非
  18. mysql 分区 分表 分库分表
  19. 实习 | 深圳市彼岸心智科技有限公司招募新成员啦
  20. 利用Python爬虫网站数据直接导入mysql数据库中

热门文章

  1. 判断链表是否有环和怎样找到环
  2. tuple and point
  3. Tcl字符串命令string
  4. 多人在线游戏服务器端开发心得
  5. 联想拯救者R9000P 和惠普光影精灵7哪个好
  6. 2020年汽车驾驶员(中级)考试APP及汽车驾驶员(中级)考试软件
  7. 微信公众号开发之关键词回复
  8. 使用wmic命令获得计算机硬件信息
  9. 【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案--2 数据分析
  10. 安卓开发之SQLite数据库