Xml schema学习篇
1. 什么是xml schema
可描述xml文档的结构,定义可出现在文档中的元素、属性、子元素 、子元素的次序 、子元素的数目 、元素是否为空,或者是否可包含文本 、元素和属性的数据类型 、元素和属性的默认值以及固定值 。
2. 数据类型
1、xs:string //字符串
2、xs:decimal //小数
3、xs:integer //整数
4、xs:boolean //布尔
5、xs:date //日期
6、xs:time //时间
3. 例子
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">
...
...
</xs:schema>
对于上例子的解释:
1、<xs:schema…… //根元素
2、xmlns:xs=http://www.w3.org/2001/XMLSchema (schema用的元素和数据类型来自命名空间,同时规定来自命名空间的元素和数据类型该使用前缀xs:)
3、targetNamespace=http://www.w3school.com.cn (被此 schema 定义的元素 (note, to, from, heading, body) 来自命名空间)
4、xmlns=http://www.w3school.com.cn(默认命名空间)
5、elementFormDefault="qualified"(schema 中声明过的元素必须被命名空间限定)
4. 什么是容易元素
简易元素指那些仅包含文本的元素。它不会包含任何其他的元素或属性。
容易元素语法:
<xs:element name="xxx" type="yyy"/>(xxx 指元素的名称,yyy 指元素的数据类型)
Xml:
<lastname>Smith</lastname>
<age>28</age>
<dateborn>1980-03-27</dateborn>
Schema:
<xs:element name="lastname" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="dateborn" type="xs:date"/>
5. 简易元素可拥有指定的默认值或固定值
<xs:element name="color" type="xs:string" default="red"/>(缺省值red)
<xs:element name="color" type="xs:string" fixed="red"/>(固定值red)
6. 数据类型的限定
例子:带有一个限定的名为 "car" 的元素。可接受的值只有:Audi, Golf, BMW
<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>