2

创建自定义外部 DTD 时,您可以选择将其设为私有或公开。什么时候应该公开 DTD?
在这种情况下,我正在为一个描述产品的 xml 文件创建一个 DTD。XML 将由我们的客户创建,填充来自他们旧系统的数据。
我们会将这些数据导入我们为他们构建的新系统中。

不同公司之间的这种交换是否需要公共 DTD?有什么好处或坏处?

4

1 回答 1

2

我认为你在这里有一些误解。

您是在使用“public”这个词来指代 DOCTYPE 中的 PUBLIC 标识符,还是在非正式地使用它来表示“可用”?

将 PUBLIC ID 放入 DOCTYPE 意味着没有目录,任何程序或个人都无法找到实际的 DTD 内容。将 SYSTEM ID 放入 DOCTYPE 中,如果该 ID 是 URL,则意味着人和程序可以找到它。

如果验证解析器查找和使用 DTD 对您很重要,那么您要么必须将 PUBLIC 与目录使用结合起来,要么坚持使用 SYSTEM 和 URL。

如今,W3C XML Schema 比 DTD 更常用于此目的。

于 2009-11-13T16:08:29.783 回答