DTD
Document Type Definition,文档类型定义,
格式良好:满足XML最低规范的
有效:通过DTD验证的文档称为有效
文档类型定义
<!DOCTYPE 根 SYSTEM "验证文档.dtd">
外部DTD
内部DTD
空标记
ANY
混合元素
自定义一般实体
1、DTD如下:
2、XML实体定义如下:
高版本浏览器中实体定义方式xml内部
属性
格式:
<!ATTLIST 元素名称 属性的名称 数据类型 附加条件>
TIP:声明元素的时候,元素的数据类型是PCDATA
属性的时候,属性的数据类型是CDATA
属性的声明
/*****************************************************************/
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT books (book+)>
<!ELEMENT book (#PCDATA)>
<!ATTLIST book id ID #REQUIRED>
<!ATTLIST book medium CDATA #FIXED '纸质'>
<!ATTLIST book type CDATA '计算机'>
<!ATTLIST book pub (北京大学出版社|工业出版社|邮电出版社) "北京大学出版社">
<!ATTLIST book pagesize CDATA #IMPLIED>
<books>
<book id="B001" medium="纸质" pub="工业出版社" type="计算机" pagesize="300"/>
<book id="B002" medium="纸质" pub="工业出版社" type="计算机" pagesize="300"/>
</books>
id必须是字母开头不能以数字开头
/*****************************************************************/
DTD 属性定义: %p 参数实体 就是一般实体前面加 %
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % p "test">
<!ELEMENT roster ((%p;)+)>
<!ELEMENT %p; (name,sex,birthday,score?,skill+)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ELEMENT birthday (#PCDATA)>
<!ELEMENT score (#PCDATA)>
<!ELEMENT skill (#PCDATA)>
<!ATTLIST %p; id ID #REQUIRED>
xml
<!DOCTYPE roster SYSTEM "demo11.dtd"[
<!ENTITY % p "teacher">
]>
<roster>
<teacher id="t001">
<name></name>
<sex></sex>
<birthday></birthday>
<skill></skill>
<skill></skill>
</teacher>
</roster>
xml 2
<!DOCTYPE roster SYSTEM "demo11.dtd"[
<!ENTITY % p "student">
]>
<roster>
<student id="s001">
<name></name>
<sex></sex>
<birthday></birthday>
<skill></skill>
</student>
</roster>