手工编写一个XML Schema(XSD)的实例


简单说:xml Schema就是xml的一个class,也相当于关系表的表结构模式。目前大都可以由程序根据已有的xml自动生成它的xsd,或者根据关系表生成它相应的xsd(实际就是将关系数据转换成xml数据,Vs2005中的类型化的Dataset就是这样实现的)。

  对xml Schema做一些简单了解还是很有益处的。

  XML Schema用于描述XML文档结构的文件。XML Schema有时又称为XML Schema Definition,所以也会称为XSD。因此Schema文件是以xsd为后缀的。

  定义XML文档结构结构指:

  定义可以出现在文档中的Element。 定义可以出现在文档中的Attribute。 定义哪些Element是子元素。 定义Element的顺序。 定义子元素的数目。 定义一个元素是否能为空,是否能包含文本。 为每个Element和Attribute定义数据类型。 为Element和Attribute定义默认值和固定值。 因为有了以上的定义,我们才能更清晰的使用XML描述我们要表达的内容。使XML的接受方能更容易明白内容的含义。

  对XML文档的验证有如下几个步骤:

  1.定义一份XML Schema或DTD: Schema或DTD为同一类型的所有文档定义了结构标准,比如有关书籍信息的文档可共享一份标准。

  2.应用Schema或DTD:一般由文档的作者指定Schema,这样接收方可以很快地根据说明对文档进行验证。但在C/S(客户机/服务器)环境中,由于服务器无法判断XML在客户端是否已经验证过,所以为了能够确保验证过程,也为了避免可能的重复验证,对文档应用Schema或DTD的操作由服务器完成。

  3.运行解析器进行验证:解析器在装载文档的同时扫描结构,遇到任何错误都会终止装载过程,

  并做出适当的响应。

  以下是一个xml与它相应的xml schema的实例。

  给定xml(project_4.xml)文件如下:

< UWO>
< Departments>
< Department>
< Name>Economics< /Name>
< Address>SocialScienceCentre,UWO,London,Ontario,Canada,N6A5C2< /Address>
< Location>SSC4071< /Location>
< Phone>519661-3500x83500< /Phone>
< Facsimile>519661-3666x83666< /Facsimile>
< Email>economics@uwo.ca< /Email>
< WEB>http://economics.uwo.ca< /WEB>
< /Department>
< Department>
< Name>Political_science< /Name>
< Address>SocialScienceCentre,UWO,London,Ontario,Canada,N6A5C2< /Address>
< Location>SSC4154< /Location>
< Phone>519661-3266x83266< /Phone>


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3