XML Schema 字符串?dāng)?shù)據(jù)類型

2018-02-26 11:27 更新

XSD 字符串 數(shù)據(jù)類型

本節(jié)為你介紹 XML Schema 的字符串?dāng)?shù)據(jù)類型。


字符串?dāng)?shù)據(jù)類型用于可包含字符串的值。


字符串?dāng)?shù)據(jù)類型(String Data Type)

字符串?dāng)?shù)據(jù)類型可包含字符、換行、回車以及制表符。

下面是一個關(guān)于某個 scheme 中字符串聲明的例子:

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

文檔中的元素看上去應(yīng)該類似這樣:

<customer>John Smith</customer>

或者類似這樣:

<customer>       John Smith     </customer>

注意:如果您使用字符串?dāng)?shù)據(jù)類型,XML 處理器就不會更改其中的值。


規(guī)格化字符串?dāng)?shù)據(jù)類型(NormalizedString Data Type)

規(guī)格化字符串?dāng)?shù)據(jù)類型源自于字符串?dāng)?shù)據(jù)類型。

規(guī)格化字符串?dāng)?shù)據(jù)類型同樣可包含字符,但是 XML 處理器會移除折行,回車以及制表符。

下面是一個關(guān)于在某個 schema 中規(guī)格化字符串?dāng)?shù)據(jù)類型的例子:

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

文檔中的元素看上去應(yīng)該類似這樣:

<customer>John Smith</customer>

或者類似這樣:

<customer>     John Smith     </customer>

注意:在上面的例子中,XML 處理器會使用空格替換所有的制表符。


Token 數(shù)據(jù)類型(Token Data Type)

Token 數(shù)據(jù)類型同樣源自于字符串?dāng)?shù)據(jù)類型。

Token 數(shù)據(jù)類型同樣可包含字符,但是 XML 處理器會移除換行符、回車、制表符、開頭和結(jié)尾的空格以及(連續(xù)的)空格。

下面是在 schema 中一個有關(guān) token 聲明的例子:

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

文檔中的元素看上去應(yīng)該類似這樣:

<customer>John Smith</customer>

或者類似這樣:

<customer>     John Smith     </customer>

注意:>在上面這個例子中,XML 解析器會移除制表符。


字符串?dāng)?shù)據(jù)類型

請注意,所有以下的數(shù)據(jù)類型均衍生于字符串?dāng)?shù)據(jù)類型(除了字符串?dāng)?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 不包含換行符、回車或制表符、開頭或結(jié)尾空格或者多個連續(xù)空格的字符串


對字符串?dāng)?shù)據(jù)類型的限定(Restriction)

可與字符串?dāng)?shù)據(jù)類型一同使用的限定:

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

以上就是 XML Schema 中字符串?dāng)?shù)據(jù)類型的講解內(nèi)容。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號