字符串數(shù)據(jù)類型用于可包含字符串的值。
XSD 字符串數(shù)據(jù)類型
字符串數(shù)據(jù)類型(String Data Type)
字符串數(shù)據(jù)類型可包含字符、換行、回車以及制表符。
下面是一個關于某個 scheme 中字符串聲明的例子:
<xs:element name="customer" type="xs:string"/>
文檔中的元素看上去應該類似這樣:
<customer>John Smith</customer>
或者類似這樣:
<customer> John Smith </customer>
注釋:如果您使用字符串數(shù)據(jù)類型,XML 處理器就不會更改其中的值。
規(guī)格化字符串數(shù)據(jù)類型(NormalizedString Data Type)
規(guī)格化字符串數(shù)據(jù)類型源自于字符串數(shù)據(jù)類型。
規(guī)格化字符串數(shù)據(jù)類型同樣可包含字符,但是 XML 處理器會移除折行,回車以及制表符。
下面是一個關于在某個 schema 中規(guī)格化字符串數(shù)據(jù)類型的例子:
<xs:element name="customer" type="xs:normalizedString"/>
文檔中的元素看上去應該類似這樣:
<customer>John Smith</customer>
或者類似這樣:
<customer> John Smith </customer>
注釋:在上面的例子中,XML 處理器會使用空格替換所有的制表符。
Token 數(shù)據(jù)類型(Token Data Type)
Token 數(shù)據(jù)類型同樣源自于字符串數(shù)據(jù)類型。
Token 數(shù)據(jù)類型同樣可包含字符,但是 XML 處理器會移除換行符、回車、制表符、開頭和結尾的空格以及(連續(xù)的)空格。
下面是在 schema 中一個有關 token 聲明的例子:
<xs:element name="customer" type="xs:token"/>
文檔中的元素看上去應該類似這樣:
<customer>John Smith</customer>
或者類似這樣:
<customer> John Smith </customer>
注釋:在上面這個例子中,XML 解析器會移除制表符。
字符串數(shù)據(jù)類型
請注意,所有以下的數(shù)據(jù)類型均衍生于字符串數(shù)據(jù)類型(除了字符串數(shù)據(jù)類型本身)!
名稱 | 描述 |
---|---|
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 | 不包含換行符、回車或制表符、開頭或結尾空格或者多個連續(xù)空格的字符串 |
對字符串數(shù)據(jù)類型的限定(Restriction)
可與字符串數(shù)據(jù)類型一同使用的限定:
- enumeration
- length
- maxLength
- minLength
- pattern (NMTOKENS、IDREFS 以及 ENTITIES 無法使用此約束)
- whiteSpace