1是格式良好XML?
1 有且只有一个根元素
2 XML标签大小写正确区分
3 正确使用结束标签
4 正确嵌套标签
5 使用了合法的标签名
6 定义有效的属性
2元素的分类
<!ELEMENT element-name EMPTY>//空元素 <!ELEMENT element-name (#PCDATA)>//文本元素 <!ELEMENT element-name (e1,e2)>//混合元素3 元素的限制
, 必须有
|,有其中一个
次数: +, 1~n
*, 0~n
?, 0或1
?默认有且只有一个
-
属性定义的语法 ()
<!ATTLIST element-name att_name type >属性(ATTLIST)
ATT是attribute的缩写
LIST 是集合的意思
ID
(男|女)
CDATA
IDREF#REQUIRED/#IMPLIED
5,XML中的特殊符号
&(逻辑与) &
<(小于) <
>(大于) >
"(双引号) "
'(单引号) '
config.xml的DTD约束
<?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
>
<!ATTLIST forword
name CDATA #REQUIRED
path CDATA #REQUIRED
redirect CDATA #REQUIRED
>
]>
<config>
<!--
action标签:可以饱含0~N个forward标签 path:以/开头的字符串,并且值必须唯一 非空 ,子控制器对应的路径
type:字符串,非空,子控制器的完整类名
-->
<action path="/registerAction" type="test.action.RegisterAction">
<forward name="success" path="/index.jsp" redirect="true" />
<forward name="failed" path="/register.jsp" redirect="false" />
</action>
<action path="/loginAction" type="test.action.LoginAction">
<forward name="a" path="/index.jsp" redirect="false" />
<forward name="b" path="/welcome.jsp" redirect="true" />
</action>
</config>