資料型別 Facet
簡單型別 (內建和衍生) 具有 Facet。Facet 是協助決定簡單型別值集合的單一定義外觀。例如,length、minInclusive 和 maxInclusive 是內建資料型別的通用 Facet。簡單型別的所有 Facet 定義了簡單型別合法值的集合。
Facet 定義為一個項目。每一個 Facet 項目有一個屬性布林值的 fixed 屬性。定義簡單型別後,可以防止該型別的衍生修改指定的 Facet 值。若要防止修改 Facet,請將 fixed 屬性加入至 Facet,並將其值設定為 true。
除了 enumeration 和 pattern Facet 之外,各種 Facet 在型別定義中只能出現一次。Enumeration 和 pattern Facet 可以有多個項目,而且會群組在一起。
範例
下列範例顯示 fixed 屬性設為 true
的簡單型別,如此可防止長度使用 7
以外的值。
條件約束 Facet 清單
以下所列是條件約束 Facet (可用於條件約束簡單型別之值的 Facet)、其描述和套用的內建資料型別。
- enumeration
指定的值集合。這會將資料型別限制為指定的值。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-enumeration。
- fractionDigits
分數部分具有特定最大十進位數的值。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-fractionDigits。
- length
長度單位的數值。長度單位視資料型別而定。這個值必須是 nonNegativeInteger。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-length。
- maxExclusive
上限 (Upper Bound) 值 (所有值都小於這個值)。這個值的資料型別必須與繼承資料型別相同。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxExclusive。
- maxInclusive
最大值。這個值的資料型別必須與繼承資料型別相同。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxInclusive。
- maxLength
長度單位的最大數值。長度單位視資料型別而定。這個值必須是 nonNegativeInteger。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-maxLength。
- minExclusive
下限值 (所有值都大於這個值)。這個值的資料型別必須與繼承資料型別相同。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minExclusive。
- minInclusive
最小值。這個值的資料型別必須與繼承資料型別相同。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minInclusive。
- minLength
長度單位的最小數值。長度單位視資料型別而定。這個值必須是 nonNegativeInteger。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-minLength。
- pattern
資料型別的值必須符合的特定模式。這會將資料型別限制為符合指定模式的常值 (Literal)。模式值必須是規則運算式 (Regular Expression)。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-pattern。
- totalDigits
具有特定最大十進位數值的值。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-totalDigits。
whiteSpace
值必須是 preserve、replace 或 collapse 之一。大多數數值資料型別的 whiteSpace Facet 不能變更。如需詳細資訊,請參閱<W3C XML 結構描述第二部:資料型別建議事項>(英文),網址為:http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#element-whiteSpace。preserve
不執行正規化;W3C XML 1.0 版建議事項要求的項目內容值不會變更。
replace
#x9 (定位字元)、#xA (換行字元) 和 #xD (歸位字元) 的所有項目會以 #x20 (空格) 取代。
collapse
在 replace 隱含的處理之後,#x20 的連續序列會摺疊至單一的 #x20,移除前置和尾端 #x20。