开发者学堂课程【XML入门 :Schema 的介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/37/detail/856
Schema 的介绍
内容介绍
一、Schema 概述
二、Schema 与 DTD 区别
课程概要:xml 的 schema 约束常见有两种约束,一个叫 DTD,一个叫 Schema,本课介绍 Schema
一、Schema 概述
XML Schema 也是一种用于定义和描述 XML 文档结构与内容的模式语言,其出现是为了克服 DTD 的局限性
1.DTD 语法:
(1) <!ELEMENT 元素名称 约束>,Schema 语法与 DTD 完全不一致,Schema 本身是一个 XML 文件,本身要循序 XML 语法。
(2) 一个 xml 中只能有一个 DTD,但一个 XML可 以有多个 Schema,区分方式为,导包多个 schema,使用名称空间来区分,类似于 Java 中的包名。
(3) dtd 里面有 PCDATA 类型,但是在 schema 里面可以支持更多的数据类型。
(4) 比如 年龄 只能是整数,在 schemna 可以直接定义。
二、Schema 与 DTD 区别
1.XML Schema vs DTD:
(1) XML Schema 符合 XML 语法结构,里面写入 XML 语句。
(2) DOM、SAX 等 XML API 很容易解析出 XML Schema 文档中的内容。
(3) XML Schema 对名称空间支持得非常好。
(4) XMLSchema 比 XML DTD 支持更多的数据类型,并支持用户自定义新的数据类型。
(5) XML Schema 定义约束的能力非常强大,可以对 XML 实例文档作出细致的语文限制。
(6) XML Schema 不能像 DTD 一样定义实体:比 DTD 更复杂,但 XmlSchema 现在已是 w3c 组织的标准,它正逐步取代 DTD。