XML和DTD

目录

一、XML

        1.什么是XML?

        2.XML的两种文档约束

        3.XML格式要求(合法XML)

        5.在eclipse中新建xml文件

二、在XML中建立DTD文档约束

        1.什么是DTD?

        2.使用DTD

        2.1.在XML中加入DTD申明

        2.2.元素定义语法(DTD对元素的限制)

        2.3.属性定义语法(DTD对属性的限制)

        2.4.特殊符号转义


一、XML

1.什么是XML?

可扩展标记语言(可以在不同的开发过程中传值)。

2.XML的两种文档约束

DTD、Schema。


3.XML格式要求(合法XML)

1.有且只有一个根节点,其他全部节点在根节点之外;

<config>

</config>

2.由开始标签和结束标签组成;

<a></a>

3.XML标签区分大小写;

错误:

<Test></test>

正确:

<Test></Test>


4.正确嵌套标签;

错误:

<a><b></a></b>

正确:

<a><b></b></a>

标签分类:

1.标准标签:由开始标签和结束标签和标签体组成,又叫普通标签

<a>标签体</a>


2.单标签:开始标签和结束标签在同一个标签内,又叫空标签

<a/>

5.在eclipse中新建xml文件

1.File -> New -> Other...

2.搜索,找到 XML File

3.填写 xml 文件名

弹出:

单词释义:Design 设计、Source 源码

选择Source进行代码的操作


 

二、在XML中建立DTD文档约束

1.什么是DTD?

Document Type Definition 文件类型定义(约束)。

2.使用DTD

2.1.在XML中加入DTD申明

1.内部申明:<! DOCTYPE root[]>
2.外部申明:<!DOCTYPE 文档根节点 SYSTEM “DTD文件名”>

2.2.元素定义语法(DTD对元素的限制)

基本语法:<! ELEMENT 元素名称 元素类型 >

元素类型:1.空元素 EMPTY
                  2.文本元素 (#PCDATA)  
                  3.混合元素 (e1,e2)

元素限制:,(顺序)、|(或,多选一)、

                 ?(0或1次),*(0次或多次), +(1次或多次)。

                 也可以理解为:?(最多一次)、*(没有限制)、+(最少一次)。

2.3.属性定义语法(DTD对属性的限制)

基本语法:<!ATTLIST 元素名称 属性名称 属性类型 设置说明>


    
属性类型:1.ID(唯一)

                  2.CDATA(文本)

                  3.ENUM(男|女) (选其中一个) 

设置说明:1.#REQUIRED(必须)

                  2.#IMPLIED(可选)

2.4.特殊符号转义

&(逻辑与)      -->  &amp;
>(大于)     -->  &gt;
<(小于)     -->  &lt;
‘(单引号)     -->  &apos;
“(双引号)     -->  &quot;

案例:加入 DTD 文档约束的 xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE config[
	<!--
		config标签:可以包含0~N个action标签
	-->
	<!-- 元素 -->
	<!ELEMENT config (action*) >
	<!ELEMENT action (forward*) >
	<!ELEMENT forward EMPTY >
	
	<!-- 属性 -->
	<!ATTLIST action path CDATA #REQUIRED 
					 type CDATA #REQUIRED
	>
	<!ATTLIST forward name CDATA #REQUIRED
					  path CDATA #REQUIRED
					  redirect (false|true) "false"
	>
]>

<config>
	<!--
		action标签:可以饱含0~N个forward标签
		path:文本元素 非空
		type:字符串,非空
	-->
	<action path="/regAction" type="test.RegAction">
		<!--
			forward标签:没有子标签; 
			name:字符串,同一action标签下的forward标签name值不能相同 ;
			path:文本元素
			redirect:只能是false|true,允许空,默认值为false
		-->
		<forward name="failed" path="reg.jsp" redirect="false" />
		<forward name="success" path="login.jsp" redirect="true" />
	</action>
	
	<action path="/loginAction" type="test.LoginAction">
		<forward name="failed" path="login.jsp" redirect="false" />
		<forward name="success" path="main.jsp" redirect="true" />
	</action>
</config>

完。

猜你喜欢

转载自blog.csdn.net/weixin_62332711/article/details/124860517