schema约束入门:
* 与dtd的区别:
** dtd不需要遵循xml文档规范, schema是xml文件,所以要按照xml规范写
** dtd元素类型只有(#PCDATA)字符串, 而schema支持更多类型
** dtd操作比schema简单, 但约束不如schema智能
* 引入:
* 约束文件引入(.xsd)
** 根节点为schema, 需要设置三个属性:
- xmlns="http://www.w3.org/2001/XMLSchema"
! 表示为一个约束文件
- targetNameSpace="命名空间随便写"
! 设置约束文件的命名空间, 被调用时用
- elementFormDefault="qualified"
* 被约束文件根节点属性:
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
! 表示是一个被约束文件, xsi防止属性重名
- xmlns="约束文件的命名空间"
- xsi:schemeLocation="约束文件命名空间 约束文件路径"
* schema规范
** 简单元素:
- <element name="元素名" type="元素类型"></element>
** 复杂元素:
- <element name="元素名" type="元素类型">
<complexType>
<sequence>
...子元素...
</sequence>
</complexType>
</element>
! <sequence></sequence> 表示子元素需要按照顺序写
* 其他子元素的约束规范:
- <all></all>: 子元素只能出现一次
- <choice></choice>: 元素只能出现其中一个
- <any></any>: 表示任意元素
- maxOccurs="unbounded": 子元素的出现次数- 无限次
- 属性约束:
<complexType>
<attribute name="属性名" type="属性类型" use="属性是否必须出现(required)"></attribute>
</complexType>
! 只能在复杂元素上面添加属性约束
xml约束 - schema入门学习笔记
最新推荐文章于 2021-05-07 12:27:06 发布