XML Schema(XSD)是W3C标准,用于定义XML文档结构与数据类型,支持命名空间、复杂元素、属性约束及数据校验,通过xs:element、xs:complexType、minOccurs/maxOccurs、xs:attribute和facets等机制实现精确的数据格式控制。

XML Schema(XSD)全称为 XML Schema Definition,是一种用于描述和约束 XML 文档结构与内容的官方 W3C 标准。相比 DTD,XSD 使用 XML 语法编写,支持数据类型、命名空间和更复杂的结构定义,是现代 XML 应用中最常用的模式语言。
XML Schema 的作用
XSD 的主要功能是定义 XML 文档的合法构建模块,包括:
- 元素的名称、数量和顺序
- 元素是否可重复或可选
- 属性的存在性、类型和默认值
- 元素内容的数据类型(如字符串、整数、日期等)
- 命名空间的支持与校验
通过 XSD,可以确保不同系统间交换的 XML 数据格式一致且有效。
XSD 文件的基本结构
一个典型的 XSD 文件以 <xs:schema> 根元素开始,使用 xs 前缀代表 XML Schema 命名空间。基本语法如下:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="person" type="xs:string"/> </xs:schema>
说明:
- xmlns:xs:声明命名空间,指向 XML Schema 定义的 URI
- xs:element:定义一个 XML 元素
- name:指定元素名称
- type:指定数据类型
常见数据类型
XSD 提供丰富的内置数据类型,常用包括:
- xs:string:文本字符串
- xs:integer:整数
- xs:boolean:布尔值(true/false)
- xs:date:日期(格式如 2024-05-20)
- xs:decimal:小数
- xs:time:时间
- xs:dateTime:日期时间
定义复杂元素(Complex Elements)
当元素包含子元素或属性时,需使用 xs:complexType。例如定义一个 person 元素包含姓名和年龄:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="age" type="xs:integer"/> </xs:sequence> </xs:complexType> </xs:element>
其中 xs:sequence 表示子元素必须按定义顺序出现。
法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。
31 元素出现次数控制(minOccurs / maxOccurs)
可通过属性控制元素出现的最小和最大次数:
<xs:element name="email" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
表示 eml 元素可以出现 0 次到多次(即可选且可重复)。
定义属性(Attributes)
使用 xs:attribute 为元素添加属性:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> </xs:sequence> <xs:attribute name="id" type="xs:integer" use="required"/> </xs:complexType> </xs:element>
use=”requi” 表示该属性必须存在,也可设为 “optional”。
简单类型限制(Facets)
可通过 xs:restriction 对数据类型进行约束,例如限制字符串长度或数值范围:
<xs:simpleType name="ageType"> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="120"/> </xs:restriction> </xs:simpleType>
然后在元素中引用:<xs:element name=”age” type=”ageType”/>。
基本上就这些。掌握这些核心概念后,就能编写基本的 XSD 文件来验证 XML 结构。XSD 强大且灵活,适合需要严格数据校验的应用场景。理解其语法结构和类型系统是使用它的关键。不复杂但容易忽略细节,比如命名空间和出现次数控制。
以上就是什么是XML Schema(XSD)及其基本语法_XML Schema(XSD)核心概念与语法入门的详细内容,更多请关注php中文网其它相关文章!
微信扫一扫打赏
支付宝扫一扫打赏
