XSD入门--part5
2016-04-12 16:41
281 查看
XSD复合元素
前面已经认识了XSD简单元素,接着就要进入XSD复合元素。何为复合元素?
定义——复合元素指包含其他元素或者其他元素属性的XML元素。
四种类型的复合元素(均包含属性):
- 空元素
- 包含其他元素的元素
- 仅包含文本的元素
- 包含元素和文本的元素
空元素:
<name id="12345"/>
包含其他元素的元素:
<user> <username>admin</username> <password>admin</password> </user>
仅包含文本的元素:
<book type="IT">Java</book>
包含元素和文本的元素:
<books> <book type="IT">Java</book> </books>
定义如下复合元素:
<user> <username>admin</username> <password>admin</password> </user>
方法一,直接对"user"元素声明:
<xs:element name="user"> <xs:complexType> <xs:sequence> <xs:element name="username" type="xs:string"/> <xs:element name="password" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
指示器 <sequence>指明了其中的子元素"username"和"password"必须按照次序出现。
方法二,"user"元素可以使用type属性,若干元素均可以使用相同的复合类型:
<xs:element name="user" type="userInfo"/> <xs:element name="guest" type="userInfo"/> <xs:element name="administrator" type="userInfo"/> <xs:complexType name="userInfo"> <xs:sequence> <xs:element name="username" type="xs:string"/> <xs:element name="password" type="xs:string"/> </xs:sequence> </xs:complexType>
当然我们我可以以某个复合元素为基础,继续添加一些元素:
<xs:element name="user" type="fullUserInfo"/> <xs:complexType name="userInfo"> <xs:sequence> <xs:element name="username" type="xs:string"/> <xs:element name="password" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullUserInfo"> <xs:complexContent> <xs:extension base="userInfo"> <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>
相关文章推荐
- SCCM 2012 R2 从入门到精通 Part5 基本配置(2)
- jaxb jaxp使用xml来生成动态页面 - xml xsd xsl ( xpath xslt ) css 概念入门
- 11.python并发入门(part5 event对象)
- Xsd入门
- Java实例 Part5:面向对象入门
- django入门-测试-part5
- CodeSynthesis XSD使用入门
- gsoap入门:Schema类型映射塈将xsd:date类型转为struct tm
- 数据分析(入门篇)-第二章-玩转数据分析-Part5(Excel数据分析工具库-相关分析)
- ibatis快速入门(一)
- Spring MVC 教程,快速入门,深入分析
- Lua游戏脚本语言入门学习指导
- Maven入门实战
- ps的入门
- HTML5之WebSocket入门3 -通信模型socket.io
- 一看就明白的爬虫入门讲解:基础理论篇
- JAVA爬虫WebCollector 2.x入门教程——基本概念
- Java进阶学习第八天——WEB入门
- MyBatis学习总结(一)——MyBatis快速入门
- (2) freemarker入门案例2