帮小白解决问题---帮你快速明白XSD是什么?用在什么地方?为什么要XSD?没有XSD可以吗?有影响吗?
什么是XSD?
- 前言
- 一、你是不是和我一样?
- 二、什么是DTD?
- 那么没有DTD行不行?
- 三、所以XSD是什么?
- 我们查看一个pom.xml
前言
当我第一次看到xsd,我同样以联蒙蔽,但它其实无处不在,通过百度,我能看到的最多的就是,这个东西它类似dtd,那么dtd又是什么鬼东西,我怎么知道呢?气得吐血,所以本文带你更快地了解什么是xsd
一、你是不是和我一样?
曾经我也一脸蒙蔽,百度
二、什么是DTD?
DTD document type definition 文档类型定义
举个例子
大家多少都知道html吧
那么dtd文件就是可以规定html里的标签可以有哪些字标签,每个标签可以有哪些属性,我们知道html标签的字标签有head , body ,body 下面可以有 table 。
如果你比较嚣张想在html 标签下直接写个 table标签,那肯定报错了。
所以我们可以理解为,DTD是规定我们在html文件中标签之间的关系,且每个标签有哪一些属性。
当然这个可能也是有一些抽象的,但是不再举更深入的例子。因为我们在xsd会用一个实例去解释,同样就能够明白这是什么了。
那么没有DTD行不行?
是可以的,写完删掉DTD,它不影响文件运行,它只不过用来告诉你,你写的对不对。
三、所以XSD是什么?
既然XSD是DTD的替代品,所以xsd也是用来描述文档结构的。只不过语法不通,规则不同罢了。好比DTD是奥拓,XSD是奥迪,都能开,奥迪开的爽点。为了更好地理解,必须用实例来解释
我们查看一个pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.antry</groupId><artifactId>tttest</artifactId><version>1.0-SNAPSHOT</version>
</project>
我们可以到xsi:schemalocation这个属性找到这个文档引入的xsd文件的位置,随后去下载下来看。
我们直接就可以这样看到这个xsd文件
我把每个标签都收起来
<xs:element name="project" type="Model">...</xs:element>
<xs:complexType name="Model">...</xs:complexType>
<xs:complexType name="License">...</xs:complexType>
<xs:complexType name="CiManagement">...</xs:complexType>
<xs:complexType name="Notifier">...</xs:complexType>
<xs:complexType name="Scm">...</xs:complexType>
<xs:complexType name="IssueManagement">...</xs:complexType>
<xs:complexType name="DependencyManagement">...</xs:complexType>
<xs:complexType name="Dependency">...</xs:complexType>
<xs:complexType name="Exclusion">...</xs:complexType>
<xs:complexType name="Parent">...</xs:complexType>
<xs:complexType name="Developer">...</xs:complexType>
<xs:complexType name="MailingList">...</xs:complexType>
<xs:complexType name="Contributor">...</xs:complexType>
<xs:complexType name="Organization">...</xs:complexType>
<xs:complexType name="DistributionManagement">...</xs:complexType>
<xs:complexType name="DeploymentRepository">...</xs:complexType>
<xs:complexType name="RepositoryPolicy">...</xs:complexType>
<xs:complexType name="Relocation">...</xs:complexType>
<xs:complexType name="Site">...</xs:complexType>
<xs:complexType name="Reporting">...</xs:complexType>
<xs:complexType name="ReportPlugin">...</xs:complexType>
<xs:complexType name="ReportSet">...</xs:complexType>
<xs:complexType name="Profile">...</xs:complexType>
<xs:complexType name="Activation">...</xs:complexType>
<xs:complexType name="ActivationProperty">...</xs:complexType>
<xs:complexType name="ActivationFile">...</xs:complexType>
<xs:complexType name="ActivationOS">...</xs:complexType>
<xs:complexType name="Repository">...</xs:complexType>
<xs:complexType name="BuildBase">...</xs:complexType>
<xs:complexType name="Plugin">...</xs:complexType>
<xs:complexType name="PluginExecution">...</xs:complexType>
<xs:complexType name="Resource">...</xs:complexType>
<xs:complexType name="PluginManagement">...</xs:complexType>
<xs:complexType name="Prerequisites">...</xs:complexType>
<xs:complexType name="Build">...</xs:complexType>
<xs:complexType name="Extension">...</xs:complexType>
这每个name我们都很熟悉吧
pom.xml文件中我们很常用的标签,所有的标签都在这里定义了
当然了,具体如何定义的大家还是看看菜鸟教程,很详细很具体,这里只不过解释一下这是个什么东西。
XSD菜鸟教程
帮小白解决问题---帮你快速明白XSD是什么?用在什么地方?为什么要XSD?没有XSD可以吗?有影响吗?相关推荐
- MySQL数据库页损坏怎么办,innodb_force_recovery参数帮你解决问题
MySQL数据库页损坏怎么办,innodb_force_recovery参数帮你解决问题 有些时候,你的MySQL数据库是单机,没有主从和高可用,如果宕机,或者其它异常情况,导致你的ibd文件损坏,这 ...
- 能锦上添花不能雪中送炭,公关救不了货车帮和作业帮
2019独角兽企业重金招聘Python工程师标准>>> 有一位叫"成都油画"的读者留言说我天天只关心BAT,科技唆麻就这么点内容了吗?我心想你这问题问的不错,但现 ...
- python魔力手册-小白入门宝典:Python快速入门魔力手册 PDF 超清版
给大家带来的一篇关于Python编程相关的电子书资源,介绍了关于小白入门.python入门.Python手册方面的内容,本书是由魔力手册出版,格式为PDF,资源大小11.8 MB,魔力手册编写,目前豆 ...
- 如何查看建筑设计图纸呢?CAD小白如何实现CAD快速看图?
如何查看建筑设计图纸呢?CAD小白如何实现CAD快速看图?对于刚刚开始接触CAD的小伙伴来说,无疑也是一个不小的挑战,那么我们究竟要怎么做才能掌握CAD快速看图的技巧呢?接下来和小伙伴们分享几种简单的 ...
- android表情输入键盘,GitHub - UKfire/Emotion: 帮你的Android应用快速集成表情键盘
##Emotion 帮你快速集成Android表情键盘,让你的应用不止文字,让表情跳动起来 ##It looks Cool ##Usage Download ZIP,然后解压,将emoji包添加到自己 ...
- 存储系统又慢又杂太难用?我们推荐这几本书帮你解决问题
我们常用的存储系统种类非常多,有单机的也有分布式的,有的是数据库,有的是文件系统,还有介于二者之间的.无论是哪种存储系统(比如,MySQL.Redis.Elasticsearch,等等),它们都具有如 ...
- 苹果电子邮件怎么注册_忘记了Apple ID账号密码怎么办?超全攻略,帮你解决问题...
第一种:若只是忘记了Apple ID账号的话,可以通过几种方法来查看 ①第一种就是通过"账号与密码"还原方法 当然,使用这个方法,就要你存储过账号密码了. ②iOS10.2以上版本 ...
- html中去除浮漂有什么作用,浮漂有动作,但总是锚鱼该怎么办?只需4招,保证帮你解决问题...
钓鱼的时候总会出现各种各样的问题,最常见的莫过于"空竿"和"锚鱼"了.有时候甚至会出现浮漂动作明明不像是小鱼咬钩,但提竿还是经常空,经常锚鱼导致惊窝.问题出在哪 ...
- 有没有翻译视频声音的软件?实用教程帮你解决问题
有没有翻译视频声音的软件?在日常的工作和学习中,我们看到一段很好的视频资料,但是却是外语的.我们很难听懂其中的内容,这个时候我们就需要对视频的内容进行翻译了.可能很多小伙伴们并不知道应该如何操作,下面 ...
最新文章
- 在苏州当老师大概博士毕业,工作稳定后就准备要孩子了
- 04-插入操作更新操作删除操作
- manjaro 安装tensorflow 【CPU版本】 环境
- 从中师到博士,我用了22年...
- WebMvc中MultipartFile文件上传
- 孤读Paper——《ATSS:Adaptive Training Sample Selection》
- B - Vicious Keyboard
- python如何测试rabbit_Python如何检测到我的RabbitMQ密码失败?
- 乌班图服务器系统升级,快速从Ubuntu 20.10升级到Ubuntu 21.04的方法
- S50VB100-ASEMI日本新电元平替整流桥S50VB100
- ARP协议格式和实例分析
- gmx_MMPBSA.py的安装及使用--只翻译部分内容,具体可参考官方文档(https://valdes-tresanco-ms.github.io/gmx_MMPBSA/dev/)
- 网站如何添加访客统计代码
- VMware打开虚拟机,会立即导致宿主机重启
- SHT20/SHT21温湿度值换算和CRC计算方法
- HDR电影效果LR预设(含lr预设导入教程)
- 错误释放结构体中数组的指针导致的AddressSanitizer: attempting free on address which was not malloc()问题
- padding在css中是什么意思,html里padding是什么意思
- 2023大厂招聘岗位数预测!明年哪些公司可以去?
- 2021-09-15meituan-008.小团无路可逃