XSD 複合元素概述
導讀 | 複合元素包含了其他的元素及/或屬性。 |
什麼是複合元素?
複合元素指包含其他元素及/或屬性的 XML 元素。
有四種型別的複合元素:
- 空元素
- 包含其他元素的元素
- 僅包含文字的元素
- 包含元素和文字的元素
注意: 上述元素均可包含屬性!
複合元素的例子
複合元素,"product",是空的:
<product pid="1345"/>
複合元素,"employee",僅包含其他元素:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
複合 XML 元素,"food",僅包含文字:
<food type="dessert">Ice cream</food>
複合XML元素,"description"包含元素和文字:
<description> It happened on <date>03.03.99</date> .... </description>
如何定義複合元素?
請看這個複合 XML 元素,"employee",僅包含其他元素:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
在 XML Schema 中,我們有兩種方式來定義複合元素:
1. 透過命名此元素,可直接對"employee"元素進行宣告,就像這樣:
<xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
假如您使用上面所描述的方法,那麼僅有 "employee" 可使用所規定的複合型別。請注意其子元素,"firstname" 以及 "lastname",被包圍在指示器 <sequence>中。這意味著子元素必須以它們被宣告的次序出現。您會在 XSD 指示器 這一節學習更多有關指示器的知識。
2. "employee" 元素可以使用 type 屬性,這個屬性的作用是引用要使用的複合型別的名稱:
<xs:element name="employee" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
如果您使用了上面所描述的方法,那麼若干元素均可以使用相同的複合型別,比如這樣:
<xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/> <xs:element name="member" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
您也可以在已有的複合元素之上以某個複合元素為基礎,然後新增一些元素,就像這樣:
<xs:element name="employee" type="fullpersoninfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> <xs:complexContent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2920304/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XSD 空元素概述
- XSD 僅含元素概述
- XSD 簡易元素概述
- Schema之簡單元素、複合元素和屬性
- DTD – 元素概述
- XML 元素概述XML
- HTML input 元素概述HTML
- XSLT 元素概述
- XSLT 元素概述
- Pglogical 複製概述
- 存在重複元素
- JavaScript 複習之DOM 概述JavaScript
- js如何合併兩個陣列並且刪除重複的元素JS陣列
- Redis主從複製流程概述Redis
- jQuery複製指定li元素jQuery
- MySQL主從複製、半同步複製和主主複製概述MySql
- mysql GTID 主從複製概述MySql
- mongoDB研究筆記:複製集概述MongoDB筆記
- MySQL複合索引MySql索引
- 有重複元素的全排列
- 力扣之存在重複元素力扣
- MySQL組複製MGR(一)-- 技術概述MySql
- MySQL複合索引探究MySql索引
- JavaScript複合語句JavaScript
- MySQL建立複合索引MySql索引
- Hive列合併與元素蒐集Hive
- Spring中DTD和XSDSpring
- xsd 自定義list 實現
- 如何定義Xsd檔案
- WADL, WSDL, XSD和 WebWeb
- XML XSD XSL區別XML
- 【CSS複合選擇器、元素顯示模式、背景】前端小抄(3) - Pink老師自學筆記CSS模式前端筆記
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript 陣列隨機不重複元素JavaScript陣列隨機
- 查詢Set中重複的元素
- 961. 重複 N 次的元素
- 220、存在重複元素Ⅲ(中等)
- Remove Duplicate Letters 刪除重複元素REM