schema学习系列三: schema中的复杂元素
生活随笔
收集整理的這篇文章主要介紹了
schema学习系列三: schema中的复杂元素
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如何定義復合元素?
請看這個復合 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>總結
以上是生活随笔為你收集整理的schema学习系列三: schema中的复杂元素的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果手机怎么设置流量限制
- 下一篇: C# 20行代码解析KRC歌词内容