事实上,在第一章结尾部分所列举的大多数「实际情况」的XML 应用程序,如MathML,是由标准的DTD 组成。这些应用程序的所有使用者会将标准的DTD 含括在XML 文件中,所以检查文件的有效性将确保文件符合应用程序的结构,且可以被任何针对该应用程序所设计的软件识别认可。
提示
如果你直接在Internet Explorer 5 中开启XML 文件(含有或不含有样式表),Internet Explorer5 处理器都会检查整份文件(包含文件的型态宣告,如果有的话)是否符合格式正确的,并在任何违法状况发生时显示一个毁灭性错误。然而,Internet Explorer 5 处理器并不会检查文件的有效性。 要测试文件的有效性,你可以使用第九章中提供的 「检查XML 文件的有效性」 的有效性检查script 来测试文件。你可能现在就想要读取该章节中提供的指令,好让你能够开始检查你建立XML 文件的有效性。
新增DTD
文件的型态宣告是一段你必须加到有效XML 文件序文中的XML 标签。它可以放在序文中的任何地方-其它标签之外-后面接着XML 宣告。(回想一下如果你包含了XML 宣告,它必须位在文件的起始部分。)

文件型态宣告定义了文件的结构。如果你在Internet Explorer 5 中开启一个不含文件型态宣告的文件,Internet Explorer 5 处理器只会检查文件是否为格式正确的。然而,如果你在InternetExplorer 5 中开启一个含有文件型态宣告的文件(参阅下页的 注意 ),处理器将会检查文件的格式正确性与有效性,而且你的文件必须符合文件型态宣告中的所有宣告。例如,你将无法把并未在文件型态宣告区中宣告的元素或属性包含到文件中。而且你所含括的每一个元素与属性必须符合相关宣告中所陈述的规格(例如允许的文件内容或属性允许的型态)。
注意
只有当你透过HTML 网页来开启文件时(这个技术将在第八章与第九章中学到),InternetExplorer 5 的处理程序才会检查文件的完整性。如果你直接在Internet Explorer 5 中开启XML文件(如同本书中至目前为止所作的,以及第七章与第十章中将要进行的),处理器将会检查文件(包括文件所包括的任何文件型态宣告)的格式正确性,但却不会检查文件是否符合有效性规则,即使文件拥有文件型态宣告也一样。
DTD 的格式
文件型态宣告拥有下面的一般格式:
这里的Name 指定了文件元素的名称。真正的文件元素名称必须精确地与你在这里所输入的名称相符合(有关管理元素名称的规则的描述,请参阅第三章的 <元素解析> )。例如,如果你正为前一节的范例文件建立文件型态宣告,你将使用元素名称INVENTORY:
(这还不是完整的文件型态宣告。DTD 仍然必须以真正的内容来替换。)
DTD 是文件的文件型态定义,内含定义文件的元素、属性,与其它特性的宣告。在下面的章节中,你将看到其格式。
注意
就像所有的XML 关键词一样,DOCTYPE 必须利用大写字母撰写。
建构一个DTD
DTD 是由一个([ ),后面接着一连串的标签宣告,再接着一个(])所组成。卷标宣告描述了文件的逻辑结构;也就是,它们定义了文件的元素、属性,与其它特性。下面是一个完整包含DTD与单一标签宣告的完整XML 文件,其中标签宣告定义了文件的一个元素型态-SIMPLE:

范例中的DTD 指定了文件可以只包含SIMPLE 型态的元素(这是唯一被定义的元素型态),而且该SIMPLE 元素可以拥有任何可能的内容型态(ANY 关键词)。
DTD 可以包含下列型态的卷标宣告:
元素型态宣告 。定义了文件可以包含的元素的型态,以及元素的内容与顺序。元素型态宣告将在下一个章节中介绍。