📅  最后修改于: 2023-12-03 15:35:48.007000             🧑  作者: Mango
XSD(XML Schema Definition)是一种用于定义XML文档结构的语法。它是一种面向文档的XML语言,可以用来规定XML文档的元素、属性、数据类型等约束规则。在XML Web服务和SOA(面向服务的架构)中,XSD被广泛应用于XML Schema验证、Web Service描述以及XML数据交换等方面。
命名空间(namespace):一个XSD文件中应该定义一个命名空间,用来避免不同XSD文件中定义的元素或属性名冲突。
元素(Element):用来描述XML文档的结构要素,可以定义元素的名称、出现次数、类型等。
<xs:element name="person" type="xs:string"/>
<xs:attribute name="age" type="xs:int" default="18"/>
<xs:complexType name="person">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="gender">
<xs:restriction base="xs:string">
<xs:enumeration value="male"/>
<xs:enumeration value="female"/>
</xs:restriction>
</xs:simpleType>
下面是一个简单的XSD示例,定义了一个person元素和name、age两个子元素,其中name元素和age元素都是必须的,而gender元素是可选的,并且取值只能是“male”或“female”。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.example.com/person"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="person" type="personType"/>
<xs:complexType name="personType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
<xs:element name="gender" type="genderType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="genderType">
<xs:restriction base="xs:string">
<xs:enumeration value="male"/>
<xs:enumeration value="female"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
XSD是XML应用中的一个重要组成部分,它可以帮助开发人员定义和验证XML文档结构。本文介绍了其基本语法和示例,供开发人员参考使用。