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

时间:2011-05-27 11:21:23

标签: xml hibernate dtd

在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">

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

我想知道这句话中的属性。

2 个答案:

答案 0 :(得分:6)

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

W3C的XML建议书中记录了这一点:http://www.w3.org/TR/xml/#dt-doctype

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

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

  2. 一个系统 标识符,在您的示例中 “http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd”。 这通常被解释为 DTD可以在哪里的URL 检索。

答案 1 :(得分:2)

Doctype描述XML文件遵循的DTD。

此:

  1. 描述允许在其他元素内部使用哪些元素(用于验证)
  2. 描述可用的命名字符引用(超出&amp;&lt;&gt;&apos;&quot;的5个XML内置函数。