标签:不能 其他 end 类型 height 最小数 个数 默认 出现
指只能包含文本内容,不能够包含子元素,也没有属性的元素。
格式:<xs:element name="xxx" type="yyy"/>
例子:
<xs:element name="name" type="xs:string"/> <xs:element name="age" type="xs:integer"/> <xs:element name="gender" type="xs:boolean"/>
所有的元素属性均被声明为简单类型。只有复杂类型的元素才可以拥有属性。
格式:<xs:attribute name="xxx" type="yyy" />
例子:<xs:attribute name="lang" type="xs:string"/>
所有的属性默认都是可选的,我们可以通过使用use关键字明确的指出是可选或是必需:
<xs:attribute name="lang" type="xs:string" use="optional" /> <xs:attribute name="lang" type="xs:string" use="required"/>
我们可以通过使用default或fixed为简单类型(简单元素、属性)指定默认值或固定值,
如下:
<xs:element name="color" type="xs:string" default="red" /> <xs:attribute name="lang" type="xs:string" fixed="CN"/>
对简单类型值的约束
约束 | 含义 |
enumeration | 定义允许值的枚举 |
fractionDigit | 指定最多允许的小数位数(必须大于等于零) |
length | 精确指定允许的最大长度字符长度 |
maxExclusive | 指定允许的最大数值,必须小于该值 |
maxLength | 指定允许的最大字符长度(必须大于等于零) |
minExclusive | 指定允许的最小数值,必须大于该值 |
minInclusive | 指定允许的最小数值,必须大于或等于该值 |
minLength | 指定允许的最小字符长度 |
pattern | 指定允许值的模式,类似正则表达式 |
totalDigits | 精确指定数字个数 |
whiteSpace | 处理空白(保留:perserve;替换:replace;合并:collapse) |
复杂类型指包含其他元素/属性的元素类型。
<message> <to>rose</to> <from>alex</from> <body>Hi,My Girll</body> </message>
在上面的例子中,元素 message就是一个复杂类型的元素,我们在 schema中这样描述:
<xs:element name="message"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType>
注意元素to、from、body包含在<xs:sequence></xs:sequence>中,表明这些元素必须按照定义的顺序出现在你的XML文件中。
当然,message元素也可以包含一个type属性,指向我们定义的复杂类型象这:
<xs:element name="message" type="msg"/> <xs:complexType name="msg"> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType>
复杂类型和简单类型之间最根本的区别就是:复杂类型的内容中可以包含其他元素,也可以带有属性(Attribute),但简单类型既不能包含子元素,也不能带有任何属性。
标签:不能 其他 end 类型 height 最小数 个数 默认 出现
原文地址:https://www.cnblogs.com/stu-jyj3621/p/14342135.html