本文旨在说明XML和XML Schema是什么,他们有什么作用,对其语法,不做介绍,如有兴趣,可以到www.xml.org.cn 去做详细了解
可扩展标记语言(eXtensible Markup Language,XML)这个简单的技术在计算机世界带动了另一场革命.在XML被正式采纳之前,Microsoft的总裁比尔盖茨曾经说过:[XML是计算机技术上的一大突破],因为它看到了愿景 -- 以一种开放,跨平台的方式来定义数据交易的价值.自从他说过那句话之后,许多的数据交换标准都以XML技术为基础建立,每一种标准都有其特定目的,并且都是用XML的简单语法.
XML提供一种允许您以清晰明白的方式定义每一个信息对象的语法,籍由这种方式,您可以将信息当成对象加以攫取,然后许多应用程序就可以依照某时间点的需求来处理这些信息。
1. XML是什么?有什么用?一句话来概括,就是:
XML是用来描述数据的,他的作用就是描述数据。可以说XML就是数据信息,数据对象。
例:
< Message >
< from > 小刀 </ from >
< to > 小雨 </ to >
< content > 周末一起去吃火锅呀 </ content >
< senddate > 2006-09-19 17:35:19 </ senddate >
</ Message >
我们从这个XML文件,可以清晰地读到里面的信息。但是,光有这些这些信息,还不过,既然XML是描述数据的,那么数据就有数据类型,长度这样的一些属性,所以还需要借助另一个文件XML Schema来帮助我们对数据进行一些约束。
2. XML Schema是什么?有什么用?
XML Schema是为了对数据进行定义和约束。
一个XML schema把XML 中的数据项列出来,指明哪个在外面,哪个在里面;哪个在前面,哪个在后面;哪些是一定得有的,哪些是可以没有的;哪个有的时候,另外某一个就一定得有,或者一定没有;哪个得是正数,哪个不能大于1000,等等,等等,这样的事。可以这样理解,XML Schema就好像是DataBase中对表的定义一样,定义了字段名,字段类型,长度,而关联了这个XML Schema的XML就好像是数据库中的数据,他必须满足表所定义的规则。
对于上面例子中的一系列XML,我们可以定义一个Schema
< xs:schema xmlns:xs ="http://www.w3.org/2001/XMLSchema" >
< xs:element name ="Message" >
< xs:complexType >
< xs:sequence >
< xs:element name ="from" type ="xs:string" />
< xs:element name ="to" type ="xs:string" />
< xs:element name ="content" type ="xs:string" />
< xs:element name ="senddate" type ="xs:dateTime" />
</ xs:sequence >
</ xs:complexType >
</ xs:element >
</ xs:schema >