[xsd学习]xsd基本要素
一、xsd常用数据格式
xs:string
xs:decimal
xs:integer
xs:boolean
xs:date
xs:time
二、简易元素
<xs:element name="xxx" type="yyy" default="aaa" fixed="bbb" />
其中:
xxx表示元素名称,
yyy表示数据格式,
aaa表示元素默认值,如果没有值,则元素值为aaa,
bbb表示元素为固定值bbb,如果为其他值则报错
那么以下格式的xml报文对应的xsd文件为:
<lastname>Smith</lastname> <age>28</age> <dateborn>1980-03-27</dateborn>
这是相应的简易元素定义:
<xs:element name="lastname" type="xs:string" default="张三"/> <!--表示定义lastname,如果数据为空,则默认为张三--> <xs:element name="age" type="xs:integer" fixed="28"/> <!--定义age,固定值为28,如果为其他值,则报错--> <xs:element name="dateborn" type="xs:date"/>
三、属性
简易元素指没有任何属性的元素,如果拥有属性,则成为复合元素。此节主要介绍元素的声明。
<xs:attribute name="xxx" type="yyy" default="aaa" fixed="bbb" />
其中:
xxx表示属性名称,
yyy表示数据格式,属性格式参考第一节,
aaa表示属性默认值,如果没有值,则属性值为aaa,
bbb表示属性为固定值bbb,如果为其他值则报错
例如:
<xs:attribute name="lang" type="xs:string" default="EN"/> <xs:attribute name="encodding" type="xs:string" fixed="GBK"/>
对应xml为,其中lang为CN,覆盖了EN设置,encoding仅能为GBK
<lastName lang="CN" encoding="GBK">zhangsan</lastName>