XML(5)_XML 约束_DTD

XML

XML 约束_DTD

● 什么是 DTD

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

● DTD 演示

  • 解读下面 DTD:
    XML(5)_XML 约束_DTD
    ① students 元素中可以包含 1~n 个 student 元素;
    ② student 元素中必须包含 name、age、sex 元素,而且顺序也是固定的;
    ③ name 元素内容为文本,即字符串;
    ④ age 元素内容为文本;
    ⑤ sex 元素内容为文本。

  • 在 XML 文档中指定内部 DTD(引入 dtd 的第一种方式)
    XML(5)_XML 约束_DTD

  • 在 XML 文档中指定本地 DTD(引入 dtd 的第二种方式)
    XML(5)_XML 约束_DTD
    其中 <!DOCTYPE students SYSTEM “students.dtd”>,表示指定 dtd 文件。
    指定 dtd 的语法:

    <!DOCTYPE 根元素 SYSTEM "DTD文件路径">
    

    ① 指定 dtd 的语法,以“<!DOCTYPE”开头,以“>”结束;
    ② students 表示根元素;
    ③ SYSTEM 表示 dtd 文件在本地;
    ④ “students.dtd” 表示 dtd 文件路径。

  • 在 XML 文档中指定外部公共 DTD(引入 dtd 的第三种方式)
    XML(5)_XML 约束_DTD
    外部公共 DTD 是说,DTD 由某个公司或权威组织发布,例如如下:

    <!DOCTYPE 根元素 PUBLIC "DTD名称" "DTD网址">
    

    当然你需要知道要使用的 DTD 的名称和网址。如果某个机构公布了 DTD,那么一定也会公布 DTD 的名称和网址。

如有错误,欢迎指正!