博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XSD 小结
阅读量:4296 次
发布时间:2019-05-27

本文共 1205 字,大约阅读时间需要 4 分钟。

XSD 小结

在实际开发中,常会遇到一些 XML 类型的配置文件,那么如何去理解其所含的标签,以及正确的进行配置呢!

追本溯源,如果想明确 XML 文件中的每一个标签的含义,最好的办法是找到定义这个文档的人问道问道。

当然,这是不现实的,好在,XML 文档中提供了一个 XSD 文档地址供我们查阅。

XSD,XML Schema Definition,是定义 XML 文档的文档。

以 Maven 的 Settings.xml 文件为例:

实际上,几乎每一个 XML 文档的根标签中都有诸如上面的属性,那么他们有啥含义呢!

简单来说,就是声明该标签中的默认命名空间,并指明了解析该文档的所需的 XSD 文档的地址。

xmlns, xml name space 默认的命名空间,其后的值通常是一个链接,其实只要确保唯一即可,XML 解析器并不会去访问该链接。

xmlns:xsi 前缀为 xsi 的命名空间,xsi, xml schema instance 表示一个 xml schema 实例,实际上,这个前缀是什么并不重要,只要在当前文档中唯一即可,重要的是其后赋的 http://www.w3.org/2001/XMLSchema-instance 值。引入该命名空间,实际是为了使用 schemaLocation 来指明当前 XML 文档的 XSD 定义文档的地址。

xsi:schemaLocation=<要使用的命名空间> <针对前面的命名空间进行定义的 XSD 地址>

访问 查询 XML Shema 定义。

xmlns:xs="http://www.w3.org/2001/XMLSchema" 指明了当前文档中使用 xs 前缀的标签的命名空间。

xmlns="http://maven.apache.org/SETTINGS/1.0.0" 默认命名空间。

elementFormDefault="qualified" 表示该文档中定义的标签在被使用时,必须有命名空间的限定。

targetNamespace="http://maven.apache.org/SETTINGS/1.0.0" 表示文档中定义的标签是限定在该命名空间中的。

Settings.xmlsettings-1.0.0.xsd 的根标签的属性联系起来,可知,前者使用默认的命名空间、指定 XSD 位置时使用的命名空间,都需要同后者的 xmlnstargetNamespace 保持一致。

XSD 文档中是如何定义 XML 文档的,可以参见 。

实际上,XSD 和 XML 的格式很像,那么 XSD 中使用的标签又是从何而来,凭什么决定的呢!

寻其本源,最终是大家约定的结果,,而软件商则根据该规则来编写 XML 解析器。

网络世界就是规则的世界,我们身处的世界的本质或许也是一条条规则。

转载地址:http://hvdws.baihongyu.com/

你可能感兴趣的文章
opencv环境配置
查看>>
C++读写二进制文件
查看>>
2015-7-7 小记
查看>>
meshlab编译问题小结
查看>>
CMake Error:Failed to find "glu32" in "" with CMAKE_CXX_LIBRARY_ARCHITECTURE "".
查看>>
异或的妙用
查看>>
libsvm3.2.1 - SVM多分类简单实现
查看>>
函数返回数组指针
查看>>
c++ time.h clock()程序计时
查看>>
C++ 二维数组sort排序
查看>>
函数中定义类
查看>>
回归分析
查看>>
Matlab实现遗传算法
查看>>
opencv配置
查看>>
rt-thread的内核对象管理深入解析
查看>>
LiteOS los_config.h说明
查看>>
从零开始学习FFT(快速傅里叶变换)
查看>>
Makefile教程
查看>>
arm-none-eabi交叉编译工具常用的一些指令
查看>>
Ubuntu 常用解压与压缩命令
查看>>