XML基础--XML的约束之Schema约束入门

  • Schema约束特点:
  1. Schema符合XML的语法规范,XML语句。
  2. 一个XML中可以有多个Schema,多个Schema使用名称空间区分(类似于Java包名)。
  3. Schema中支持比dtd中更多的数据类型,定义约束能力更强,语法更加复杂。
  • Schema快速入门:
  1. 创建一个Schema文件(后缀名:.xsd)
    根节点为<schema>

<schema>文件里面是有w3c提供的属性和标签,约束XML文件。

  1. 在Schema文件中的属性:
  1. xmlns=“http://www.w3.org/2001/XML.Schema”
  2. targetNamespace=“http://www.itcat.cn/20151111”
  3. elementFormDefault=“qualified”
  1. 有几个元素写几个<element>,简单元素与复杂元素写法如下:
 复杂元素:
 <element name="..." type="...">
    <complexType>
    	<sequence>
    		子元素
    	</sequence>
    	<attribute name="xx" type="int" use="required"></attribute> --属性约束(name:属性名称,type:属性类型,use:属性是否必须出现)
    </complexType>
</element>
其中<sequence>表示元素出现的顺序,
另外 <all>表示各元素只能出现一次,
<choice>表示出现其中的一个元素

 简单元素:
 <element name="..." type="..." maxOccurs="unbounded"></element>
 其中属性maxOccurs表示该元素出现的次数(值unbounded表示可以出现无限次)
  1. 在XML文件中引入Schema约束文件
xmlns:xsi="http://www.w3.org/2001/XML.Schema-instance" 
--表示xml是一个被约束文件
--xsi是取的别名(名称空间)

xmlns="http://www.itcat.cn/20151111" 
--约束文档里面的tergetNamespace

xsi:schemaLocation="http://www.itcat.cn/20151111 {Schema文件名称}">
--tergetNamespace 空格  约束文档的路径

例:
XML文件:

<?xml version="1.0" encoding="utf-8"?>
<person xmlns:xsi="http://www.w3.org/2001/XML.Schema-instance" xmlns="http://www.itcat.cn/20151111" xsi:schemaLocation="http://www.itcat.cn/20151111 {Schema文件路径}">
	<name>zhangsan</name>
	<age>20</age>
	<>10</>
</person>

Schema文件:

<?xml version="1.0" encoding="utf-8"?>
<schema xmlns="http://www.w3.org/2001/XML.Schema"
targetNamespace="http://www.itcat.cn/20151111"
elementFormDefault="qualified">
	<element name="person">
		<complexType>
			<sequence>
				<element name="name" type="string"></element>
				<element name="age" type="int"></element>
			</sequence>
		</complexType>
	</element>
</schema>

>> dtd约束

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值