一、什么是DTDspa
二、DTD的重要性code
三、分类xml
四、元素的定义io
五、纯元素class
六、内部DTD样例test
<?xml version="1.0" encoding="UTF-8"?> <!-- 类型:最多出现1次 主演:至少是1我的 --> <!DOCTYPE CCTV-6 [ <!ELEMENT CCTV-6 (电影+)> <!ELEMENT 电影 (名称,主演+,类型?,片长)> <!ELEMENT 名称 (#PCDATA)> <!ELEMENT 主演 (#PCDATA)> <!ELEMENT 类型 (#PCDATA)> <!ELEMENT 片长 (#PCDATA)> ]> <CCTV-6> <电影> <名称>霍元甲</名称> <主演>李连杰</主演> <类型>动做</类型> <片长>1时35分</片长> </电影> <电影> <名称>宝贝计划</名称> <主演>成龙</主演> <主演>古天乐</主演> <片长>1时40分</片长> </电影> </CCTV-6>
七、定义属性coding
八、CDATAim
九、IDimg
十、IDREF/IDREFSdi
十一、Enumerated
十二、#REQUIRED
1三、#IMPLIED
1四、#FIXED
1五、Default
1六、外部DTD样例
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE 家庭 SYSTEM "ExternalDTD.dtd"> <!-- 需求描述: * 子元素都为空元素 * 家庭必须有一我的,能够没有家电 * 名字和年龄是必须填写的 * 性别男或女,默认为女 * 住址固定为北京 --> <家庭> <人 名字="张三" 性别="男" 年龄="25" 住址="北京"/> <人 名字="李四" 年龄="38" 爱好="作个教育家"/> <家电 名称="彩电" 数量="3"/> </家庭>
<!ELEMENT 家庭 (人+,家电*)> <!ELEMENT 人 EMPTY> <!ELEMENT 家电 EMPTY> <!ATTLIST 人 名字 CDATA #REQUIRED 性别 (男|女) "女" 年龄 CDATA #REQUIRED 住址 CDATA #FIXED "北京" 爱好 CDATA #IMPLIED > <!ATTLIST 家电 名称 CDATA #REQUIRED 数量 CDATA #REQUIRED >
1六、实体
1七、实体样例
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE book SYSTEM "test.dtd"> <!-- country 中国 count 印度 rights 版权全部 pricenotation $ type 支票或现金 默认为现金 --> <book> <details> <name>xml 使用详解</name> <author>成龙来自&country;</author> <publication>Mac &rights;</publication> <price type="支票">&pricenotation;50</price> </details> <details> <name>xml 揭秘</name> <author>Raghu 来自&count;</author> <publication>Mac &rights;</publication> <price>&pricenotation;45</price> </details> </book>
<!ELEMENT book (details+)> <!ELEMENT details (name,author,publication,price)> <!ELEMENT name (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT publication (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ATTLIST price type (支票|现金) "现金" > <!ENTITY country "中国"> <!ENTITY count "印度"> <!ENTITY rights "版权全部"> <!ENTITY pricenotation "$">