原文出自http://www.cnblogs.com/yukaizhao/archive/2007/03/25/xsd_tutorial.html
xml schema
的用途
1.定義乙個
xml文件中都有什麼元素 2.
定義乙個
xml文件中都會有什麼屬性 3.
定義某個節點的都有什麼樣的子節點,可以有多少個子節點,子節點出現的順序 4.
定義元素或者屬性的資料型別 5.
定義元素或者屬性的預設值或者固定值
xml schema
的根元素:
<?xml version="1.0"?>
表示資料型別等定義來自
表示文件中要定義的元素來自什麼命名空間
表示此文件的預設命名空間是什麼
elementformdefault="qualified">
表示要求
xml文件的每乙個元素都要有命名空間指定
……定義主體部分……
如何定義乙個簡單元素
此處表示要定義乙個元素
name=」color」
表示要定義元素的名稱
type=」xs:string」
表示要定義元素的資料型別
default=」red」
表示定義元素的預設值
fixed=」red」/>
表示要定義元素的固定值,此元素只可以取「
red」值
以上定義了乙個簡單元素,元素例項:
red
如何定義乙個屬性
name=」birthday」
表示要定義屬性的名字
type=」xs:date」
表示要定義屬性的資料型別
default=」2001-01-11」
表示要定義屬性的預設值
fixed=」2001-01-11」
表示要定義屬性的固定值
use=」required」/>
表示此屬性是否是必須指定的,即如果不指定就不符合
schema
,預設沒有
use=」required」
屬性表示屬性可有可無
如何定義元素或者屬性值的限制
1.最大值最小值限制
大於等於0,
表示最小值但是不包括指定值
小於等於
120,
2.列舉限制,指只能在指定的幾個值中取值 3
.模式(
pattern
)限制,指字串的格式必須滿足制定的匹配模式 例子
說明
表示只能在小寫字母中取乙個值
表示必須是三個大寫字母
表示必須是三個字母,可以是大寫或小寫的
表示必須是
xyz中的乙個
表示數字的範圍是
0-99999
表示必須是
0或者多個小寫字元組成的序列
表示必須是多個字母。
表示是male
或者female
中的乙個
表示必須是
8個字母數字字元
4.字串長度的限制
長度必須是8。
表示長度在
5-8之間 6.
對於空白字元的限制 示例
說明
保留原樣,表示
xml處理器不會移除或者替換任何空白字元
指回車,換行,
tab都會被替換成空格處理
去掉多於乙個空格,和
html
中處理方式相同
如何定義複雜型別
複雜型別是指定義元素中包含屬性或者子元素的型別 1.
定義只包含子元素的複雜型別
2.定義只包含屬性的複雜型別
3.定義只包含內容的複雜型別
4.定義包含內容和子元素混合的複雜型別
以上定義對應的
xml
dear mr.john smith.
your order 1032
will be shipped on 2001-07-13. 5.
定義包含屬性和子元素的複雜型別
使用指示器在
xsd中的指示器包括 1.
順序指示器 1)
all
指示子元素可以以任何順序出現,並且每乙個元素都必須出現一次
2)choice
指示子元素中可以出現乙個或者另乙個
3)sequence
指示子元素必須按照順序出現
2.出現次數指示器
minoccurs
,maxoccurs
maxoccurs="10" minoccurs="0"/>
3.組指示器(
group indicators)
用來定義相關的一組元素
用來定義一組相關的屬性
any關鍵字
表示可以有任意元素
anyattribute關鍵字
substitutiongroup關鍵字
表示某乙個元素和另乙個替代元素定義相同
文中的例子都來自w3school.
如何定義Xsd檔案
xml schema 的用途 1 定義乙個xml 文件中都有什麼元素 2 定義乙個xml 文件中都會有什麼屬性 3 定義某個節點的都有什麼樣的子節點,可以有多少個子節點,子節點出現的順序 4 定義元素或者屬性的資料型別 5 定義元素或者屬性的預設值或者固定值 xml schema 的根元素 表示資料...
定義XSD檔案
xml schema的用途 1 定義乙個 xml 文件中都有什麼元素 2 定義乙個 xml 文件中都會有什麼屬性 3 定義某個節點的都有什麼樣的子節點,可以有多少個子節點,子節點出現的順序 4 定義元素或者屬性的資料型別 5 定義元素或者屬性的預設值或者固定值 xml schema的根元素 表示資料...
如何使用XSD
xml 文件可對 dtd 或 xml schema 進行引用。請看這個名為 note.xml 的 xml 文件 george john reminder don t forget the meeting 下面這個例子是名為 note.dtd 的 dtd 檔案,它對上面那個 xml 文件的元素進行了定...