DOCTYPE在xml文件中的含义是什么?

Uda*_*day 5 xml dtd hibernate

在hibernate中,我们使用配置和映射xml文件.在xml中,第一行是版本,然后我们指定DOCTYPE DTD行.例:

<!DOCTYPE hibernate-mapping PUBLIC  "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释一下这是什么意思?我知道DTD是文档类型定义,就像定义xml的语法一样.

我想知道这个陈述中的属性.

ale*_*brn 6

您引用的行是文档类型声明.

它在W3C的XML建议书中有记录:http://www.w3.org/TR/xml/#dt-doctype

它指定处理文档时要使用的DTD.有两种机制可用于指定

  1. 一个可选的PUBLIC标识符(这些天很少见),在你的例子中," - // Hibernate/Hibernate Mapping DTD 3.0 // EN".解析DTD资源的机制是特定于应用程序的.

  2. 一个SYSTEM标识符,在您的示例中为"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd".这通常被解释为可以从中检索DTD的URL.