XSD限制

2019-10-16 23:18:04

限制元素用於定義XML元素可以接受的接受值。

語法

<xs:restriction base = "element-type"> restrictions </xs:restriction>

其中,

  • base - 要應用限制的元素的型別。 例如,<xs:restriction base = "xs:integer">。指定此限制特定於int型別的元素。
  • restriction - 限制通常是對元素值應用的一系列條件。 在這個例子中,設定了一個標記限制,<mark>應該在0100的範圍內,同時包含兩個值。
    <xs:minInclusive value = "0"/>
    <xs:maxInclusive value = "100"/>
    

範例

對值的限制。

條件 - marks應在0100的範圍內。

<xs:element name = "marks">
   <xs:simpleType>
      <xs:restriction base = "xs:integer">
         <xs:minInclusive value = "0"/>
         <xs:maxInclusive value = "100"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

對值集的限制。

條件 - marks應該只是ABC

<xs:element name = "grades">
   <xs:simpleType>
      <xs:restriction base = "xs:string">
         <xs:enumeration value = "A"/>
         <xs:enumeration value = "B"/>
         <xs:enumeration value = "C"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

使用常規模式限制。

條件 - firstname只能是字母。

<xs:element name = "firstname">
   <xs:simpleType>
      <xs:restriction base = "xs:string">
         <xs:pattern value = "[a-z]"/>
      </xs:restriction>
   </xs:simpleType>
</xs:element>

限制型別

序號 限制 描述
1 enumeration 定義可接受的值列表。
2 fractionDigits 定義允許的最大小數位數(零或多個)。
3 length 根據字串中的字元或列表中的專案(零個或多個)定義長度。
4 maxExclusive 定義除此數位之外的數值的上限。
5 maxInclusive 定義包含此數位的數值的上限。
6 maxLength 根據列表中的字元或專案的字元(零或更多)定義最大長度。
7 minExclusive 定義除此數位之外的數值的下限。
8 minInclusive 定義數值的下限,包括此數位。
9 minLength 根據字串或列表中的專案(零或更多)的字元定義最小長度。
10 pattern 定義可接受的模式標識的確切字元序列
11 totalDigits 定義數位中允許的確切位數(始終大於零)
12 whiteSpace 定義處理空格字元(換行符,製表符,空格和迴車符)的方式