XML

XML 约束_DTD

1、什么是 DTD

DTD(Document Type Definition),文档类型定义,用来约束 xml 文档。例如要求 xml 文档的根元素必须是 <students>,在 <students> 元素下可以包含 0~n 个 <students> 元素,每个 <students> 元素必须有一个 number 属性,而且还要有三个子元素,分别为 <name>、<age>、<sex>,这三个子元素的内容必须为文本内容,而不能是子元素。

2、DTD 演示

(1)解读下面 DTD

  • 如图
    XML(4)_XML 约束_DTD_文件路径
    ① students 元素中可以包含 1~n 个 student 元素;
    ② student 元素中必须包含 name、age、sex 元素,而且顺序也是固定的;
    ③ name 元素内容为文本,即字符串;
    ④ age 元素内容为文本;
    ⑤ sex 元素内容为文本。

(2)在 XML 文档中指定内部 DTD(引入 dtd 的第一种方式)

  • 如图
    XML(4)_XML 约束_DTD_XML_02

(3)在 XML 文档中指定本地 DTD(引入 dtd 的第二种方式)

  • 如图
    XML(4)_XML 约束_DTD_xml_03
    其中 <!DOCTYPE students SYSTEM “students.dtd”>,表示指定 dtd 文件。
  • 指定 dtd 的语法
  • <!DOCTYPE 根元素 SYSTEM "DTD文件路径">
  • ① 指定 dtd 的语法,以“<!DOCTYPE”开头,以“>”结束;
    ② students 表示根元素;
    ③ SYSTEM 表示 dtd 文件在本地;
    ④ “students.dtd” 表示 dtd 文件路径。

(4)在 XML 文档中指定外部公共 DTD(引入 dtd 的第三种方式)

  • 如图
    XML(4)_XML 约束_DTD_xml_04
    外部公共 DTD 是说,DTD 由某个公司或权威组织发布
  • 例如如下
  • <!DOCTYPE 根元素 PUBLIC "DTD名称" "DTD网址">
  • 当然你需要知道要使用的 DTD 的名称和网址。如果某个机构公布了 DTD,那么一定也会公布 DTD 的名称和网址。

如有错误,欢迎指正!