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