xml小结2
十一、规定输入类型
<xs:simpleType name="nametype">
<xs:restriction base="xs:string">
<xs:minLength value="3"></xs:minLength>
<xs:maxLength value="5"></xs:maxLength>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="agetype">
<xs:restriction base="xs:int">
<xs:maxExclusive value="4"></xs:maxExclusive>
<xs:minInclusive value="2"></xs:minInclusive>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="sextype">
<xs:restriction base="xs:string">
<xs:enumeration value="男"></xs:enumeration>
<xs:enumeration value="女"></xs:enumeration>
</xs:restriction>
</xs:simpleType>
解析:
<xs:maxExclusive value="4"></xs:maxExclusive>
代表最大不超过4(不含4)
<xs:minInclusive value="2"></xs:minInclusive>
代表最小不小于2但可以包括2
正则约束
</xs:simpleType>
<xs:simpleType name="teltype">
<xs:union memberTypes="mobiletype hometype"></xs:union>
</xs:simpleType>
复合条件约束
<xs:simpleType name="mobiletype">
<xs:restriction base="xs:string">
<xs:pattern value="\d{11}"></xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="hometype">
<xs:restriction base="xs:string">
<xs:pattern value="\d{3,4}-\d{8}"></xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="teltype">
<xs:union memberTypes="mobiletype hometype"></xs:union>
</xs:simpleType>
允许有多个值的约束
<xs:simpleType name="email">
<xs:restriction base="xs:string">
<xs:pattern value="\w+@\w+.\w+"></xs:pattern>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="emaillist">
<xs:list itemType="email"></xs:list>
</xs:simpleType>
代表可以有多个email值 但值必须用空格隔开
<email>ww@ss.sdf ww@ss.sdf</email>
十二、将节点放入组
定义:
<xs:group name="studentgroup">
<xs:sequence>
<xs:element ref="name"></xs:element>
<xs:element ref="age"></xs:element>
<xs:element ref="sex"></xs:element>
<xs:element ref="tel"></xs:element>
<xs:element ref="email"></xs:element>
</xs:sequence>