一个简单的XML Schema的例子

2016-02-19 21:14 1 1 收藏

下面是个简单易学的一个简单的XML Schema的例子教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Web开发 】

  我们可以看到,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发展的一个趋势。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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

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

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  
  <!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中一样,都有元素属性的说法,大道相同)。而复杂类型不仅可以包含属性,而且可以在其中嵌套其他的元素,或者可以和其他元素中的属性相关联。
  

来源:https://www.tulaoshi.com/n/20160219/1625629.html

延伸阅读
标签: ASP
  add.asp:用户更改所选物品种类与数量! <!--#include file="Util.asp" -- <% Head="您所选购的物品已放入购物袋!" DbPath = SERVER.MapPath("ShopBag.mdb") Set conn = Server.CreateObject("ADODB.Connection") conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=&qu...
标签: ASP
  knowledge.XML文件 <?xml version="1.0" encoding="gb2312"? <?xml:stylesheet type="text/xsl" href="knowledge.xsl"? <Ebaihe name="Ebaihe" type="gs" id="gs000" <知识管理 name="知识管理" type="rt" id="rt000&quo...
标签: ASP
  buyfinish.asp:完成一次交易!记录客户信息! <% Name=Request("Customer_N") Tel=Request("Customer_T") Address=Request("Customer_A") ProductID=Request("Customer_P") ProductName=Request("Customer_PN") Quatity=Request("Customer_Q") Sum=Request("Cust...
标签: ASP
  main.asp:首页面,选择购物区! <HTML <HEAD<TITLE网上书城</TITLE</HEAD <BODY BACKGROUND="b01.jpg"<br <center<H1<font color=red网上书城</font</H1<HR width=40% <A HREF=buy.asp?CategoryID=1&Description=电脑类 电脑类</A<P <A HREF=buy.asp?CategoryID=...
标签: ASP
  <!--#include file="Util.asp" -- <% Head="您尚未选购任何物品!" DbPath = SERVER.MapPath("ShopBag.mdb") Set conn = Server.CreateObject("ADODB.Connection") conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DbPath % nothing.asp:处理用户察看但...

经验教程

103

收藏

12
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部