定义
可扩展标记语言架构是以可扩展标记语言(标准通用标记语言的子集)为基础的,它用于可替代文档类型定义(外语缩写:DTD);一份XML schema文件描述了可扩展标记语言文档的结构。——百度百科
作用
- 定义标签及其属性
- 定义子标签的层次及个数
- 定义标签属性的数据类型、默认值及固定值
基本样式
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/composition"
xmlns:tns="http://www.example.org/composition"
elementFormDefault="qualified">
</schema>
代码解释
<?xml version="1.0" encoding="UTF-8"?>
XML Schema后缀为.xsd,但是实际上仍是一个XML文件。
version:表示文件的版本。
encoding:表示代码格式。
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:XML NameSpace,表示XML文件的命名空间。此处的命名空间为Schema文件中固有标签的命名空间。
targetNamespace="http://www.example.org/composition"
目标命名空间,也就是我们现在定义的XML文件产生的命名空间。
xmlns:tns="http://www.example.org/composition"
设置自定义命名空间的前缀。由于定义自定义标签及其输定等等时,表示所定义的东西来自于自定义命名空间。
elementFormDefault="qualified"
表示只要应用到本Schema文件中标签,都需遵循此文件中的各种定义。
操作
具体参考W3C学院中XML Schema教程
1. 定义标签及其属性
自定义标签使用element,其中主要应用到name标签名,type标签的数据类型,default标签的默认值和fixed标签的固定值。
<element name="name" type="string" default="myName"></element>
上述标签为简单标签,因为他不含子标签。
- 定义子标签的层次及个数
- 定义标签属性的数据类型、默认值及固定值