本文旨在说明XML和XML Schema是什么,他们有什么作用,对其语法,不做介绍,如有兴趣,可以到www.xml.org.cn  去做详细了解

      可扩展标记语言(eXtensible Markup Language,XML)这个简单的技术在计算机世界带动了另一场革命.在XML被正式采纳之前,Microsoft的总裁比尔盖茨曾经说过:[XML是计算机技术上的一大突破],因为它看到了愿景 -- 以一种开放,跨平台的方式来定义数据交易的价值.自从他说过那句话之后,许多的数据交换标准都以XML技术为基础建立,每一种标准都有其特定目的,并且都是用XML的简单语法.

      XML提供一种允许您以清晰明白的方式定义每一个信息对象的语法,籍由这种方式,您可以将信息当成对象加以攫取,然后许多应用程序就可以依照某时间点的需求来处理这些信息。 

      1. XML是什么?有什么用?一句话来概括,就是:
      XML是用来描述数据的,他的作用就是描述数据。可以说XML就是数据信息,数据对象。
      例:

XML,XML Schema概念,基础_xml文件<?xml version="1.0" encoding="gb2312" ?> 
XML,XML Schema概念,基础_xml文件<Message>
XML,XML Schema概念,基础_xml文件    <from>小刀</from> 
XML,XML Schema概念,基础_xml文件    <to>小雨</to> 
XML,XML Schema概念,基础_xml文件    <content>周末一起去吃火锅呀</content> 
XML,XML Schema概念,基础_xml文件    <senddate>2006-09-19 17:35:19</senddate>
XML,XML Schema概念,基础_xml文件</Message>
我们从这个XML文件,可以清晰地读到里面的信息。但是,光有这些这些信息,还不过,既然XML是描述数据的,那么数据就有数据类型,长度这样的一些属性,所以还需要借助另一个文件XML Schema来帮助我们对数据进行一些约束。

      2. XML Schema是什么?有什么用?
      XML Schema是为了对数据进行定义和约束。
      一个XML schema把XML 中的数据项列出来,指明哪个在外面,哪个在里面;哪个在前面,哪个在后面;哪些是一定得有的,哪些是可以没有的;哪个有的时候,另外某一个就一定得有,或者一定没有;哪个得是正数,哪个不能大于1000,等等,等等,这样的事。可以这样理解,XML Schema就好像是DataBase中对表的定义一样,定义了字段名,字段类型,长度,而关联了这个XML Schema的XML就好像是数据库中的数据,他必须满足表所定义的规则。

      对于上面例子中的一系列XML,我们可以定义一个Schema

XML,XML Schema概念,基础_xml文件<?xml version="1.0" encoding="utf-16" ?> 
XML,XML Schema概念,基础_xml文件<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
XML,XML Schema概念,基础_xml文件<xs:element name="Message">
XML,XML Schema概念,基础_xml文件    <xs:complexType>
XML,XML Schema概念,基础_xml文件        <xs:sequence>
XML,XML Schema概念,基础_xml文件            <xs:element name="from" type="xs:string" /> 
XML,XML Schema概念,基础_xml文件            <xs:element name="to" type="xs:string" /> 
XML,XML Schema概念,基础_xml文件            <xs:element name="content" type="xs:string" /> 
XML,XML Schema概念,基础_xml文件            <xs:element name="senddate" type="xs:dateTime" /> 
XML,XML Schema概念,基础_xml文件       </xs:sequence>
XML,XML Schema概念,基础_xml文件     </xs:complexType>
XML,XML Schema概念,基础_xml文件</xs:element>
XML,XML Schema概念,基础_xml文件</xs:schema>