电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> XML专区>>Schema初学者进阶(2):

Schema初学者进阶(2)

来源:远方网络 | 2006-2-28 | (有1896人读过)

简化Schema的设计

在我们上次的练习中,设计Schema所使用的方法是极其简单的。由于使用层层嵌套的的定义方法,当文档非常复杂时,由于嵌套层次过深,文档将不易阅读并且难以维护。同时这种方法和过去DTD的设计结构有非常大的差异,这使得人或者机器想把DTD转换成XML Schema时会有困难。

因此,这里我们介绍另外一种非层次的设计方法,以上一章文档为例,我们首先定义文档中最基本的元素,然后在复杂元素中引用我们已经定义的基本元素的,这样使得我们的设计非常的简洁易懂。

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema">
<!-- definition of simple type elements -->
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="author" type="xsd:string"/>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="friend-of" type="xsd:string"/>
<xsd:element name="since" type="xsd:date"/>
<xsd:element name="qualification" type="xsd:string"/>
<!-- definition of attributes -->
<xsd:attribute name="isbn" type="xsd:string"/>
<!-- definition of complex type elements -->
<xsd:element name="character">
<xsd:complexType>
<xsd:sequence>
<!-- the simple type elements are referenced using the "ref" attribute -->
<xsd:element ref="name"/>
<!-- the definition of the cardinality is done when the elements are referenced -->
<xsd:element ref="friend-of" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="since"/>
<xsd:element ref="qualification"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="book">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="title"/>
<xsd:element ref="author"/>
<xsd:element ref="character" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute ref="isbn"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>

XML专区热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号