关于xml文件 xsi:schemaLocation
原文连接: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相关推荐
- java的开发环境日蚀日_将依赖项添加到后未解析geotools的导入pom.xml文件在日蚀中...
我尝试将地理工具添加到我的pom.xml文件使用以下指南: https://www.baeldung.com/geo-tools http://docs.geotools.org/latest/use ...
- XML 中的 xmlns、xmlns:xsi、xsi:schemaLocation
在用 Java 开发项目的过程中,少不了使用 xml 配置文件,比如 web.xml.pom.xml.applicationContext.xml 等等.在这些文件中,都会出现 xmlns.xml ...
- 详解 xml 文件头部的 xmlns:xsi
xmlns:(XML Namespaces的缩写)是一个属性,是XML(标准通用标记语言的子集)命名空间的声明.作用是赋予命名空间一个唯一的名称. 命名空间是什么呢? 由于xml允许你自己定义自己的标 ...
- XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation理解
java开发项目中,经常用到xml配置文件,比如web.xml.applicationContext.xml.pom.xml等.在这些文件中都有xmlns.xmlns:xsi和xsi:schemaLo ...
- 从源码角度解读 xml 文件中的 xmlns、xsi、xsd
xml 文件中的 xmlns.xsi.xsd xmlns xsi xsd 下面是 spring.xml 中的一段: <beans xmlns="http://www.springfra ...
- Spring xml文件xmlns和xsi的意思
了解xml文件的同学应该都知道xml文件的验证模式保证了xml文件格式的正确性,主要的验证模式有DTD以及XSD.不过现在spring比较常用到的是xsd.以下面的例子进行一个分析: <bean ...
- XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation
文章转载自:https://yq.aliyun.com/articles/40353 相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头 ...
- xml文件的xsi:type如何实现序列化
1.如下标签:如何定义类对象 <contactPerson classCode="PSN" determinerCode="INSTANCE"> ...
- 关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation
相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头拷贝过来,并没有理解其中元素(比如xmlns,xmlns:xsi,xsi:schema ...
最新文章
- 面试官:谈一下你对DDD的理解?我:马什么梅?
- CNN如何用于NLP任务?一文简述文本分类任务的7个模型(附代码)
- mysql数据对比同步_跨数据库mysql语句同步数据和对比运算
- small用于不连续数组_Excel公式技巧19: 在方形区域内填充不重复的随机整数
- 第一章:AJAX与jQuery
- python信用卡违约预测分析_Python数据分析及可视化实例之银行信用卡违约预测(24)...
- Cesium获取经度 ,纬度,高度
- php商品评价代码,php商品对比功能代码分享
- tortoiseSVN svn+ssh
- sftp访问_实时数据处理探索:接收、处理、访问
- 7.Swoole的自定义协议功能的使用
- Dreamweaver文字或图片如何添加空链接代码
- unity的安装教程
- 已知基因名,如何在genbank中查询基因序列?
- wei.getA()
- 热电偶 matlab,基于MATLAB的陶瓷窑炉温度与热电偶热电势关系的数学模型研究
- 微信小程序开发多少钱?微信小程序开发费用
- android慢快门相机,慢快门app-Slow Shutter Cam官网版(附教程)预约 _5577安卓网
- 计算机中存储的数据类型
- 时间序列matlab的实现
热门文章
- javaee 中遇到的jdk自带的异常(Exception)
- flash as3与后台php交互用户注册例子,as3与PHP后台交互2
- php中手机端ajax上拉加载更多,jQuery手机网页上拉加载更多
- linux上的中国象棋游戏下载,中国象棋下载_中国象棋最新下载_玩一玩游戏
- 简单封装kafka相关的api
- android target unknown and state offline解决办法
- Ubuntu更换gnome桌面环境后不能root登录
- linux命令行的操作符,如何在Linux命令行中进行基本的数学运算
- 不思议迷宫c语言基础,不思议迷宫神龙收藏品一览
- c++输出重定向 linux,C++ stderr/stdout 重定向到文件