XML文件的定义
DTD
文档类型定义(Document Type Definition)。
内部DTD文档
<!DOCTYPE 根元素 [定义内容]>
外部DTD文档
<!DOCTYPE 根元素 SYSTEM "DTD文件路径">
内外部DTD文档结合
<!DOCTYPE 根元素 SYSTEM "DTD文件路径" [
定义内容
]>
基本语法
<!ELEMENT NAME CONTENT>
<!ATTLIST 元素名称
属性名称 类型 属性特性
属性名称 类型 属性特性
…
>
<!ENTITY 实体名称 “实体内容” > // 引用实体
<!ENTITY % 实体名称 "实体内容" > // 参数实体
实例
example.dtd
<!ENTITY % sex "男|女">
<!ELEMENT 班级 (学生+,作者)>
<!ATTLIST 班级
班次 CDATA "1班"
编号 ID #REQUIRED
>
<!ELEMENT 学生 (名字,年龄,介绍)>
<!ELEMENT 作者 (#PCDATA)>
<!ATTLIST 学生
地址 CDATA #IMPLIED
授课方式 CDATA #FIXED "面授"
学号 ID #REQUIRED
班级编号 IDREF #REQUIRED
朋友 IDREFS #IMPLIED
性别 (%sex;) #REQUIRED
>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ELEMENT 介绍 (#PCDATA)>
example.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入DTD -->
<!DOCTYPE 班级 SYSTEM "XML3.dtd" [<!ENTITY writer "Switch">]>
<班级 编号="C1" 班次="1班">
<学生 地址="湖南" 授课方式="面授" 学号="n1" 班级编号="C1" 朋友="n2" 性别="男">
<名字>张三</名字>
<年龄>20</年龄>
<介绍>不错</介绍>
</学生>
<学生 授课方式="面授" 学号="n2" 班级编号="C1" 朋友="n1 n3" 性别="女">
<名字>李四</名字>
<年龄>18</年龄>
<介绍>很好</介绍>
</学生>
<学生 授课方式="面授" 学号="n3" 班级编号="C1" 朋友="n2" 性别="男">
<名字>王五</名字>
<年龄>22</年龄>
<介绍>非常好</介绍>
</学生>
<作者>&writer;</作者>
</班级>