- dtd<!ELEMENT 元素名称 约束>
1. schema的介绍
- 一个xml中可以有schema,多个schema用名称空间来进行区分(类似于java里面的包名)
- dtd 里面有PCDATA类型,但schema支持更多的类型,比如可以直接定义一个整数
- schema更加的复杂
2. schema入门
创建一个schema的文件后缀名 .xsd
跟节点<schema>
- 属性:xmlns="http://www.w3.org/2001/XMLSchema"
当前xml文件是一个约束文件
targetNamespace="http://www.itcat.cn/20151111"
使用schema约束文件,直接通过这个地址引入约束文件
elementFormDefault="qualified"
步骤:
- 看xml中有个多少个元素
<element>
- 看简单元素还是复杂元素如果是复杂元素
<complexType>
<sequence>
//子元素
</sequence>
</complexType>
3.如果是简单元素,写在复杂元素里面
<complexType>
<sequence>
<element name="name" type="string"></element>
<element name="age" type="int"></element>
</sequence>
</complexType>
- 在被约束文件里面引入约束文件
<person xmlns.xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.itcat.cn/20151111"
xsi:schemaLocation="http://www.itcast.cn/20151111 1.xsd">
xmlns.xsi="http://www.w3.org/2001/XMLSchema-instance"
表示xml是一个被约束的文件
xmlns="http://www.itcat.cn/20151111"
是约束文档里面targetNamespace
xsi:schemaLocation="http://www.itcast.cn/20151111 1.xsd"
targetNamespace 空格 约束文档的路径
<All>
表示只能出现一次<Choice>
元素只能出现其中一个maxOccurs="unbounded"
:表示元素的出现次数<any>
表示任意元素
- 引入多个schema文件,可以给每个起别名