Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > 一个简单的XML Schema的例子
【标  题】:一个简单的XML Schema的例子
【关键字】:c,XML,XML,Schema
【来  源】:网络

一个简单的XML Schema的例子

Your Ad Here      我们可以看到,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中一样,都有元素属性的说法,大道相同)。而复杂类型不仅可以包含属性,而且可以在其中嵌套其他的元素,或者可以和其他元素中的属性相关联。
  
关于Schema的名字空间(namespace)(2):【上一篇】
Visual C# .NET 2003 语言的改变:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 传奇3 绝唱升刀
  • 解决phpPgAdmin不能访问数据库的问题
  • 风河Linux平台出击移动手持设备和电信设备市场
  • Perl子函数返回多个变量
  • 土法炼制带Timeout属性的WebClient
  • 提取《金山词霸》中的音标
  • 开源为软件带来创新原动力
  • 刚刚捉的虫,关于静态变量多用户访问的虫
  • 如何进入单用户模式
  • 使用自定义的TraceListener
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.