大家好,今天小编来为大家解答深入解析XML文件中的xmlns、xmlns:xsi、xsi:schemaLocation与DTD文件的功能这个问题,很多人还不知道,现在让我们一起来看看吧!
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd" 在这个文档中,根元素不言而喻,后面是xmlns。那么xmlns是什么? xmlns其实是XML Namespace的缩写,可以翻译为“XML命名空间”。不过我个人觉得翻译的名字很难理解,所以我们就叫它XML Namespace。
1. 为什么需要xmlns
考虑这样一个xml 文档。有两个标签:代表html表格元素:
AppleBanana 和: 描述表格
非洲咖啡桌80120如果这两个XML文档一起使用,将会发生命名冲突,因为两个文档包含不同内容和定义的元素。 XML 解析器无法确定如何处理此类冲突。为了解决上述问题,xmlns应运而生。
2.如何使用xmlns
非常简单,使用语法:xmlns:namespace-prefix="namespaceURI"。 Namespace-prefix是自定义的前缀,只要该前缀在这个XML文档中不重复即可; namespaceURI 是与此前缀对应的XML 命名空间的定义。例如,
xmlns:context="http://www.springframework.org/schema/context"这句话定义了一个http://www.springframework.org/schema/context的Namespace(这个和Java类中包的声明很相似),并将其绑定到前缀context上。所以上面的Spring XML文档中有这样一句话:
这里的元素来自别名为context 的XML 命名空间,它在http://www.springframework.org/schema/context 中定义。
例如:
ApplesBananas
3. xmlns和xmlns:xsi有什么不同
xmlns 表示默认命名空间。例如,在Spring XML 文档中
xmlns="http://www.springframework.org/schema/beans"这句话表示文档的默认XML Namespace是http://www.springframework.org/schema/beans。对于默认命名空间中的元素,不能使用前缀。例如,在Spring XML 文档中
xmlns:xsi 表示使用xsi 作为前缀的命名空间。当然,前缀xsi需要在文档中声明。
4. xsi:schemaLocation有何作用?
xsi:schemaLocation属性实际上是Namespace http://www.w3.org/2001/XMLSchema-instance中的schemaLocation属性,正是因为我们在开头声明了它
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"这里写成xsi:schemaLocation(当然一般都用这个前缀)。它定义了XML 命名空间和相应XSD(Xml 架构定义)文档位置之间的关系。它的值由一个或多个URI 引用对组成,两个URI 之间用空格分隔(空格和换行符都可以接受)。第一个URI 是定义的XML 命名空间的值。第二个URI 给出了架构文档的位置。模式处理器将从该位置读取模式文档。文档的targetNamespace 必须与第一个URI 匹配。例如
xsi:schemaLocation="http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd’这里表示Namespace为http://www.springframework.org/schema/context的Schema的位置是http://www.springframework.org/schema/context/spring-context。 xsd。在这里我们可以打开Schema的位置。这是文档的开头:
关于schema的作用,可以阅读这里https://www.cnblogs.com/DreamDrive/p/4184375.html
深入解析XML文件中的xmlns、xmlns:xsi、xsi:schemaLocation与DTD文件的功能和的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!
【深入解析XML文件中的xmlns、xmlns:xsi、xsi:schemaLocation与DTD文件的功能】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我一直对 XML 的内部机制很好奇,这篇标题讲得我很有兴趣!
有13位网友表示赞同!
想了解一下这些缩写到底是什么意思,感觉很像一些代码术语。
有12位网友表示赞同!
我记得以前学过 DTD 文件,不知道现在还用的多吗?XML 还有其他用法吗?
有8位网友表示赞同!
工作中经常接触 XML 数据,这篇文章应该能让我更了解它的结构。
有12位网友表示赞同!
之前看一些教程时,就看到了这些标签,但没太明白他们是用来干什么的。
有6位网友表示赞同!
文章分析这些概念是不是很专业,我平常用 XML 都是直接复制粘贴...
有17位网友表示赞同!
希望这篇文章能让我了解一下如何正确地定义和使用这些标签.
有8位网友表示赞同!
我的项目里好像需要用到 XML 和 DTD 文件,这篇帖子挺有帮助的。
有10位网友表示赞同!
学习编程的时候接触过 XML,但对它的具体细节不是很清楚。
有13位网友表示赞同!
我对代码架构很感兴趣,XML 文件的定义方式肯定也很有趣。
有18位网友表示赞同!
想学习一下 XML 的高级用法,或许这篇文章能给我一些启发。
有19位网友表示赞同!
很多时候我都是直接用工具来分析 XML 文件,不知道这些标签背后的逻辑是什么。
有5位网友表示赞同!
希望能通过这篇文章了解 XML 生成的规则和规范。
有19位网友表示赞同!
学习 XML 可以拓展我的编程技能范围吧!
有16位网友表示赞同!
如果能结合实例讲解更方便理解,这样能更好地掌握概念。
有8位网友表示赞同!
XML 文件在软件开发中应用很广泛,这篇文章应该值得一读。
有12位网友表示赞同!
之前听别人说 xmlns 是用来指定 XML 命名空间的,不知道具体是如何实现的。
有19位网友表示赞同!
学习一些新的技术总是很棒的!期待这篇关于 XML 的文章带来更多知识。
有17位网友表示赞同!
希望这篇文章能让我更深入地了解 XML 文件的各种用法!
有12位网友表示赞同!