XML DTD
-
什么是 DTD
具有正确语法的 XML 文档称为“格式良好”。针对 DTD 验证的 XML 文档既“格式正确”又“有效”。DTD 代表文档类型定义。DTD 定义 XML 文档的结构以及法律元素和属性。 -
何时使用 DTD
使用DTD,独立的人群可以同意使用标准 DTD 交换数据。使用DTD,您可以验证从外界收到的数据是否有效。您也可以使用 DTD 来验证您自己的数据。如果您想学习DTD,请阅读我们的DTD 教程。 -
什么时候不使用 DTD
XML不需要DTD。当您尝试使用XML或使用小的XML文件时,创建DTD可能会浪费时间。如果开发应用程序,请等到规范稳定后再添加DTD。否则,由于验证错误,您的软件可能会停止运行。 -
有效的 XML 文档
有效 XML 文档是 “格式良好” 的,并且符合 DTD 的规则:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE note SYSTEM "Note.dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>这个周末别忘了我!</body> </note>
上面的 DOCTYPE 声明包含对 DTD 文件的引用;DTD 文件的内容在下面显示和说明。
DTD 的目的是定义 XML 文档的结构以及法律元素和属性:<!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]>
上面的DTD的解释如下:- !DOCTYPE note-定义文档的根元素为note
- !ELEMENT note-定义 note 元素必须包含以下元素:“to,from,heading,body”
- !ELEMENT to-将to元素定义为 “#PCDATA” 类型
- !ELEMENT from-将from元素定义为 “#PCDATA” 类型
- !ELEMENT标题-将标题元素定义为 “#PCDATA” 类型
- !ELEMENT body-将body元素定义为 “#PCDATA” 类型
提示:#PCDATA 表示可解析的字符数据。
-
使用 DTD 进行实体声明
DOCTYPE 声明还可用于定义文档中使用的特殊字符或字符串:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE note [ <!ENTITY nbsp " "> <!ENTITY writer "Writer: Donald Duck."> <!ENTITY copyright "Copyright: W3Schools."> ]> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>这个周末别忘了我!</body> <footer>&writer; ©right;</footer> </note>
提示:实体包含三个部分:它以&符号开头,然后为实体名称,最后以分号(;)结尾。