XML schema的用法

XML Schema是以XML语言为基础的,它用于可替代DTD。
  一份XML schema文件描述了XML文档的结构。
  XML Schema语言也被称为XML Schema Definition (XSD)(XML Schema定义).
  1.什么是XML Schema?
  XML Schema的作用是定义一份XML文档的合法组件群,就像DTD的作用一样,一份XML Schema:
  定义了可以出现在文档里的元素
  定义了可以出现在文档里的属性
  定义了哪些元素是子元素
  定义了子元素的顺序
  定义了子元素的数量
  定义了一个元素应是否能包含文本,或应该是空的
  定义了元素和属性的数据类型
  定义了元素和属性的默认值和固定值
  2.XML Schema 是DTD的“接任者”
  我们认为XML Schema很快就会替代DTD在大多数的网络应用程序中被广泛使用。
  XML Schema针对将来的额外内容是可扩展的
  XML Schema内容比DTD丰富,作用也更大
  XML Schema是以XML语言编写而成的
  XML Schema支持数据类型
  XML Schema支持名称空间(namespaces)
  3.XML Schema是W3C定义的标准
  XML Schema于2001年5月2日成为W3C推荐使用的标准

  在W3C 教程中你能阅读到更多关于XML Schema标准。

例如,我可以定义一个student的xml文档如下:

这是一个schema 文档的定义 student.xsd


 1<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 2<!--W3C Schema 由 XMLSpy v2006 U 创建 (http://www.altova.com)-->
 3<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 4    <xs:element name="student">
 5        <xs:complexType>
 6            <xs:sequence><!-- 以下的元素是顺序出现的-->
 7                <xs:element name="name" type="xs:string"/>
 8                <xs:element name="age" type="agetype"/>
 9                <xs:element name="sex" type="sextype"/>
10                <xs:element name="mobile" type="mobiletype"></xs:element>
11            </xs:sequence>
12        </xs:complexType>
13    </xs:element>
14    
15    <!--定义一个简单类型 年龄 使它的最大值和最小值在0--150之间-->
16    <xs:simpleType name="agetype">
17        <xs:restriction base="xs:int">
18            <xs:maxInclusive value="150"/>
19            <xs:minInclusive value="0"/>
20        </xs:restriction>
21    </xs:simpleType>
22    
23    <!--定义一个简单类型 列出两个枚举型,只能是男或女-->
24    <xs:simpleType name="sextype">
25        <xs:restriction base="xs:string">
26        <xs:enumeration value=""></xs:enumeration>    
27        <xs:enumeration value=""></xs:enumeration>        
28        </xs:restriction>
29        
30    <!--定义一个简单类型 列出正则表达式验证手机号码-->    
31    </xs:simpleType>
32    <xs:simpleType name="mobiletype">
33        <xs:restriction base="xs:string">
34        <xs:pattern value="13[0,2,9]\d{8}"></xs:pattern>
35        </xs:restriction>
36    </xs:simpleType>
37</xs:schema>
38

 

下面添加一个xml文件来引用这个schema:student.xml

 


1<?xml version="1.0" encoding="UTF-8"?>
2<student xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:\测试项目\XML_Traning\student.xsd">
3    <name>tomin</name>
4    <age>20</age>
5    <sex></sex>
6    <mobile>13242215110</mobile>
7</student>

 

这时候当出现任何一个子元素与定义的不同时,就会报错。

转载于:https://www.cnblogs.com/zhangchenliang/archive/2012/04/03/2430714.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值