Latest web development tutorials

XML Schema 字符串數據類型

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


字符串數據類型(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