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

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

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

<?xml version="1.0" encoding="gb2312" ?> 
<Message>
    <from>小刀</from> 
    <to>小雨</to> 
    <content>周末一起去吃火锅呀</content> 
    <senddate>2006-09-19 17:35:19</senddate>
</Message>


我们从这个XML文件,可以清晰地读到里面的信息。但是,光有这些这些信息,还不行,既然XML是描述数据的,那么数据就有数据类型,长度这样的一些属性,所以还需要借助另一个文件XML Schema来帮助我们对数据进行一些约束。

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

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

<?xml version="1.0" encoding="utf-16" ?> 
<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>