DTD
1. 什么是DTD?
文档类型定义(约束)
2. 什么是XML
HTML:超文本标记语言(用来显示数据)
XML:可扩展标记语言(用来传输和存储数据)
3.两种文档的约束XML**
DTD和Schema
4.XML格式要求(合法XML)
- 有且只有一个节点(根元素)
- 由开始标签和结束标签组成
- XML标签区分大小写
- 正确的嵌套标签
<!-- 1.有且只有一个根节点 -->
<student>
<!-- 2.由开始标签和结束标签组成 -->
<name>
</name>
<!-- 3.XML标签区分大小写 -->
<Name></Name>
<!-- 4.正确的嵌套标签 -->
<name>
<age></age>
</name>
<sex></sex>
<br/>
</student>
5.使用DTD
5.1 在XML中加入DTD申明
内部申明: <! ELEMENT root[ ]>
外部申明:<! ELEMENT 文档根节点 SYSTEM " DTD文件名">
5.2 元素定义语法(DTD对元素的限制)
基本语法:<! ELEMENT 元素名称 元素类型>
元素分类:EMPTY 空元素
(#PCDATA)文本元素
(e1,e2,....,eN)混合元素
//EMPTY 空元素
<!ELEMENT br EMPTY>
//文本元素
<!ELEMENT name (#PCDATA)>
//混合元素
<!ELEMENT student (name,sex,contact)>
元素限制:, (顺序) | (或,多选一) ? (0 或 1次)
* (1*0=0,0次或多次) + (1+0=1,1次或多次)
<!ELEMENT student (stu+)|(stu*)>
<!ELEMENT stu (name,sex,contact,br?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT contact (phone|email)>
5.3 属性定义语法(DTD对属性的限制)
基本语法:<! ATTLIST 元素名称 属性名称 属性类型 设置说明>
属性类型:ID(唯一)/CDATA(文本)/ENUM(枚举) IDREF(外键)
设置说明:#REQUIRED (必须) #IMPLIED(可选)
<!ATTLIST stu
sid ID #REQUIRED
sname CDATA #IMPLIED
sex (男|女) #REQUIRED
>
5.4 特殊符号转义
& (逻辑与) ——> & > (大于) ——> >
< (小于) ——> < ' (单引号) ——> '
" (双引号)——> "
//最重要的是>(大于) <(小于)
<data>
select * from t_student where data>= and data<=;
</data>