|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
我们可以看到,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中相同,都有元素属性的说法,大道一样)。而复杂类型不仅可以包含属性,而且可以在其中嵌套其他的元素,或者可以和其他元素中的属性相关联。 返回类别: 教程 上一教程: 手把手教你制作Google Sitemap(具体制作教程和协议讲解) 下一教程: 学习VML笔记 您可以阅读与"一个简朴的XML Schema的例子"相关的教程: · XMLHTTP异步获取网站数据的例子 · 利用XML实现通用WEB报表打印实际使用中的例子 · 一个简朴的XML 服务器 · 亲密接触XML(7)-我的属性规则的一个例外 · 将一个图片以二进制值的形式存入Xml文件中 |
| 快精灵印艺坊 版权所有 |
首页 |
||