当前位置: 首页 > 图文教程 > XML家族 > XML Schema > XML,XML Schema概念,基础

XML Schema
用XML Schema验证数据有效性
XML Schema学习(1)
XML Schema学习(2)
Schema之战:XML Schema vs. RELAX NG
XML Schema学习笔记
最简单的Schema文档
含子元素的稍复杂Schema文档
含子元素和孙元素的更复杂Schema文档
如何定义属性
如何定义相同子元素的数量
JAVA中使用Schema校验XML
XML Schema 概述
xml schema全接触
schema 编译(java & xml & schema)
XML Schema用法
XML Schema教程
XML Schema定义
XML Schema您了解吗?
XMLSchema中的key和unique
XML Schema 简介

XML,XML Schema概念,基础


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 495 ::
收藏到网摘: n/a

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

      可扩展标记语言(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来帮助我们对数据进行一些约束。

      2. 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>