DtD

框架的由来
就是由多种设计模式配合形成的特定的框架来处理特点的问题,底层是通过java的反射机制来完成的

dtd 是xml文件的约束技术中的一种
web.xml配置tomcat的一些东西

html和xml的区别
代码如下
html:

<body>
<h1>bbb</h1>
<b>xxx</b>
<c>aaa</c>
</body>

``

在这里插入图片描述


xml:
在这里插入图片描述
xml是不能和html一样乱写的,所有html和xml有约束的差异性
HTML是超文本
xml是可扩展标记语言
xml能够通过字符串表示对象的结构

xml的用途
做配置(几乎99%的框架都有配置文件)
做数据传输

1.什么是格式良好的xml
1.1有且只有一个根元素
1.2xml标签大小正确区分
1.3 正确使用结束标签
1.4 正确嵌套标签
1.5使用了合法的标签名
1.6 定义有效的属性

1.1有且只有一个根元素

<persons>
 <person pid="p1" sex="男" qq="aaa" parent="p2">
  <name>张小明</name>
  <age>10</age>
  <contact>
   <phone>1234567</phone>
  </contact>
  <br/>
 </person>
 <person pid="p2">
  <name>张大明</name>
  <age>35</age>
  <contact>
   <email>123@qq.com</email>
  </contact>
 </person>
</persons>

<persons>
 <person pid="p1" sex="男" qq="aaa" parent="p2">
  <name>张小明</name>
  <age>10</age>
  <contact>
   <phone>1234567</phone>
  </contact>
  <br/>
 </person>
 <person pid="p2">
  <name>张大明</name>
  <age>35</age>
  <contact>
   <email>123@qq.com</email>
  </contact>
 </person>
</persons>

在这里插入图片描述
person报错就是1.1有且只有一个根元素

第二个
1.2xml标签大小正确区分

<persons>
 <person pid="p1" sex="男" qq="aaa" parent="p2">
  <name>张小明</name>
  <age>10</age>
  <contact>
   <phone>1234567</phone>
  </contact>
  <br/>
 </person>
 <person pid="p2">
  <name>张大明</name>
  <age>35</age>
  <contact>
   <email>123@qq.com</email>
  </contact>
 </person>
</persons>

在这里插入图片描述
原本是小写的,你写成大写她就报错了。1.2xml标签大小正确区分

第三个
1.3 正确使用结束标签

<?xml version="1.0" encoding="UTF-8"?>
<persons>
 <person pid="p1" sex="男" qq="aaa" parent="p2">
  <name>张小明</name>
  <age>10</age>
  <contact>
   <phone>1234567</phone>
  </contact>
  <br/>
 </person>
 <person pid="p2">
  <name>张大明</name>
  <age>35</age>
  <contact>
   <email>123@qq.com</email>
  </contact>
 </person>
</persons>

在这里插入图片描述
你这个结束时候的标签错了,她也会报错

第4个1.4 正确嵌套标签

<?xml version="1.0" encoding="UTF-8"?>
<persons>
 <person pid="p1" sex="男" qq="aaa" parent="p2">
  <name>张小明</name>
  <age>10</age>
  <contact>
   <phone>1234567</phone>
  </contact>
  <br/>
 </person>
 <person pid="p2">
  <name>张大明</name>
  <age>35</age>
  <contact>
   <email>123@qq.com</email>
  </contact>
 </person>
</persons>

在这里插入图片描述
因为你这个嵌套不正确她也会报错


1.5使用了合法的标签名

<?xml version="1.0" encoding="UTF-8"?>
<persons>
 <person pid="p1" sex="男" qq="aaa" parent="p2">
  <name>张小明</name>
  <age>10</age>
  <contact>
   <phone>1234567</phone>
  </contact>
  <br/>
 </person>
 <person pid="p2">
  <name>张大明</name>
  <age>35</age>
  <contact>
   <email>123@qq.com</email>
  </contact>
 </person>
</persons>

在这里插入图片描述
你不使用合法的字符会报错

1.6 定义有效的属性

<?xml version="1.0" encoding="UTF-8"?>
<persons>
 <person pid="p1" sex="男" qq="aaa" parent="p2">
  <name>张小明</name>
  <age>10</age>
  <contact>
   <phone>1234567</phone>
  </contact>
  <br/>
 </person>
 <person pid="p2">
  <name>张大明</name>
  <age>35</age>
  <contact>
   <email>123@qq.com</email>
  </contact>
 </person>
</persons>

在这里插入图片描述
你没有定义正确的属性

元素的限制

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

在这里插入图片描述
,

|

次数: +, 1~n

*, 0~n

?, 0或1

没有

<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>

在这里插入图片描述

她这个就算全部把那个文本标签和空标签写了,当哪里还是什么都会错,看那个demo3
如下,第一步先把标签加过来

<persons>
 <person pid="p1" sex="男" qq="aaa" parent="p2">
  <name>张小明</name>
  <age>10</age>
  <contact>
   <phone>1234567</phone>
  </contact>
  <br/>
 </person>
 <person pid="p2">
  <name>张大明</name>
  <age>35</age>
  <contact>
   <email>123@qq.com</email>
  </contact>
 </person>
</persons>
<!DOCTYPE persons [
       <!ELEMENT persons (person+)>
         <!ELEMENT person (name,age,contact,br?)>
           <!ELEMENT name (#PCDATA)>
             <!ELEMENT age (#PCDATA)>
               <!ELEMENT contact (phone |email )>
                 <!ELEMENT phone (#PCDATA)>
                   <!ELEMENT br EMPTY>
                     <!ELEMENT email (#PCDATA)>
                      
]>
<persons  pid="pi" sex="男" parnt="p2">
 <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>

在这里插入图片描述
怎么样才能让她不报错

在这里插入图片描述
哪里加错,就往那个地方写,就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值