Schema 约束 API 查看(一)| 学习笔记

简介: 快速学习 Schema 约束 API 查看。

开发者学堂课程【XML入门 :Schema 约束 API 查看(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/37/detail/858


Schema 约束 API 查看

 

内容介绍

一、xmlSchema 文档基本结构

二、xmlSchema 复杂元素指示器

三、Schema 入门案例

四、对 xmlSchema 的引用

五、使用名称空间引入 Schema

六、复杂的 Schema 约束

七、总结

 

一、xmlSchema 文档基本结构

Schema 的结构:

它的根节点是 Schema,里面要加上三个属性。使用时首先要判断它是简单元素还是复杂元素,如果是一个复杂元素,先写 complexType 在写 sequence 然后再写上子元素。如果是简单元素就直接写 element。

 

二、xmlSchema 复杂元素指示器

1.<sequence>:表示元素的出现的顺序

在1.xsd 里写了 sequence 表示 Schema 的一个指示器,除了写 sequence 还有其他写法,sequence 表示元素的出现的顺序,把 person.xml 里的 age 放在第一个会报错,放在第二个就所以 sequence 元素出现必须按照顺序来写。

(1)ALL: 表示只能出现一次

在1.xsd 里把 sequence 注释掉,写上 all,回到 person.xml 加上 name 会出现报错,所以 all 表示元素只能出现一次。

(2)choice: 表示只能出现其中的一个

<name>zhangsan</name>

<!--<name>zhangsan</name>-->

<age>20</age>

</person>

在1.xsd 里先注释 all,再写入 choice,然后就看到在 person.xml 出现报错(只能出现 name 和 age 其中一个)

<!--<name>zhangsan</name>-->

<!--<name>zhangsan</name>-->

<age>20</age>

</person>

注释掉 age 保存,没报错;choice 表示只能出现 name、age 中的一个,把 age 拿开,name 去掉保存就没问题了。

(3)maxOccurs="unbounded": 表示元素出现次数没限制

在1.xsd 里的 element 中写

:<element name="name" type="string" maxOccurs="unbounded"></element>

出现的次数,unbounded  出现无数次,在 person.xml 中在写一个一样的 name,没有报错,再来三个 name 也没问题。

(4)any:表示任意元素。

2.在 Schema 里可以约束属性

(1)attribute 可以约束属性,但是属性必须是复杂元素,在1.xsd 的complexType 里写。

(2)写在一个复杂元素里面

(3)写在</complexType>之前

(4)写法:

<attribute nane="id1" type="int" use="required">name

写上属性的名称,type 数据类型,use 属性是否必须要出现 required 必须,看 person.xml 报错了,因为它里面有个属性叫 id1,在 xsd:里加入 id1="123" 保存,发现没有错误。

(5)属性的定义:

①name: 属性名称

②type: 属性类型 int stirng

③use: 属性是否必须出现 required

 

三、Schema 入门案例

1.案例分析

<?xml version="1.0" encoding="utf-8"?>

<schema  //schema 是根节点

xmlns="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://www.itcast.cn/20140213"

elementFormDefault="qualified">

<element name="note"> //note 这是复杂元素,因为下面有 complexType

<complexType>

<sequence> //下边的元素(element)要按顺序出现。

<element name="to" type="string" />

<element name="from" type="string" />

<element name="heading" type="string" />

<element name="body” type="string" />

</sequence>

</complexType>

</element>

</Schema>

相关文章
|
4月前
|
SQL API 数据库
为API设置默认排序规则结果数据的正确性
Dataphin数据服务支持API调用时通过OrderByList自定义排序,确保数据返回符合业务需求。默认排序在API设计时至关重要,因为它影响用户体验、数据一致性及查询正确性。新版本 Dataphin 提供了排序优先级设置,允许在SQL脚本或OrderByList中指定排序,以适应不同场景。
|
4月前
|
数据格式 Python
使用 schema 库,自定义较复杂的校验方法
使用 schema 库,自定义较复杂的校验方法
43 0
|
SQL 安全 关系型数据库
php开发实战分析(8):mysql类库的操作高级使用API开发(字段操作、权限分配、日期格式、跨表查询,数据分表)
php开发实战分析(8):mysql类库的操作高级使用API开发(字段操作、权限分配、日期格式、跨表查询,数据分表)
316 0
|
SQL 分布式计算 大数据
Column对象_操作_API | 学习笔记
快速学习 Column对象_操作_API
118 0
Column对象_操作_API  | 学习笔记
|
XML Java API
Schema 约束 API 查看(二)| 学习笔记
快速学习 Schema 约束 API 查看。
95 0
|
机器学习/深度学习 API
数据类型与API(4)Set
Set(集合) 特点 • 无序 • 无重复 • 集合间操作
|
API 分布式数据库 开发者
判断表是否存在_旧 API|学习笔记
快速学习 判断表是否存在_旧 API
109 0
判断表是否存在_旧  API|学习笔记
|
Java API 分布式数据库
判断表是否存在_新 API |学习笔记
快速学习 判断表是否存在_新 API
|
关系型数据库 分布式数据库 数据库