原文连接:https://www.jianshu.com/p/7f4cbcd9f09f

------------------------------------------------------

相信很多人对xml 头上一大堆得东西都是拿来主义,copy过来就行了,并不理解那是什么意思

先来一段

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-3.1.xsd  http://www.springframework.org/schema/mvc  http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"><context:component-scan base-package="com.pikaq"/><bean id="xxx" class="xxx.xxx.xxx.Xxx"><property name="xxx" value="xxxx"/>
</bean>
</beans>

首先看到的就是 xmlns, xmlnsXML 是Namespace的缩写,可译为“XML命名空间”

为什么需要xmlns?

因为xml文件有成千上万,谁也不能保证你的标签是独一无二的,总是会冲突的,这时就需要xmlns了!

怎么使用xmlns 呢?

使用语法: xmlns:namespace-prefix="namespaceURI"。其中namespace-prefix为自定义前缀,只要在这个XML文档中保证前缀不重复即可;namespaceURI是这个前缀对应的XML Namespace的定义。例如:

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

这里的<component-scan/>元素就来自别名为context的XML Namespace,也就是在http://www.springframework.org/schema/context中定义的。
其实我们完全可以将前缀定义为abc:

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

好了,看到这里,你也许会问 那 xmlns 和xmlns:context 有什么区别呢?

xmlns 没有带别名,就是表示那是默认的,如

<bean id="xxx" class="xxx.xxx.xxx.Xxx">
<property name="xxx" value="xxxx"/>
</bean>

这里的bean 属性就出自这个默认命名空间

xsi:schemaLocation 是干嘛的?

看到这里也许你已经知道了它是干嘛的了
schemaLocation不就是 xsi 命名空间的一个属性吗,如果之前我们把
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 的别名改成
xmlns:sb="http://www.w3.org/2001/XMLSchema-instance"

这里其实就变成 sb:schemaLocation,这里讲一下这个属性是干嘛的,这个属性的值由一个或多个URI引用对组成,两个URI之间以空白符分隔(空格和换行均可)
它定义了XML Namespace和对应的 XSD(Xml Schema Definition)文档的位置的关系,意思就是 这个命名空间对应的具体模板是哪个

例如我们打开 http://www.springframework.org/schema/mvc/ 这个 命名空间,可以看到有很多选择

xsi:schemaLocation 这个属性就是跟他说我要选择哪一个!

关于xml文件 xsi:schemaLocation相关推荐

  1. java的开发环境日蚀日_将依赖项添加到后未解析geotools的导入pom.xml文件在日蚀中...

    我尝试将地理工具添加到我的pom.xml文件使用以下指南: https://www.baeldung.com/geo-tools http://docs.geotools.org/latest/use ...

  2. XML 中的 xmlns、xmlns:xsi、xsi:schemaLocation

      在用 Java 开发项目的过程中,少不了使用 xml 配置文件,比如 web.xml.pom.xml.applicationContext.xml 等等.在这些文件中,都会出现 xmlns.xml ...

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

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

  4. XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation理解

    java开发项目中,经常用到xml配置文件,比如web.xml.applicationContext.xml.pom.xml等.在这些文件中都有xmlns.xmlns:xsi和xsi:schemaLo ...

  5. 从源码角度解读 xml 文件中的 xmlns、xsi、xsd

    xml 文件中的 xmlns.xsi.xsd xmlns xsi xsd 下面是 spring.xml 中的一段: <beans xmlns="http://www.springfra ...

  6. Spring xml文件xmlns和xsi的意思

    了解xml文件的同学应该都知道xml文件的验证模式保证了xml文件格式的正确性,主要的验证模式有DTD以及XSD.不过现在spring比较常用到的是xsd.以下面的例子进行一个分析: <bean ...

  7. XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation

    文章转载自:https://yq.aliyun.com/articles/40353 相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头 ...

  8. xml文件的xsi:type如何实现序列化

    1.如下标签:如何定义类对象 <contactPerson classCode="PSN" determinerCode="INSTANCE">   ...

  9. 关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation

    相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头拷贝过来,并没有理解其中元素(比如xmlns,xmlns:xsi,xsi:schema ...

最新文章

  1. 面试官:谈一下你对DDD的理解?我:马什么梅?
  2. CNN如何用于NLP任务?一文简述文本分类任务的7个模型(附代码)
  3. mysql数据对比同步_跨数据库mysql语句同步数据和对比运算
  4. small用于不连续数组_Excel公式技巧19: 在方形区域内填充不重复的随机整数
  5. 第一章:AJAX与jQuery
  6. python信用卡违约预测分析_Python数据分析及可视化实例之银行信用卡违约预测(24)...
  7. Cesium获取经度 ,纬度,高度
  8. php商品评价代码,php商品对比功能代码分享
  9. tortoiseSVN svn+ssh
  10. sftp访问_实时数据处理探索:接收、处理、访问
  11. 7.Swoole的自定义协议功能的使用
  12. Dreamweaver文字或图片如何添加空链接代码
  13. unity的安装教程
  14. 已知基因名,如何在genbank中查询基因序列?
  15. wei.getA()
  16. 热电偶 matlab,基于MATLAB的陶瓷窑炉温度与热电偶热电势关系的数学模型研究
  17. 微信小程序开发多少钱?微信小程序开发费用
  18. android慢快门相机,慢快门app-Slow Shutter Cam官网版(附教程)预约 _5577安卓网
  19. 计算机中存储的数据类型
  20. 时间序列matlab的实现

热门文章

  1. javaee 中遇到的jdk自带的异常(Exception)
  2. flash as3与后台php交互用户注册例子,as3与PHP后台交互2
  3. php中手机端ajax上拉加载更多,jQuery手机网页上拉加载更多
  4. linux上的中国象棋游戏下载,中国象棋下载_中国象棋最新下载_玩一玩游戏
  5. 简单封装kafka相关的api
  6. android target unknown and state offline解决办法
  7. Ubuntu更换gnome桌面环境后不能root登录
  8. linux命令行的操作符,如何在Linux命令行中进行基本的数学运算
  9. 不思议迷宫c语言基础,不思议迷宫神龙收藏品一览
  10. c++输出重定向 linux,C++ stderr/stdout 重定向到文件