网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > xml技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.从xml中获取城市,省份名称.
.XMLTextReader和XmlDocument读取.
.在XPath查询中指定轴(转自MSSQL手.
.从XML中读取数据到内存的实例.
.基于XML的购物车的实现.
.广告控件中xml文件的写法.
.XML 增、删、改和查示例.
.XML数据库中几个容易混淆的概念.
.Javascript 调用XML制作连动下拉.
.如何快速通过XSL转换XML文件.
.使用JavaScript访问XML数据.
.WML初级教程之从实际应用中了解W.
.概述IE和SQL2k开发一个XML聊天程.
.一个简单的基于XML的模块集成框架 .
.XML文档搜索使用小结.
.XML和XSLT结合使网站设计浑然一体.
.包含中文字符的URL编码问题.
.使用XmlTextWriter生成XML文件.
.從無到有實現一個xml數據庫登錄驗.
.手把手教你制作Google Sitemap(详.

一个简单的XML Schema的例子

发表日期:2003-6-4


我们可以看到,DTD的语法相当复杂,并且它不符合XML文件的标准,自成一个体系。也就是说DTD文档本身并不是一个良好形式的XML文档,上面的关于DTD的介绍也仅仅是作了一个简介,目的是帮助大家能读懂DTD文件以及在必要时创建简单的DTD文件,因为现在很多的XML应用是建立在DTD之上的。


 
另外一个代替DTD的就是W3C定义的Schema,Schema从字面意义上来说,可以翻译成模式、大纲、计划、规划等等。它的基本意思就是说为XML文档制定一种模式。

Schema相对于DTD的明显好处是XML Schema文档本身也是XML文档,而不是像DTD一样使用自成一体的语法。这就方便了用户和开发者,因为可以使用相同的工具来处理XML Schema和其他XML信息,而不必专门为Schema使用特殊工具。Schema简单易懂,懂得XML语法、规则的人都可以立刻理解它。Schema的概念提出已久,但W3C的标准最近才出来,相应的应用支持尚未完善,但采用Schema已成为XML发展的一个趋势。


首先我们还是从最简单的例子着手来学习Schema的语法结构:

比如一个简单的XML文档如下:

<书本>
<名称>天涯明月刀
<作者>古龙
  

如果用DTD的形式来定义该XML文档结构的话,可以如下所示:


<!ELEMENT 书本 (名称, 作者)>
<!ELEMENT 名称 (#PCDATA)>
<!ELEMENT 作者 (#PCDATA)>

那么用Schema形式如何定义呢?见下面的代码:

<element name='书本' type='书本类型'/>
<complexType name='书本类型'>
<element name='名称' type='string'/>
<element name='作者' type='string'/>
</complexType>

可以注意的一点是,在Schema中,也是通过对元素的定义和元素关系的定义来实现对整个文档性质和内容的定义。同时需要注意的是,在Schema中,元素是通过它的名字和内容模型来确定,名称就是该元素的名字,这个大家都可以理解,而内容模型实际上就是表示元素的类型。就象在C++中,我们可以随便定义一个变量,但是必须定义变量的类型,变量的类型就可能有多种形式,它可以是一个简单的变量(如C++内部指定的类型,bool,int,double,char等等),也可以是很复杂的类型(比如是一个struct或者是class),在Schema中也是一样,类型(type)可以分为两种形式,一种是非常简单的类型,被称为simple,一种是复杂的类型,被称为complex。简单类型不能包含元素和属性(注意在Schema中和DTD中一样,都有元素属性的说法,大道相同)。而复杂类型不仅可以包含属性,而且可以在其中嵌套其他的元素,或者可以和其他元素中的属性相关联。

上一篇:使用DOM创建XML 人气:13179
下一篇: XML创建可排序、分页的数据显示页面 人气:12791
浏览全部Schema的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐