第四章 xml schema
DESCRIPTION
第四章 XML Schema. Schema 與 DTD 的比較 XML Schema 的特性 XML 資料型態 XML Schema 屬性宣告. 簡介. 現今 XML 最主要的功能是在程式、系統或是公司、組織之間交換資料,所以資料的正確性是相當重要的。資料的結構與格式的正確是基礎要求,這可以透過 XML Schema 或是 Document Type Definition (DTD) 來定義。 XML Schema 提供比 DTD 更多的彈性,且與 XML 語法相容,所以是較好的選擇。. Schema 與 DTD 的比較. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/1.jpg)
• Schema 與 DTD 的比較• XML Schema 的特性• XML 資料型態• XML Schema 屬性宣告
第四章 XML Schema
![Page 2: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/2.jpg)
簡介
•現今 XML 最主要的功能是在程式、系統或是公司、組織之間交換資料,所以資料的正確性是相當重要的。資料的結構與格式的正確是基礎要求,這可以透過 XML Schema 或是 Document Type Definition (DTD) 來定義。
• XML Schema 提供比 DTD 更多的彈性,且與 XML 語法相容,所以是較好的選擇。
![Page 3: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/3.jpg)
Schema 與 DTD 的比較• DTD 的缺點
– DTD 採用與 XML 不同的語法–無法支援名稱空間 (Namespace)–僅能支援有限的資料型態–建立於字串取代的延伸機制 (參數實體 )
![Page 4: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/4.jpg)
XML Schema 的特性• XML Schema 本身就是一份良好格式的 XML文件。
• XML Schema 支援更多 XML 元素的「資料型態」,可以定義各種 XML 元素的資料型態。
• XML Schema 支援名稱空間,比起 DTD 擁有更大的擴充性。
![Page 5: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/5.jpg)
結構• XML Schema 和 DTD 定義了一篇 XML 文章內可以使用的元素和屬性。 XML Schema 提供比 DTD 更嚴格的定義。
![Page 6: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/6.jpg)
結構•常用的 Schema 元素如下表所示 :
元素 說明schema XML Schema 文件的根元素simpleType 使用者自已定義的資料型態element 宣告 XML 元素complexType 宣告 XML 元素的子元素attribute 宣告元素的屬性
![Page 7: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/7.jpg)
XML Schema 資料型態• XML Schema 支援多達四十種以上的資料型態,而且允許使用者自定資料型態,這些資料型態是使用在 XML 元素和屬性內容。
![Page 8: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/8.jpg)
內建資料型態
• XML Schema 支援內建資料型態,能夠直接用來定義 XML 元素或屬性的內容,如下所示 :
上述指令的 type 屬性使用的就屬於內建資料型態 string 和 decimal ,用來定義 XML 元素 code和 price 內容的資料型態。
<xsd:element name=“code” type=“xsd:string”/>
<xsd:element name=“price” type=“xsd:decimal”/>
![Page 9: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/9.jpg)
基本資料型態• XML Schema 內建的資料型態都是由一些基本資料型態所產生,如下表所示 :
資料型態 格式說明 資料型態 格式說明string “HELLO” recurringDuratio
n時間資料
boolean true,1,false,0 uriReference URL 網址float 浮點數字 ID 唯一的號碼double 雙精度浮點數 IDREF 其他 ID 屬性值decimal 數字 ENTITY 實體timeDuration
時間資料 NOTATION 參考的記法
![Page 10: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/10.jpg)
自訂資料型態•當需要替 XML 元素或屬性自訂資料型態時,我們需要使用 simpleType 元素定義所需的資料型態,語法如下所示 :
<simpleType name=“name” base=“datatypes”>
<facets_element value=“value”/>
…………
</simpleType>
![Page 11: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/11.jpg)
自訂資料型態 (續 )•前頁 simpleType 元素的屬性說明如下 :
– Name 屬性:使用者自訂資料型態的名稱。– Base 屬性:基底的資料型態,例如: string , boolean , float , double , decimal… 等。
![Page 12: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/12.jpg)
自訂資料型態 (續 )•在 simpleType 元素的子元素 facets_element 就是在描述資料型態的細節,如下所示
元素 說明minInclusive 內容的最小且包含在內的值maxInclusive 內容的最大且包含在內的值minExclusive 內容的最小值但不包含在內maxExclusive 內容的最大值但不包含在內length 元素內容的長度minLength 元素內容的最小長度maxLength 元素內容的最大長度pattern 正規語言的元素內容enumeration 定義列舉元素內容
![Page 13: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/13.jpg)
自訂資料型態 (續 )
• 定義數字範圍:–使用 simpleType 元素定義一個範圍的數字資料型態,例如訂購的數量最少為 1,最大為 100,如下所示:
–上述指令轉換成數學運算示可表示成:0<= OrderQuantity<=100
<simpleType name=“OrderQuantity” base=“integr”> <minInclusive value=“1”/> <maxInclusive value=“100”/></simpleType>
![Page 14: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/14.jpg)
自訂資料型態 (續 )•定義列舉的元素內容
–如果元素內容為列與清單中的其中之一,如:色彩值紅、白、黑、和藍,如下所示。
<simpleType name=“color” base=“string”>
<enumeration value=“red”/>
<enumeration value=“white”/>
<enumeration value=“blue”/>
<enumeration value=“black”/>
</simpleType>
![Page 15: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/15.jpg)
自訂資料型態 (續 )•正規語法
–當我們需要定義一個字串的模型如02-22222222 時,可以用以下的指令:
<simpleType name=“PhoneNumver” base=“string”>
<length value=“11”/>
<pattern value=“\d{2}-\d{8}”/>
</simpleType>
![Page 16: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/16.jpg)
自訂資料型態 (續 )
•上頁的 \d 代表數字,前二位,後八位,中間有個“ -”符號,一些常用的正規語法如下:正規語法 範例
Chap\d \d 為數字,例如 Chap1,Chap2
a*b * 為任何次數的重複字元,例如 b 、 ab 、 aab
[xyz]a [] 內的字元為任一,例如 xa 、 ya 、 za
b?c ? 為 0 或 1 ,例如 c 、 bc
a+b + 為最小一次重覆字元,例如 ab 、 aab 、 aaab
[a-d]x 定義範圍,例如 ax 、 bx 、 cx 、 dx
a{1,3}x 定義字元個數為 1 到 3 ,例如 ax 、 aax 、 aaax
![Page 17: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/17.jpg)
XML 元素宣告• XML Schema 的目的就是在宣告 XML 文件的元素,目前共有兩種方法進行宣告,第一種是參考其他已經定義好的資料型態,另一種就是使用 complexType 元素同時定義字元素和資料型態,首先我們先來看看第一種元素宣告,使用的為 element 元素,基本的語法如下所示:
<element name=“name” type=“type“ minOccurs=“int” maxOccurs=“int”/>
![Page 18: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/18.jpg)
XML 元素宣告 (續 )•上頁的宣告各屬性參數說明如下:
– name 屬性:此為 XML 元素名稱。– type 屬性: XML 元素內容的資料型態,可為內建資料型態、 simpleType 和 complexType 元素宣告的資料或名稱型態。
– minOccurs 屬性:元素最少出現的次數。– maxOccurs 屬性:元素最多出現的次數,如為 unbounded 表示無限次數。
![Page 19: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/19.jpg)
XML 元素宣告 (續 )• minOccurs 和 maxOccurs 屬性值和其意義,相對於 DTD 指令如下表所示:
minOccurs
maxOccurs
說明
0 1 0 或 1 ,相當於 DTD 的「 ? 」
1 1 出現一次0 Unbounde
d0 或無限,相當於 DTD 的「 * 」
1 unbounded
1 或無限,相當於 DTD 的「 + 」
![Page 20: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/20.jpg)
內建資料型態•如果 XML 元素內容為內建資料型態,且沒有擁有其他子元素,此時便可直接使用內建資料型態宣告 XML 元素。
•上述 element 元素宣告一個 title 的 XML元素,此元素為字串 string ,而且只會出現一次。
<element name=“title” type=“string” minOccurs=“1” maxOccurs=“1”/>
![Page 21: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/21.jpg)
內建資料型態 (續 )•如果 XML 擁有固定值,此時可使用 fixed屬性指定元素值。
•上述 XML 元素 zero 的值為 0,因為我們使用 fixed 屬性指定其值。
<element name=“zero” type=“unsignedByte” fixed=“0” minOccurs=“1” maxOccurs=“1”/>
![Page 22: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/22.jpg)
simpleType 元素•對於比較複雜的資料型態,例如: ISBN圖書書號,我們可以用 simpleType 元素定義所需的新資料型態,如下:
<simpleType name=“ISBNType” base=“string”>
<pattern value=“\d{3}-\d{3}-\d{3}-\d{1}”/>
</simpleType>
![Page 23: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/23.jpg)
simpleType 元素 (續 )•在定義好所需的資料型態後,我們就可以使用此型態宣告 XML 元素:
•上述元素定義 XML 的 ISBN 元素,使用的資料型態就是上頁定義的 ISBNType ,則所呈現的資料舉例如下:
ex:957-717-658-5
<element name=“ISBN” type=“ISBNType” minOccurs=“1” maxOccurs=“1”/>
![Page 24: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/24.jpg)
complexType 元素
• 上述的 complexType 元素的屬性參數說明如下:– name 屬性:此為資料型態的名稱。– content 屬性:說明元素的內容為何,值 elementOnly 表示在宣告 XML 元素,值 mixed 表示宣告元素和屬性,值 empty 表示此為空元素。
<complexType name=“name” content=“elementOnly”>
<element …/>
</complexType>
•如果 XML 元素擁有子元素,此時我們就需要使用 complexType 元素的子元素名稱和型態
![Page 25: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/25.jpg)
complexType 元素 (續 )
• 上述的complexType元素定義了bookType的內容,也就是子元素code、 title、 authorlist和 price,其中authorlist也是另一個complexType元素。
<complexType name=“bookType” content=“elementOnly”>
<element name=“code” type=“string”/>
<element name=“title” type=“string”/>
<element name=“authorlist” type=“authorlsitType”/>
<element name=“price” type=“decimal”/>
</complexType>
![Page 26: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/26.jpg)
complexType 元素 (續 )
•上述這個元素出現次數最少為 1,最多為無限,使用的 bookType 是上頁所宣告的一個 complexType 元素所建立的名稱型態,所以 book元素擁有子元素 code 、 title 、authorlist 和 price 。。
<element name=“book” type=“bookType” minOccurs=“1” maxOccurs=“unbounded”/>
![Page 27: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/27.jpg)
complexType 元素 (續 )• complexType 元素的語法除了屬性外,其本身還擁有一些指令的子元素,如下 :
子元素 說明sequence
XML 子元素需依順序出現
choice 可以是 XML 子元素的任一個或數個group 將基本的 XML 子元素建立成為一個群組element 宣告 XML 元素attribute 宣告 XML 屬性
![Page 28: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/28.jpg)
complexType 元素 (續 )•我們也可以用另一種方式,直接在 element元素使用 complexType 子元素定義 XML 元素的子元素和屬性,如下:
<element name=“name”>
<complexType>
…..
</complexType>
</element>
![Page 29: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/29.jpg)
sequence順序元素• sequence 元素可以宣告 XML 子元素出現的順序,例如: book元素的子元素依序為 code 、 title 、authorlist 和 price ,如下:
<complexType name=“bookType” content=“elementOnly”>
<sequence>
<element name=“code” type=“string”/>
<element name=“title” type=“string”/>
<element name=“authorlist” type=“authorlsitType”/>
<element name=“price” type=“decimal”/>
</sequence>
</complexType>
![Page 30: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/30.jpg)
choice 選項元素•如果 XML 元素出現的次數允許選擇,也可能重覆出現,也可能不出現, choice 可指定那些 XML 元素為選項元素:
<choice>
<element name=“a” type=“string minOccurs=“1” maxOccurs=“1”/>
<element name=“b” type=“string” minOccurs=“1” maxOccurs=“1”/>
<element name=“c” type=“stringl” minOccurs=“1” maxOccurs=“1”/>
</choice>
上述指令為三選一,只能為 a,b,c 元素其中之一。
![Page 31: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/31.jpg)
choice 選項元素 (續 )
•如果有需要重覆出現, choice 需要指定屬性。如下:
<choice minOccurs=“0” maxOccurs=“unbounded”>
…………
</choice>
上述元素屬性 minOccurs 和 maxOccurs指出 choice 元素下的 XML 元素允許出現無限次,也可以為零次。
![Page 32: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/32.jpg)
empty 空元素
•上述元素 image並沒有內容,只擁有屬性 file ,此時合法的元素如下 :
<image file=“f1234.gif”/>
<element name=“image” minOccurs=“1” maxOccurs=“1”>
<complexType content=“empty”>
<attribute name=“file” type=“string” use=“required”/>
</complexType>
</element>
如果 XML 元素為空元素,只需指定 complexType 元素的 content 屬性即可
![Page 33: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/33.jpg)
group群組元素•對於 XML 文件一些基本的 XML 元素,我們可以將它們給合成為一個 group 元素,例如: code,title,authorlist 和 price元素。
<group name=“bookData”>
<sequence>
<element name=“code” type=“string”/>
<element name=“title” type=“string”/>
<element name=“authorlist” type=“authorlsitType”/>
<element name=“price” type=“decimal”/>
</sequence>
</group>
![Page 34: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/34.jpg)
group群組元素 (續 )•上述的 group 元素將 code,title,authorlist 和 price 建立成一個稱為 bookData 的群組,在建立好群組後,我們可以在宣告時直接使用此群組,下頁說明如何使用。
![Page 35: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/35.jpg)
group群組元素 (續 )
• 上述的group元素使用ref屬性指定使用的群組,並可以指定出現的次數,不過請注意 group元素需在真的參考前宣告。
<complexType name=“bookType” content=“elementOnly”>
<sequence>
<group ref=“bookData” minOccurs=“1” maxOccurs=“1”/>
<element name=“image” minOccurs=“1” maxOccurs=“1”>
<complexType content=“empty”>
<attribute name=“file” type=“string” use=“required”/>
</complexType>
</element>
</sequence>
</complexType>
![Page 36: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/36.jpg)
XML Schema 屬性宣告•使用 XML Schema 宣告 XML 元素後,接下來就是宣告 XML 元素的屬性,基本上屬性的宣告方式有兩種,一種使用內建資料型態或 simpleType 元素的自訂資料型態,另一種是在宣告同時,使用 simpleType 元素宣告所需的資料型態。
![Page 37: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/37.jpg)
XML 元素屬性•如果 XML 元素擁有屬性,我們就需要在宣告 complexType 元素或 element 元素時,同時宣告元素的屬性,使用的就是 attribute 元素,其語法如下:
<attribute name=“name” type=“simple_type” use=“how_its_used” value=“value”/>
![Page 38: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/38.jpg)
XML 元素屬性 (續 )
•上頁 attribute 元素可以宣告 XML 元素的屬性,一個 attribute 元去宣告一個屬性,其屬性參數的說明如下:– Name 屬性: XML 元素的屬性名稱。– Type 屬性:屬性的資料型態,可以使用內建或 simpleType 元素定義的資料型態。
– Use/value 屬性:這兩個屬性擁有關連性, use 屬性為 XML 屬之的使用方式,不同的使用方式擁有不同的 value 屬性值,詳細的說明,如下表所示。
![Page 39: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/39.jpg)
XML 元素屬性 (續 )Use 屬性值 Value 屬性值 說明
Optional N/A 屬性可有可無,沒有預設值,不需value 屬性值
Required N/A 或預設值 一定需要屬性,如果有指定 value值,就表示擁有預設值
Default 預設值 屬性可有可無,如果沒有指定就使用 value 屬性的預設值
Fixed 預設值 屬性如果存在,其內容一定是 value 屬性值
![Page 40: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/40.jpg)
complexType 元素的屬性•當使用 attribute 元素宣告 XML 屬性,通常都屬於 complexType 元素的子元素,如果 complexType 元素同時宣告有元素和屬性,此時的 content 屬性值為 mixed 。
<complexType name=“bookType” content=“mixed”>
<sequence>
….
</sequence>
<attribute name=“sales” use=“required” type=“boolean”/>
</complexType>
![Page 41: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/41.jpg)
complexType 元素的屬性 (續 )•上頁的 attribute 元素宣告一個 sales 屬性 required 表示為必須的屬性,宣告的屬性屬於此 complexType 元素的 element 元素,也就是 book元素,如下:
<element name=“book” type=“bookType” minOccurs=“1” maxOccurs=“unbounded”/>
上述的 element 元素宣告一個 XML 元素 book,這個元素擁有屬性 sales 。
![Page 42: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/42.jpg)
Element 元素的屬性•同樣的 attribute也可以屬於 element 元素的子元素,例如 XML 元素 book擁有屬性code ,如下所示:
<element name=“book” type=“string”>
<attribute name=“code” type=“string” use=“required”/>
</element>
上述指示使用 element 元素宣告一個 XML元素 book後,同時也使用 attribute 宣告此元素的屬性 code 。
![Page 43: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/43.jpg)
宣告 XML 屬性同時宣告資料型態
•如果屬性值不是使用內建的資料型態,此時我們可以在宣告屬性時,同時使用 simpleType 元素宣告屬性的資料型態。
<attribute name=“name” use=“how_its_used” value=“value”>
<simpleType base=“simpleType”>
………….
</simpleType>
</attribute>
![Page 44: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/44.jpg)
attributeGroup 元素
•如同宣告 XML 元素時使用 group群組元素,XML 屬性一樣也可以使用 attributeGroup元素建立群組屬性,例如:將原來圖書資料的 XML 元素都改為屬性內容,如下<attributeGroup name=“bookAttr”>
<element name=“code” type=“string” use=“required”/>
<element name=“title” type=“string” use=“required” />
<element name=“author” type=“string” use=“required” />
<element name=“price” type=“decimal” use=“required” />
</attributeGroup>
![Page 45: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/45.jpg)
attributeGroup 元素 (續 )
•上頁群組屬性 bookAttr 宣告 code,title, author 和 price 屬性,接著可以在宣告 XML元素 book時,直接套用群組屬性,如下:
<element name=“image” minOccurs=“1” maxOccurs=“1”>
<complexType content=“empty”>
<attributeGropu ref=“bookAttr”/>
</complexType>
</element>
![Page 46: 第四章 XML Schema](https://reader035.vdocuments.mx/reader035/viewer/2022062807/568150c0550346895dbee1cd/html5/thumbnails/46.jpg)
attributeGroup 元素 (續 )•上頁 attributeGroup 元素使用 ref 屬性參考群組屬性 bookAttr ,也就是說 XML 元素book 將擁有群組屬性的所有屬性,如下:
<book code=“F8931” title=“XML Schema 探討” author=“JACK” price=“500”/>