DTD定义
(DTD,Document Type Definition)是一种特殊文档,它规定、约束符合标准通用标示语言(SGML)或SGML子集可扩展标示语言(XML)规则的定义和陈述。
XML定义
可扩展标记语言
Xml的2中约束
1.DTD
2.Schema
XML的格式要求(合法XML)
1)有且只有一个根节点
2)由开始标签和结束标签组成
3)xML标签严格区分大小写
4)正确嵌套标签
使用DTD
1)在XML里加入DTD声明
1.内部声明
<!DOCTYPE root(根标签)[]>
2.外部声明
5.2元素定义的语法规则
<! ELEMENt 元素名称 元素类型 >
元素分类
EMPTY 空元素<br/>
(#PCDATA) 文本元素
(e1,e2) 混合元素
2元素限制
元素限制
,(顺序)
|(或,多选一)
?(0或一次)
*(0或多次)
+(1或多次)
5.3属性的定义语法(DTD对属性的限制)
标签之内为属性
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*) >
<!ELEMENT forward EMPTY >
<!ATTLIST action type CDATA #REQUIRED path CDATA #REQUIRED>
<!ATTLIST forward path CDATA #REQUIRED redirect (false|true) #IMPLIED name CDATA #REQUIRED>
] >
<config>
<!--action标签:可以饱含0~N个forward标签 path:以/开头的字符串,并且值必须唯一 非空 type:字符串,非空 -->
<action type="test.RegAction" path="/regAction">
<!--forward标签:没有子标签;name:字符串,同一action标签下的forward标签name值不能相同 ;path:以/开头的字符串 redirect:只能是false|true,允许空,默认值为false -->
<forward path="/reg.jsp" redirect="false" name="failed"/>
<forward path="/login.jsp" redirect="true" name="success"/>
</action>
<action type="test.LoginAction" path="/loginAction">
<forward path="/lgin.jsp" redirect="false" name="failed"/>
<forward path="/main.jsp" redirect="true" name="success"/>
</action>
</config>