初识DTD

博客介绍了DTD,它是一种设计模式,用于解决特定问题,是框架形成的基础,后期Schema成主流。还提到XML是DTD重要部分,可传输数据、做配置映射。同时介绍了XML元素标签的限制、特殊符号,以及属性标签和文本标签的类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初识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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值