您的位置:首页 > 其它

初识DTD

2019-05-23 20:00 106 查看

初识DTD

它是一种设计模式,后面所学到的一种
它的出现是用来解决现实中出现的一类问题
一种约束

框架的由来
就是由多种设计模式配合形成的
特定的框架处理特定问题

XML

第一次见到xml 是web.xml,里面可以用来传输数据,做配置映射
同理,xml是dtd重要的一部分 拥有一样的用处
dtd 是前期所用到学习的,到后面Schema是主流框架

作为格式良好的XML要做到以下几点

1.有且仅有唯一的根元素
2. XML标签大小写正确区分
3. 正确使用结束标签
4. 正确嵌套标签
5. 必须使用了合法的标签名
6. 要定义有效的属性

XML元素标签

例如定义一个Persons在里面嵌套 很多个person 并给它们添加属性

<?xml version="1.0" encoding="UTF-8"?>//如果没有这行代码就会出现错误
//<!ELEMENT element-name (type)>  注:根标签也要定义!!!
<!DOCTYPE persons [
<!ELEMENT persons (person*)>//跟标签
<!ELEMENT person (name,age,contact,br?)>
<!ELEMENT name (#PCDATA)> //(#PCDATA) 文本元素
<!ELEMENT age (#PCDATA)>
<!ELEMENT contact (phone|email)> //(phone|email) 混合元素
<!ELEMENT phone (#PCDATA)>
<!ELEMENT br EMPTY>//EMPTY 空元素
<!ELEMENT email (#PCDATA)>
]>

<persons>
<person>
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person>
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>

元素的限制
次数: +, 1~n
*, 0~n
?, 0或1没有

XML中的特殊符号

XML - 属性标签和文本标签

类型:
ID :唯一

(男|女) :列表

“值” :默认值

CDATA :文本

IDREF :外键

#REQUIRED :不为空

#IMPLIED :允许为空

案例如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE config [
<!ELEMENT config (action*) >
<!ELEMENT action (forward*) >
<!ELEMENT forward (#PCDATA)>

<!ATTLIST action
path CDATA  #REQUIRED
type CDATA  #REQUIRED
>

<!ATTLIST forward
name CDATA #REQUIRED
path CDATA #REQUIRED
redirect  (true|false) 'false'
>
]>

<!--
config标签:可以包含0~N个action标签
-->
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: