源码记录 2. XSD语法 - Smile-Liu/spex GitHub Wiki
一、简易元素
<xsd:element name=”abc” type=”xsd:string” default=”123” fixed=”123”/>
name:元素名称
type:元素类型,可选的值有:
xsd:string
xsd:decimal
xsd:integer
xsd:boolean
xsd:date
xsd:time
default:元素的默认值
fixed:元素的固定值
二、属性
<xsd:attribute name=”local” type=”xsd:string” default=”CN” fixed=”CN” use=”required” />
name:属性名称
type:属性类型,可选的值有:
xsd:string
xsd:decimal
xsd:integer
xsd:boolean
xsd:date
xsd:time
default:属性的默认值
fixed:属性的固定值
use=”required”:强制属性必须有值
三、限定 限定(restriction)用于为XML元素或者属性定义可接受的值
<xsd:restriction base=”xsd:string”>
限定的内容
</xsd:restriction>
限定的内容有:
<xsd:enumeration value=”Audi” /> 限定为枚举值
<xsd:fractionDigits /> 限定所允许的最大的小数位数,必须大于等于0
<xsd:length /> 限定字符或列表的长度
<xsd:maxExclusive /> 定义数值的上限(不包含该值)
<xsd:maxInclusive /> 定义数值的上限(包含该值)
<xsd:minExclusive /> 定义数值的下限(不包含该值)
<xsd:minInclusive /> 定义数值的下限(包含该值)
<xsd:minLength /> 定义字符或列表的最小数目
<xsd:pattern /> 定义字符的匹配关系
<xsd:totalDigits /> 定义阿拉伯数字的精确位数
<xsd:whiteSpace /> 定义空白字符(换行、回车、空格、制表符)的处理方式
四、all 该元素限定子元素能够以任意顺序出现,每个子元素可出现零次或一次
<xsd:element name=”person”>
<xsd:complexType>
<xsd:all>
<xsd:element name=”firstname” type=”xsd:string” />
<xsd:element name=”lastname” type=”xsd:string” />
</xsd:all>
</xsd:complexType>
</xsd:element>
五、annotation 注释 六、choice 该元素仅允许包含在声明中的元素之一出现
<xsd:element name=”person”>
<xsd:complexType>
<xsd:choice>
<xsd:element name=”firstname” type=”xsd:string” />
<xsd:element name=”lastname” type=”xsd:string” />
</xsd:choice>
</xsd:complexType>
</xsd:element>
七、complexType 定义复杂类型 八、extension 扩展已有的simpleType或complexType元素 九、complexContext 定义对复杂类型的扩展和限制 十、simpleType 定义一个简单类型,规定约束以及关于属性或仅包含文本的元素的值的信息 十一、simpleContext 包含对complexType元素(它以字符数据或simpleType元素为内容)的扩展或限制并且不包含任何元素,其父元素是complexType 十二、sequence 要求组中元素以指定的顺序出现在包含元素中,每个子元素可出现0次到任意次数