XML中通过DOCTYPE声明文档类型,位于XML声明后、根元素前,可引用外部DTD或内嵌定义。使用引入外部DTD,或在方括号内直接定义内部DTD规则,还可混合引用外部DTD并添加内部实体。如加载外部定义,而则内嵌结构规则。

在XML中声明文档类型,主要通过DOCTYPE声明来定义文档的类型和结构。DOCTYPE声明可以引用外部DTD(文档类型定义),也可以在文档内部直接定义DTD规则。这个声明通常位于XML声明之后、文档根元素之前。
使用DOCTYPE声明文档类型
XML中的文档类型声明使用DOCTYPE关键字,基本语法如下:
内部子集] SYSTEM "外部DTD文件">其中:
- 根元素名称:必须与XML文档的根元素一致。
- SYSTEM:表示引用一个外部DTD文件。
- 内部子集:可选,在方括号内定义本地DTD规则。
引用外部DTD文件
如果DTD定义在一个独立的文件中,可以通过SYSTEM关键字引入。例如:
这里,note.dtd 文件定义了 note 元素的结构和允许的子元素。
在文档内声明DTD(内部DTD)
也可以直接在XML文档中嵌入DTD规则,适用于小型或测试用途:
]>
上述例子中,DTD直接定义了 note 及其子元素的结构。
混合使用内部和外部DTD
还可以同时引用外部DTD并添加内部补充规则:
]>
这表示加载外部DTD的同时,定义了一个新的实体 company。
基本上就这些。只要确保DOCTYPE声明位置正确,并且DTD内容符合XML语法规范,就能有效约束文档结构。注意:现代应用中DTD使用逐渐减少,更多采用XML Schema(XSD),但理解DOCTYPE仍有实际价值。










