- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章顾客介面.ppt
Schema 與DTD的比較
XML Schema 的特性
XML 資料型態
XML Schema 屬性宣告
第四章 XML Schema
簡介
現今 XML 最主要的功能是在程式、系統或是公司、組織之間交換資料,所以資料的正確性是相當重要的。資料的結構與格式的正確是基礎要求,這可以透過 XML Schema 或是 Document Type Definition (DTD) 來定義。
XML Schema 提供比 DTD 更多的彈性,且與 XML 語法相容,所以是較好的選擇。
Schema 與 DTD 的比較
DTD 的缺點
DTD 採用與 XML 不同的語法
無法支援名稱空間(Namespace)
僅能支援有限的資料型態
建立於字串取代的延伸機制(參數實體)
XML Schema的特性
XML Schema 本身就是一份良好格式的XML文件。
XML Schema 支援更多XML元素的「資料型態」,可以定義各種XML元素的資料型態。
XML Schema支援名稱空間,比起DTD擁有更大的擴充性。
結構
XML Schema 和 DTD 定義了一篇 XML 文章內可以使用的元素和屬性。XML Schema 提供比 DTD 更嚴格的定義。
結構
常用的Schema元素如下表所示:
元素
說明
schema
XML Schema文件的根元素
simpleType
使用者自已定義的資料型態
element
宣告XML元素
complexType
宣告XML元素的子元素
attribute
宣告元素的屬性
XML Schema 資料型態
XML Schema 支援多達四十種以上的資料型態,而且允許使用者自定資料型態,這些資料型態是使用在XML元素和屬性內容。
內建資料型態
XML Schema支援內建資料型態,能夠直接用來定義XML元素或屬性的內容,如下所示:
上述指令的type屬性使用的就屬於內建資料型態string和decimal,用來定義XML元素code和price內容的資料型態。
xsd:element name=“code” type=“xsd:string”/
xsd:element name=“price” type=“xsd:decimal”/
基本資料型態
XML Schema 內建的資料型態都是由一些基本資料型態所產生,如下表所示:
資料型態
格式說明
資料型態
格式說明
string
“HELLO”
recurringDuration
時間資料
boolean
true,1,false,0
uriReference
URL網址
float
浮點數字
ID
唯一的號碼
double
雙精度浮點數
IDREF
其他ID屬性值
decimal
數字
ENTITY
實體
timeDuration
時間資料
NOTATION
參考的記法
自訂資料型態
當需要替XML元素或屬性自訂資料型態時,我們需要使用simpleType元素定義所需的資料型態,語法如下所示:
simpleType name=“name” base=“datatypes”
facets_element value=“value”/
…………
/simpleType
自訂資料型態(續)
前頁simpleType元素的屬性說明如下:
Name屬性:使用者自訂資料型態的名稱。
Base屬性:基底的資料型態,例如:string , boolean , float , double , decimal…等。
自訂資料型態(續)
在simpleType元素的子元素facets_element就是在描述資料型態的細節,如下所示
元素
說明
minInclusive
內容的最小且包含在內的值
maxInclusive
內容的最大且包含在內的值
minExclusive
內容的最小值但不包含在內
maxExclusive
內容的最大值但不包含在內
length
元素內容的長度
minLength
元素內容的最小長度
maxLength
元素內容的最大長度
pattern
正規語言的元素內容
enumeration
定義列舉元素內容
自訂資料型態(續)
定義數字範圍:
使用simpleType元素定義一個範圍的數字資料型態,例如訂購的數量最少為1,最大為100,如下所示:
上述指令轉換成數學運算示可表示成:
0<=OrderQuantity=100
simpleType name=“OrderQuantity” base=“integr”
minInclusive value=“1”/
maxInclusive value=“100”/
/simpleType
自訂資料型態(續)
定義列舉的元素內容
如果元素內容為列與清單中的其中之一,如:
文档评论(0)