xml引入DTD和DTD文档的结构
DTD(Document Type Definition)文档类型定义,XML文档通常采用 DTD 和 Schema 来进行约束。
一、引入DTD
在XML文档中引入DTD有三种方式
1.1 内部DTD
<!DOCTYPE 根元素[
元素描述
]>
例子:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books[
<!ELEMENT books ANY>
]>
<books></books>
1.2 外部DTD
<!DOCTYPE 根元素 SYSTEM “外部DTD的URL”>
例子:
外部的DTD文档:books.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT books ANY>
xml文档中引入外部DTD:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE books SYSTEM "books.dtd">
<books></books>
1.3 公用的DTD
<!DOCTYPE 根元素 PUBLIC “DTD的标识名” “公用DTD的URI”>
如MyBatis框架的主配置文件的公用DTD
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
二、 DTD文档的结构
- 第1行是DTD声明部分,该声明与XML声明的语法相同
- 0个到多个注释部分
- 0个到多个<!ELEMENT…>定义,每个<!ELEMENT…>定 义一个XML元素
- 0个到多个<!ATTLIST…>定义,每个<!ATTLIST…>定 义一个属性
- 0个到多个<!ENTITY…>定义,每个<!ENTITY…>定 义一个实体
- 0个到多个<!NOTATION…>定义,每个<!NOTATION…>定 义一个符号