前言
如果是没有了解过XSD基本语法的同学们,建议还是先去了解一下XSD的语法,也就是W3C的XSD协议规范,关于这个方面我是在菜鸟教程中学习的,因为不涉及到写出完善的CSD文件,只是出于学习和整理的角度去看CSD语法,所以菜鸟教程中的内容对我来说完全足够了。
有其他需求的同学建议看XSD协议
以下内容全部来自于个人整理,如有错误地方希望可以得到您的指点,万分感谢。
1 什么是XML Schema、XSD?
XML Schema是一种用来描述,XML文档结构的语言规范。可以理解为更加丰富的dtd,目前xsd基本都会符合W3C标准定义的XML Schema规范。
通过XSD或DTD,XML解析工具就可以解析和验证XML文件是否符合语法规范了。
2 命名空间是什么?
xmlns(XML NameSpace)它的标准定义是:xmlns:prefix=“Namespace-name-URI”,其中prefix是一个别名,你可以使用任何你喜欢的名称来表示。prefix不是必须的,根(Root)命名空间默认可以不用加prefix。
**prefix的作用:**使用prefix可以区分不同xmlns中定义的相同属性值,不至于产生混乱。
首先xsd是一个规范xml文档结构的语言规范,它是可以自定义的一种规范,只要实现W3C标准就可以了,那么难免会遇到一种情况,就是一个xml文档中引入了多种自定义的XSD规范,那么非常恰巧的是,这多种自定义的XSD规范具有一个同样的元素,那要如何区分这两个相同元素呢?这个就是命名空间的意义了,使用多个不同的prefix来区分不同xsd规范中的相同元素。
3 为什么xmlns的值看起来像一个URL
Namespace-name-URI仅表示一个字符串常量,它与是否要从网络上加载资源是没有任何关系的。
NameSpace讲究全局唯一,而URL(统一资源定位符)天生具备唯一性。
4 什么是xmlns:xsi
类似于这种
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://w