XML-DTD
DTD( Document Type Definition)用于检验XML的
普通的XML文档,只能称为结构正确的XML
DTD的XML文档,是一种有效的结构正确的XML
DTD和XML相当于类和对象的关系。
定义方式
<!DOCTYPE 根元素[]> 内部定义
<!DOCTYPE 根元素 SYSTEM "dtd路径">外部
元素的定义:
注意类型前有空格
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE message [ <!--根元素 --> <!ELEMENT message (author, content, tag)><!--子元素名称和顺序 --> <!ELEMENT author (#PCDATA)><!--任何字符数据 --> <!ELEMENT content ANY><!--包含任何DTD元素内容 --> <!ELEMENT tag EMPTY><!--空元素 --> ]><!--结束标签 --> <message> <author>Linsage</author> <content>dtd</content> <tag/> </message>
组合类型
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE 人[ <!--根元素 --> <!-- |表示或 --> <!-- ?表示0到1次 --> <!-- *表示0到n次 --> <!-- +表示1到n次 --> <!-- ,表示顺序 --> <!ELEMENT 人 (性别,朋友+,爱好*,等级?)> <!ELEMENT 性别 (男|女)> <!ELEMENT 男 EMPTY> <!ELEMENT 女 EMPTY> <!ELEMENT 朋友 EMPTY> <!ELEMENT 爱好 EMPTY> <!ELEMENT 等级 EMPTY> ]><!--结束标签 --> <人> <性别><男/></性别> <朋友></朋友> <爱好></爱好> <爱好></爱好> </人>
属性的定义:
<!ATTLIST 元素名称 属性名称 类型 属性特别>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE 家庭 [ <!--根元素 --> <!ELEMENT 家庭 ANY> <!ELEMENT 人 EMPTY> <!-- #REQUIRED 必须填 --> <!-- #IMPLIED 可填可不填 --> <!-- #FIXED 固定值 --> <!-- 后面跟值 默认值 --> <!ATTLIST 人 编号 ID #REQUIRED > <!-- 表示唯一 --> <!ATTLIST 人 姓名 CDATA #REQUIRED > <!-- 任何字符 --> <!ATTLIST 人 父母 IDREFS #IMPLIED > <!-- 任何字符 --> <!ATTLIST 人 内容 NMTOKENS #REQUIRED > <!-- 必须包含字符中间不能有空格,带S可以 --> <!ATTLIST 人 国籍 CDATA #FIXED "中国" 性别 CDATA "男" > ]> <!--结束标签 --> <家庭> <人 编号="z1" 姓名="a" 内容="1 1"/> <人 编号="z2" 姓名="b" 内容="1 1"/> <人 编号="z3" 姓名="Linsage" 内容="1 1" 国籍="中国"/> </家庭>
实体的定义:
<!ENTITY 实体名 “实体值”>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE 内容 [ <!ELEMENT 内容 ANY> <!ELEMENT a (#PCDATA)> <!ENTITY 变量 "123"> ]> <内容>&变量; </内容>


浙公网安备 33010602011771号