1.什么是XSD?
- XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。
- XML Schema 描述 XML 文档的结构。
- XML Schema 是基于 XML 的 DTD 替代者。
2.Schema的优点
- XML Schema 可针对未来的需求进行扩展
- XML Schema 更完善,功能更强大
- XML Schema 基于 XML 编写
- XML Schema 支持数据类型
- XML Schema 支持命名空间
3.Schema根元素
<schema> 元素是每一个 XML Schema 的根元素。<schema> 元素可包含属性。一个 schema 声明往往看上去类似这样:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema“ targetNamespace="http://www.w3school.com.cn"
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema“ targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"elementFormDefault="qualified">
...
...
</xs:schema>
...
...
</xs:schema>
4.SimpleType
简易元素指那些只包含文本的元素,它不会包含任何其他的元素或属性。
定义简易元素的语法:<xs:element name="xxx" type="yyy"/>
简易元素可拥有指定的默认值或固定值。
当没有其他的值被规定时,默认值就会自动分配给元素,例如:<xs:element name="color" type="xs:string" default="red"/>
当没有其他的值被规定时,默认值就会自动分配给元素,例如:<xs:element name="color" type="xs:string" default="red"/>
固定值同样会自动分配给元素,并且您无法规定另外一个值,例如:<xs:element name="color" type="xs:string" fixed="red"/>
所有的属性均作为简易类型来声明。
简易元素无法拥有属性。假如某个元素拥有属性,它就会被当作某种复合类型。但是属性本身总是作为简易类型被声明的。
定义属性的语法是:<xs:attribute name="xxx" type="yyy"/>
属性可拥有指定的默认值或固定值。
在缺省的情况下,属性是可选的。如需规定属性为必选,请使用 "use" 属性:<xs:attribute name="lang" type="xs:string" use="required"/>
5.Facet
当 XML 元素或属性拥有被定义的数据类型时,就会向元素或属性的内容添加限定。
假如 XML 元素的类型是 "xs:date",而其包含的内容是类似 "Hello World" 的字符串,元素将不会(通过)验证。
通过 XML schema,您也可向您的 XML 元素及属性添加自己的限定,这些限定被称为 facet。
假如 XML 元素的类型是 "xs:date",而其包含的内容是类似 "Hello World" 的字符串,元素将不会(通过)验证。
通过 XML schema,您也可向您的 XML 元素及属性添加自己的限定,这些限定被称为 facet。