1.什么是DTD?
文件类型定义(约束)
2.什么是XML?
XML:可扩展标记语言
HTML:超文本标记语言
3.XML的两种文档约束
DTD、Schema
4.XML格式要求(合法XML)
1)有且只有一个根节点;
2)由开始标签和结束标签组成;
3)XML标签区分大小写;
4)正确嵌套标签;
5.使用DTD
5.1 在XML中加入DTD申明
1)内部申明:<!DOCTYPE root[]>
2)外部申明:<!DOCTYPE 文档根节点 SYSTEM “DTD文件名”>
5.2 元素定义语法(DTD对元素的限制)
基本语法:<! ELEMENT 元素名称 元素类型 >
元素分类:EMPTY 空元素 <br/>
(#PCDATA) 文本元素
(e1,e2) 混合元素
元素限制:,(顺序)、|(或,多选一)、?(0或1次),*(0次或多次), +(1次或多次)
5.3 属性定义语法(DTD对属性的限制)
基本语法:<!ATTLIST 元素名称 属性名称 属性类型 设置说明>
属性类型:ID/CDATA/ENUM (男|女)
设置说明:#REQUIRED(必须)/#IMPLIED(可选)
5.4 特殊符号转义
&(逻辑与) --> &
>(大于) --> >
<(小于) --> <
‘(单引号) --> '
“(双引号) --> "
案例
<?xml version="1.0" encoding="UTF-8"?>
<!--
config标签:可以包含0~N个action标签
-->
<!DOCTYPE config[
<!ELEMENT config (action*) >
<!ELEMENT action (forward*) >
<!ATTLIST action path CDATA #REQUIRED
type CDATA #REQUIRED
>
<!ELEMENT forward EMPTY >
<!ATTLIST forward name ID #REQUIRED
path CDATA #REQUIRED
redirect (false|true) #IMPLIED
>
]>
<config>
<!--
action标签:可以饱含0~N个forward标签
path:以/开头的字符串,并且值必须文本 非空
type:字符串,非空
-->
<action path="/regAction" type="test.RegAction">
<!--
forward标签:没有子标签;
name:字符串,同一action标签下的forward标签name值不能相同 ;
path:以/开头的字符串
redirect:只能是false|true,允许空,默认值为false
-->
<forward name="failed" path="/reg.jsp" redirect="false" />
<forward name="success" path="/login.jsp" redirect="true" />
</action>
<action path="/loginAction" type="test.LoginAction">
<forward name="faileds" path="/login.jsp" redirect="false" />
<forward name="succes" path="/main.jsp" redirect="true" />
</action>
</config>