schema简介
schema也是一种用于定义和描述xml文档结构与内容的模式语言,其出现是为了克服DTD的局限性
dtd语法:<!ELEMENT 元素名称 约束>
schema符合xml语法
一个xml中只能有一个dtd,但可以有多个schema,多个schema使用名称空间区分
dtd里面有PCDATA类型,但是在schema里面可以支持更多的数据类型(比如整数类型)
schema快速入门
创建一个schema文件,后缀名是 .xsd
根节点名称为schema
属性:xmlns="http://www.w3.org/2001/XMLSchema"
表示当前xml文件是一个约束文件
targetNamespace=""
使用schema约束文件,直接通过这个地址引入约束文件
elementFormDefault="qualified"
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace=""
elementFormDefault="qualified">
内容创建步骤:
1、看有几个元素,用<element>表示
2、复杂类型<element name="person">
<complexType>
<sequence>
子元素
</sequence>
</complexType
</element>
3、简单元素写在复杂元素里面
<element name="name" type="string"></element>
在被约束文件中引入约束文件
在根元素上面写<rootName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="" xsi:schemaLocation="{namespace} {location}">
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
表示xml是一个被约束文件
xmlns=""
是约束文档里面targetNamespace
xsi:schemaLocation="{namespace} {location}"
targetNamespace 空格 约束文档的地址路径
约束
引入多个xmd文档,重名标签使用名称空间区分标签,引入时使用<名称空间:标签>
<sequence>:元素出现按顺序
<all>:只能出现一次
<any>:表示任意元素
<chioce>:只能出现其中一个
<attribute name="id1" type="int" use="required">:属性的定义(必须是复杂元素) id1为int型且必须有 写在</complexType>之前
写在标签里面
maxOccurs="unbounded":无限次数