1、常见的约束技术
XML DTD (Document Type Definition),全称为文档类型定义 在保存的时候必须保存为utf-8格式
XML Schema
2、约束
在xml技术里,可以编写一个文档来约束一个xml文档的写法,称为xml约束
3、引用外部文件约束
新建一个html文件 ,在浏览器中打开
4、DTD语法
4.1如何在xml中引入DTD
(1)外部引入
可以将dtd的约束内容写在外置的dtd文件中,这个文件的后缀名必须为.dtd而文件保存时必须用utf-8编码保存
再在xml文件中使用
<!DOCTYPE 根元素名称 SYSTEM 文件的位置>
如果写的是SYSTEM表明当前引入的dtd在当前文件系统中,后面指定的文件位置是当前硬盘中的位置
<!DOCTYPE 文档根节点 PUBLIC "DTD名称" "DTD文件的URL">
如果写的是PUBLIC表明当前引入的dtd在网络公共位置中,后面要指明dtd的名字和dtd所在的网络URL地址
(2)内部引入
直接在xml中书写dtd
<!DOCTYPE 根元素名称[
dtd约束......
]>
4.2、dtd语法
(1)元素
<!ELEMENT 元素名称 元素约束>
元素的约束:
存放类型:ANY/EMPTY
元素约束:子元素的列表,将可以包含的子元素用小括号括起来
子元素之间可以用逗号进行分割,表明子元素必须按顺序出现
子元素之间可以使用竖线进行分割,表明子元素出现其中之一
#PCDATA 表明包含标签体
+ 表示一次多次
* 表示0次或多次
? 表示0次或一次
也可以使用小括号进行组的操作
(2)属性
<!ATTLIST 元素名
属性名 属性类型 属性约束
>
属性类型:
CDATA:表示属性的值是一个普通字符串
ENUMERATED:属性的值是一个枚举列表中的值 如:(科技|人文)
ID:表明属性的值在整个文档中都是唯一的 (ID属性的值必须以字母、下划线开始)
ENTITY(实体)
属性约束:
#REQUIRED 表明当前是一个必须存在的属性
#IMPLIED 可选属性
#FIXED "固定值" 表明当前属性具有一个固定值,这样的属性不需要进行赋值,默认为固定值
'默认值' 默认值可以更改,固定值不可以改
(3)ENTITY(实体)
<!ENTITY> 就是对一大段内容的引用,可以简化代码的复用
引用实体:在xml 中引用的实体
<!ENTITY 实体名称 "实体内容">
在引用时写: &实体名称;
参数实体:在dtd 中引用的实体
<!ENTITY %实体名称 "实体内容">
在引用时写: %实体名称;