大致的XML SCHEMA介绍

1 XML Schema简介 
XML Schema是W3C制定的基于XML格式的XML文档结构描述标准。作为一种文档描述语言,通常我们将其简写为XSD(XML Schema Define)。XSD作为DTD(文档类型定义)的替代者,已经广泛地应用到各种商业应用。
2 如何使用XSD
看一下以下XSD文件其对应XML文档应该为什么呢?
<?xml version="1.0"?>                                       
<xsd:schema 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"      
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
<xsd:element name="test">                                
    <xsd:complexType>                                    
      <xsd:sequence>                                     
          <xsd:element name="to" type="xs:string"/>      
          <xsd:element name="from" type="xs:string"/>    
          <xsd:element name="head" type="xs:string"/> 
          <xsd:element name="body" type="xs:string"/>    
      </xsd:sequence>
    </xsd:complexType>
</xsd:element>
</xsd:schema>
说明如下:
<?xml version="1.0" ncoding="UTF-8"?>
XML文档定义,描述本文档使用的XML标准版本及文档编码标准。
<xs:schema>
是所有XSD文档的根元素,其属性描述文档的名空间及文档引用;
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
指示使用xs:作前缀的元素、属性、类型等名称是属于http://www.w3.org/2001/XMLSchema名空间的。
targetNamespace="http://www.w3schools.com" 
指示本文档定义的元素、属性、类型等名称属于http://www.w3schools.com名空间;
xmlns="http://www.w3schools.com" 
指示缺省的名空间是http://www. w3schools.com,即没有前缀的元素、属性、类型等名称是属于该名空间的。
elementFormDefault="qualified" 
指示使用本XSD定义的XML文档所使用的元素必须在本文档中定义且使用名空间前缀。
<xs:element name="test">
定义一个元素(方法名),该元素的名称是test,即XML中的<test>;
<xs:complexType>
定义<test>元素的类型为复杂类型,具体格式由子元素定义;
<xs:sequence>
定义<test>元素的子元素必须按顺序出现。具体的顺序由子元素的定义顺序决定;
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="head" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
定义4个元素分别为<to>、<from>、<head>、<body>,类型均是string,是<test>的4个子元素;
========================分割线==========================
在看对应的XML文档前我们需先看看怎样才算规范的XML文档格式
满足下列要求的XML文档,称为格式良好的文档(Well-Formed Document):
(1)       使用XML定义打头,如:<?xml version="1.0" encoding="UTF-8"?>;
(2)       文档仅包含一个唯一的根元素;
(3)       起始标记(<xxx>)必须与结束标记(</xxx>)匹配;
(4)       大小写敏感;
(5)       所有元素是闭合的(<必须与>配套);
(6)       所有元素嵌套是正确的;
(7)       所有属性使用""或’’括;
(8)       entities must be used for special characters。
对应的XML文档
<?xml version="1.0"?>
<test >
<to>to</to> 
<from>from</from>
<head>head</head>
<body>body</body>
</test >
3 数据类型
数据类型分为有3中,基本数据类型、简单数据类型、复杂数据类型。
基本数据类型:通常指的是W3C标准定义的数据类型,主要包括xsd:integer、xsd:string、xsd:date、xsd:boolean等等。
simpleType(简单数据类型):可以说是基本数据类型的扩展,对其取值进行了约束,并不包含属性以及元素。
上面的例子有提到complexType(复杂数据类型),那何为复杂类型呢?
复杂数据类型:通常是复杂元素的数据类型或复杂元素的子元素,描述复杂元素的子元素、属性以及子元素与属性的类型。4 约束约束指对简单类型的元素或属性施加的值约束条件,主要包含范围约束、长度约束、枚举值、模式匹配、空白处理等,是XSD元素或属性值限制的基础。
其大致有以下几种类型:
enumeration:定义可接受值的一个列表
fractionDigits:定义所允许的最大的小数位数。必须大于等于0。
length:定义所允许的字符或者列表项目的精确数目。必须大于或等于0。
maxExclusive:定义数值的上限。所允许的值必须小于此值。
maxInclusive:定义数值的上限。所允许的值必须小于或等于此值。
maxLength:定义所允许的字符或者列表项目的最大数目。必须大于或等于0。 
 minExclusive:定义数值的下限。所允许的值必需大于此值。
minInclusive:定义数值的下限。所允许的值必需大于或等于此值。
minLength:定义所允许的字符或者列表项目的最小数目。必须大于或等于0。
pattern:定义可接受的字符的精确序列。
totalDigits:定义所允许的阿拉伯数字的精确位数。必须大于0。
whiteSpace:定义空白字符(换行、回车、空格以及制表符)的处理方式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值