一.什么是DTD?
1.DTD中文意思:作为文本类型的约束。(我的理解是:写XML的一种规则)。
DTDS声明:<!DOCTYPE root[]>
二.什么是XML?
中文翻译:可扩展性语言。
XML语法:
<!DOCTYPE persons[ ]>
三.XML中元素的定义。
1.元素的分类:
<!ELEMENT element-name EMPTY>//空元素
<!ELEMENT element-name (#PCDATA)>//文本元素
<!ELEMENT element-name (e1,e2)>//混合元素
2.元素的限制:
可以放在一起用(,) , 单选用(|)
出现的次数:
A:0-1次 用 ?
B:0-N次 用 *
C:1-N次 用 +
四.XML格式要求(合法XML)
1.只有一个根节点(persons)
2.严格区分大小写
3.要有开始对应的结束标签(有头有尾)
4.嵌套不能混
代码:以下是标准的XML格式
<? xml version="1.0" encoding="UTF-8" ?> <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>
5.使用DTD
元素语法:
<!ELEMENT name type>
例如: <!ELEMENT name (#PCDATA)>//文本元素
<!ELEMENT contact (phone|email )> //混合元素
<!ELEMENT br EMPTY>//空元素 -->属性语法:
<!ATTLIST person>
1.必填:#REQUIRED
2.选填:#IMPLIED
注意:ID唯一,不能以/或数字开头
文本:CDATA
枚举:psex (男|女|其他) 代表只能选一个
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persons[ <!ELEMENT persons (person*)> <!-- 给persons设置约束 --> <!ELEMENT person (name,age,contact,br?)> <!-- //给person设置约束 --> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT contact (phone|email )> <!-- //给contact设置约束 phone或email只用一个就可以了,所以用| --> <!ELEMENT phone (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT br EMPTY> <!ATTLIST person pid ID #REQUIRED pdd CDATA #IMPLIED psex (男|女|其他) "男" > ]> <!-- 定义元素: 语法: <!ELEMENT name (#PCDATA)>//文本元素 <!ELEMENT contact (phone|email )> //混合元素 <!ELEMENT br EMPTY>//空元素 --> <!-- 定义属性 <!ATTLIST person> 1.必填:#REQUIRED 2.选填:#IMPLIED 注意:ID唯一,不能以/或数字开头 文本:CDATA 枚举:psex (男|女|其他) 代表只能选一个 --> <persons> <person pid="P01" pdd="你家吗?" psex="男"> <name>张小明</name> <age>10</age> <contact> <phone>19938508493</phone> </contact> <br/> </person> <person pid="P02" > <name>张大明</name> <age>35</age> <contact> <email>123@qq.com</email> </contact> </person> </persons>