XSD 字串 數據類型


字串數據類型用於可包含字串的值。


字串數據類型(String Data Type)

字串數據類型可包含字元、換行、回車以及跳位字元。

下麵是一個關於某個 scheme 中字串聲明的例子:

<xs:element name="customer" type="xs:string"/>

文檔中的元素看上去應該類似這樣:

<customer>John Smith</customer>

或者類似這樣:

<customer>       John Smith     </customer>

注意:如果您使用字串數據類型,XML 處理器就不會更改其中的值。


規格化字串數據類型(NormalizedString Data Type)

規格化字串數據類型源自於字串數據類型。

規格化字串數據類型同樣可包含字元,但是 XML 處理器會移除折行,回車以及跳位字元。

下麵是一個關於在某個 schema 中規格化字串數據類型的例子:

<xs:element name="customer" type="xs:normalizedString"/>

文檔中的元素看上去應該類似這樣:

<customer>John Smith</customer>

或者類似這樣:

<customer>     John Smith     </customer>

注意:在上面的例子中,XML 處理器會使用空格替換所有的跳位字元。


Token 數據類型(Token Data Type)

Token 數據類型同樣源自於字串數據類型。

Token 數據類型同樣可包含字元,但是 XML 處理器會移除換行符、回車、跳位字元、開頭和結尾的空格以及(連續的)空格。

下麵是在 schema 中一個有關 token 聲明的例子:

<xs:element name="customer" type="xs:token"/>

文檔中的元素看上去應該類似這樣:

<customer>John Smith</customer>

或者類似這樣:

<customer>     John Smith     </customer>

注意:>在上面這個例子中,XML 解析器會移除跳位字元。


字串數據類型

請注意,所有以下的數據類型均衍生於字串數據類型(除了字串數據類型本身)!

名稱 描述
ENTITIES  
ENTITY  
ID 在 XML 中提交 ID 屬性的字串 (僅與 schema 屬性一同使用)
IDREF 在 XML 中提交 IDREF 屬性的字串(僅與 schema 屬性一同使用)
IDREFS language 包含合法的語言 id 的字串
Name 包含合法 XML 名稱的字串
NCName  
NMTOKEN 在 XML 中提交 NMTOKEN 屬性的字串 (僅與 schema 屬性一同使用)
NMTOKENS  
normalizedString 不包含換行符、回車或跳位字元的字串
QName  
string 字串
token 不包含換行符、回車或跳位字元、開頭或結尾空格或者多個連續空格的字串


對字串數據類型的限定(Restriction)

可與字串數據類型一同使用的限定:

  • enumeration
  • length
  • maxLength
  • minLength
  • pattern (NMTOKENS、IDREFS 以及 ENTITIES 無法使用此約束)
  • whiteSpace