初识DTD
2019-05-23 20:00
106 查看
初识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>
相关文章推荐
- dtd初识
- XML与DTD初识
- 初识XML(二)DTD
- 初识框架(DTD约束)
- DTD学习------从初识到理解
- Poechant 解读 Java API —— 借助货币格式化,初识 Locale 和 NumberFormat
- 瞎玩php——php与web页面交互之表单初识(1)
- Apache Sentry 初识
- 云图说|初识华为云数据库MySQL
- 初识Android之简单实例二
- java笔记—初识面向对象01
- JAVA高级工程师课程笔记整理——(一)初识JAVA
- 1.初识backbone.js
- java笔记——初识面向对象03一个文件调用另一个文件
- Schema和DTD的区别
- python爬虫从入门到放弃(一)之初识爬虫
- PowerShell_零基础自学课程_1_初识PowerShell
- 0909 初识编译原理
- 初识Python
- ARM架构与体系学习(一)——初识启动文件