XSD-3 Schema 的简单使用
3 Schema 的简单使用
标签 xs:schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="name" type="xs:string"/>
</xs:schema>
这是最简单的 schema,能够解析以下 XML 文档
<name>abc</name>
标签 xs:element
<xs:element>
的属性
名称 | 描述 |
---|---|
name | 元素的名称 |
type | 元素的类型 |
default | 元素的默认值 |
fixed | 固定值 |
use | 是否使用;required 必须, optional 可选 |
简易元素的默认值 default
简易元素可拥有指定的默认值或固定值。
当没有其他的值被规定时,默认值就会自动分配给元素。
在下面的例子中,缺省值是 “red”:
<xs:element name="color" type="xs:string" default="red"/>
对应的 JAXB 注解如下:
@XmlElement(namespace = "", name = "color", defaultValue = "red")
简易元素的固定值 fixed
固定值同样会自动分配给元素,并且您无法规定另外一个值。
在下面的例子中,固定值是 “red”:
<xs:element name="color" type="xs:string" fixed="red"/>
标签 xs:attribute
属性的默认值和固定值
属性可拥有指定的默认值或固定值。
当没有其他的值被规定时,默认值就会自动分配给元素。
在下面的例子中,缺省值是 “EN”:
<xs:attribute name="lang" type="xs:string" default="EN"/>
固定值同样会自动分配给元素,并且您无法规定另外的值。
在下面的例子中,固定值是 “EN”:
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
可选的和必需的属性
在缺省的情况下,属性是可选的。如需规定属性为必选,请使用 “use” 属性:
<xs:attribute name="lang" type="xs:string" use="required"/>
名称 | 描述 |
---|---|
name | 元素的名称 |
type | 元素的类型 |
default | 元素的默认值 |
fixed | 固定值 |
use | 是否使用;required 必须, optional 可选 |
对内容的限定
当 XML 元素或属性拥有被定义的数据类型时,就会向元素或属性的内容添加限定。
假如 XML 元素的类型是 “xs:date”,而其包含的内容是类似 “Hello World” 的字符串,元素将不会(通过)验证。
上一章:XSD-2 对 XML 进行 XSD 建模
目录:学习 JAXB
下一章:XSD-4 Schema 面向对象之基础数据类型