[五.J2EE]_DTD(文档类型定义)

回顾:  Map集合

                                                                  Map集合

1.特点
    无序
    以键值对形式存储数据
    键唯一,值不唯一
    注:当键相同的时候,值被覆盖了

2.遍历方式
    获取所有的Keys
    获取所有的Values
    获取所有的键值对EntrySet

3.常用实现类
    HashMap和Hashtable的区别
        HashMap
            异步、线程非安全
        Hashtable
            同步及排队,线程安全


    TreeMap
        按照Key排序
            默认按照Key的升序排序
            使用Comparator.reverseOrder()方法实现降序排序
        按照Value排序
            获取所有的键值对
            将键值对转换成List集合
            使用Collections帮助类的sort方法实现排序


    Collections和Arrays
        面试题:Colleciton和Collections的区别
            Collection是集合框架的顶级接口
            Collections是集合框架的帮助类
 

1. XML(可扩展标记语言)
   DTD(文档类型定义)
   Schema (图解)

   XML--DTD(Schema)
 

2. 什么是格式良好XML
  1.1 有且只有一个根元素
  1.2 XML标签大小写正确区分
  1.3 正确使用结束标签
  1.4 正确嵌套标签
  1.5 使用了合法的标签名(A-Za-z0-9_-)
  1.6 定义有效的属性

注1:什么是有效的XML

2. 在XML加入DTD声明
   <!DOCTYPE 根元素[]>

 

3. 元素定义的语法
   <!ELEMENT element-name (type)>

                          
4. 元素的分类
   <!ELEMENT element-name EMPTY>//空元素
   <!ELEMENT element-name (#PCDATA)>//文本元素
   <!ELEMENT element-name (e1,e2)>//混合元素

5. 元素的限制
   ,        顺序
   |        或
   次数: +  1~n
         *  0~n
         ?  0~1
       没有 1次

 

6. 属性定义的语法
 
   <!ATTLIST element-name 
     att_name1 type
     att_name2 type
   >
         
   ID            
   (男|女) "男"  枚举
   CDATA        
   IDREF

   #REQUIRED/#IMPLIED

7. XML中的特殊符号
   &(逻辑与)  &amp;        
   <(小于)    &lt;        
   >(大于)    &gt;        
   "(双引号)  &quot;      
   '(单引号)  &apos;


   &变量名;

8. 外部DTD
   *.dtd
   SYSTEM
   PUBLIC


 

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
1.DTD申明
1)内部申明:<! DOCTYPE 根节点[]>
2) 外部申明:<! DOCTYPE 根节点 SYSTEM "DTD外部文件路径">
2.元素定义
1)语法:<!ELEMENT 元素名称 元素类型>
2)类型:
2.1).空元素:EMPTY
2.2)文本元素:(#PCDATA)
2.3)混合元素:(e1,e2,e3...)
3.限制:
,(顺序)
|(或,多选一)
?(0或1次)
*(1*0=0,0次或多次)
 +(1+0=1,1次或多次)

4. 属性定义语法(DTD对属性的限制)
	基本语法:<!ATTLIST 元素名称 属性名称 属性类型 设置说明>
	
	属性类型:ID:唯一,不能以/或者数字开头
	/CDATA  文本
	/ENUM 
	(男|女) (枚举 多选一)

	设置说明:#REQUIRED(必须)/#IMPLIED(可选)
5.  5.4 特殊符号转义
	&(逻辑与) 	  &amp;
	>(大于)	  &gt;
	<(小于)	 &lt;
	‘(单引号)	  &apos;
	“(双引号)	 &quot;

 -->
 
 <!DOCTYPE persons SYSTEM "demo.dtd">
 
 
 
 
 

<persons>
	<person pid="p01" paddr="123" psex="男">
		<name>张三</name>
		<age>22</age>
		<contact>
			<phone>15882821111</phone>
		</contact>
		<br/>
	</person>
	<person pid="p02">
		<name>李四</name>
		<age>23</age>
		<contact>
			<mail>123@qq.com</mail>
		</contact>
	</person>
</persons>

demo.dtd

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT persons (person+)>
 	<!ELEMENT person (name,age,contact,br?)>
 	<!ELEMENT  name (#PCDATA)>
 	<!ELEMENT  age (#PCDATA)>
 	<!ELEMENT  contact (phone|mail)>
 	<!ELEMENT  phone (#PCDATA)>
 	<!ELEMENT  mail (#PCDATA)>
 	<!ELEMENT  br EMPTY>
 	<!ATTLIST person
 		pid ID #REQUIRED
 		paddr CDATA #IMPLIED
 		psex (男|女) "男"
 	>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值