Schema初学者进阶(二)

2002-9-9 14:51:57【作者】 畅享网 【进入论坛】
广告

Schema初学者进阶(二)


 
简化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>

引用的方法是非常有用的,就象是上面例子所示,我们可以先定义一些基本的元素和属性,然后在文档中的另一个位置通过引用机制进行复制。在下一章中我们将给大家展示我们如何定义"types",它使我们能够重用元素定义!

浏览:Schema初学者进阶(一)

Schema初学者进阶(三)

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系
企业信息化杂谈[原创]企业信息化的价值点探讨

我们都知道,信息技术是企业经营管理目标的手段之一。通俗点说,信息技术对企业而言就是一个工具。

IT管理—君无心[原创]文档信息安全简谈

文档信息安全工作要根据自身的需求来具体部署,也就是量体裁衣。信息安全等级划分、企业商业机密等是不同的概念。

第二届中国管理软件与IT服务年会—2..

“第二届中国管理软件与IT服务年会”于2008年7月23日-25日举行,由AMT集团与畅享网共同主办,无锡扬名高新技术产业园特别赞助支持。

CIO职场,强者生存?

在2008年,我们将继续看到CIO向商业运营方向发展。与此同时,我们也会看到商业管理人员将与技术管理人员一起竞争CIO岗位。 IT领导者的就职机会虽有不少,但其难度将会大幅提高。2……