标签:
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>
标签:
原文地址:http://www.cnblogs.com/yd09023/p/5875691.html