XML Schema定义:简单类型、属性和约束
需积分: 32 28 浏览量
更新于2024-09-11
收藏 124KB PDF 举报
XML Schema 定义 XML 文档
XML Schema 是一种基于 XML 的语言,用于定义 XML 文档的结构和约束。它提供了一种方式来描述 XML 文档的结构、约束和关系,使得 XML 文档更加可读、可维护和可重用。
一、简单类型
简单类型是指只能包含文本内容、不能包含子元素,也没有属性的元素。简单类型可以是基本类型,如字符串、整数、布尔值等,也可以是派生类型,如枚举、模式等。
简单类型的声明格式为:<xs:element name=”xxx” type=”yyy”/>
例如:<xs:element name=”name” type=”xs:string”/>
其中,xs:element 是元素的声明,name 是元素的名称,type 是元素的类型,在这里是字符串类型。
二、属性
所有的元素属性均被声明为简单类型,只有复杂类型才可以拥有属性。属性的声明格式为:<xs:attribute name=”xxx” type=”yyy”/>
例如:<xs:attribute name=”lang” type=”xs:string”/>
所有的属性都是可选的,我们可以通过使用 use 关键字明确的指出是可选或是必须:
<xs:attribute name=”lang” type=”xs:string” use=”optional”/>
<xs:attribute name=”lang” type=”xs:string” use=”required”/>
我们可以通过使用 default 或 fixed 为简单类型(简单元素、属性)指定默认值或固定值。
例如:<xs:element name=”color” type=”xs:string” default=”red”>
<xs:element name=”lang” type=”xs:string” fixed=”CN”>
三、对简单类型的约束
约束是对简单类型的限制,用于确保数据的正确性和一致性。XML Schema 提供了多种约束方式,包括:
1. 枚举(enumeration):定义允许值的枚举。
例如:<xs:simpleType name=”color”>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”red”/>
<xs:enumeration value=”green”/>
<xs:enumeration value=”blue”/>
</xs:restriction>
</xs:simpleType>
2. 小数位数(fractionDigits):指定最多允许的小数位数(必需大于或小于零)。
例如:<xs:simpleType name=”price”>
<xs:restriction base=”xs:decimal”>
<xs:fractionDigits value=”2”/>
</xs:restriction>
</xs:simpleType>
3. 长度(length):精确指定允许的最大字符长度。
例如:<xs:simpleType name=”name”>
<xs:restriction base=”xs:string”>
<xs:length value=”10”/>
</xs:restriction>
</xs:simpleType>
4. 最大值(maxExclusive):指定允许的最大值,必需小于该值。
例如:<xs:simpleType name=”age”>
<xs:restriction base=”xs:integer”>
<xs:maxExclusive value=”100”/>
</xs:restriction>
</xs:simpleType>
5. 最小值(minInclusive):指定允许的最小值,大于等于该值。
例如:<xs:simpleType name=”age”>
<xs:restriction base=”xs:integer”>
<xs:minInclusive value=”1”/>
</xs:restriction>
</xs:simpleType>
6. 模式(pattern):允许值的模式,类似正则表达式。
例如:<xs:simpleType name=”phone”>
<xs:restriction base=”xs:string”>
<xs:pattern value=”\d{3}-\d{4}-\d{4}”/>
</xs:restriction>
</xs:simpleType>
7. 数字个数(totalDigits):精确指定数字个数。
例如:<xs:simpleType name=”price”>
<xs:restriction base=”xs:decimal”>
<xs:totalDigits value=”10”/>
</xs:restriction>
</xs:simpleType>
8. 空白处理(whiteSpace):处理空白,保留、替换或合并。
例如:<xs:simpleType name=”name”>
<xs:restriction base=”xs:string”>
<xs:whiteSpace value=”preserve”/>
</xs:restriction>
</xs:simpleType>
四、复杂类型
复杂类型是指可以包含子元素或属性的元素。复杂类型可以是 sequence、choice、all 等。
例如:<xs:complexType name=”person”>
<xs:sequence>
<xs:element name=”name” type=”xs:string”/>
<xs:element name=”age” type=”xs:integer”/>
</xs:sequence>
</xs:complexType>
XML Schema 是一种强大的语言,用于定义 XML 文档的结构和约束。它提供了一种方式来描述 XML 文档的结构、约束和关系,使得 XML 文档更加可读、可维护和可重用。
2019-01-25 上传
2020-03-04 上传
2024-09-23 上传
2022-07-13 上传
2022-07-13 上传
点击了解资源详情
点击了解资源详情
MALE
- 粉丝: 0
- 资源: 5
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍