文件定义格式DTD

目录

1.关于xml

2.元素定义

3.属性定义


本片文章思维导图如下:

1.关于xml

什么是xml?

xml是可扩展标记语言,是互联网数据传输的重要工具。

为什么要学习xml?

在编辑网页时,我们使用的标签都是预先规定好的,不能根据自己意愿添加规定外的标签。

xml文件可以根据自己需要来定义标签,从而克服某些局限性。

xml的特点及作用?

特点:xml与操作系统,编程语言的开发平台都无关;

           实现不同系统之间的数据交互。

作用:配置应用程序和网站;数据交互;Ajax基石

什么是标准的xml格式?

1.xml声明

一般是xml文档的第一行

2.根元素

有且只有一个根元素

3.元素

所有的xml元素都必须有结束标签

xml标签区分大小写

xml必须正确嵌套

名称命名规则:可包含字母,数字和其他字符;不能以数字或标点符号开始;中不能包含空格。

4.定义有效的属性

如:<元素名   属性名="属性值"/>

       <Student ID="001"><Name>小宝 </Name></Student>

注意:属性值要用双引号包裹,一个元素可以有多个属性,属性值中不能直接包含<  .   "   &

2.元素定义

在xml中加入dtd声明

<!DOCTYPE 根节点名称[ ]>

在[]中定义元素,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app [
<!ELEMENT web-app (servlet+,servlet-mapping+)>
<!ELEMENT servlet (servlet-name+,servlet-class+)>
<!ELEMENT servlet-mapping (servlet-name,url-pattern+)> 
<!ELEMENT servlet-name (#PCDATA)>
<!ELEMENT servlet-class (#PCDATA)>
<!ELEMENT url-pattern (#PCDATA)>
]>
<web-app>
  <servlet>
  	<servlet-name>jrebelServlet</servlet-name>
  	<servlet-class>com.zking.xml.JrebelServlet</servlet-class>
  </servlet>
  <servlet>
  	<servlet-name>jrebelServlet2</servlet-name>
  	<servlet-class>com.zking.xml.JrebelServlet2</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>jrebelServlet</servlet-name>
  	<url-pattern>/jrebelServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
  	<servlet-name>jrebelServlet2</servlet-name>
  	<url-pattern>/jrebelServlet2</url-pattern>
  	<url-pattern>/jrebelServlet3</url-pattern>
  </servlet-mapping>
</web-app>

元素的分类

空元素:没有内容的元素

文本元素:有内容的元素

混合元素:有子元素的元素

元素的限制

与(,)或(|)

次数: 2.1 (?)表示0或1次

           2.2( * )表示0-N次

           2.3 (+)表示1-N次

3.属性定义

语法:<!ATTLIST 元素名 属性>

属性类型
1.ID  表示唯一

2.(男|女)‘男’  二选一,有默认值

3.CDATA 文本类型

4.IDREF 依赖  引用已经出现过的类型

属性描述
1.#REQUIRED 必填

2.#IMPLIED  非必填

3.‘默认值’ 只有type为上面属性类型第二点的时候才能用

代码如下:
 

<?xml version="1.0" encoding="UTF-8"?>
	<!--
		config标签:可以包含0~N个action标签
	-->
	<!DOCTYPE config [
	<!ELEMENT config (action*)>
	<!ELEMENT action (forward*)>
    <!ELEMENT forward EMPTY>
	<!ATTLIST action
		path CDATA #REQUIRED
		type CDATA #REQUIRED
	>
    <!ATTLIST forward
		name ID #REQUIRED
		path CDATA #REQUIRED
		redirect (false|true) 'false'
	>
	]>
	
<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>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小宝的宝呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值