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>[email protected] [email protected]</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>