我们什么时候选择公共标识符而不是系统标识符来定位DTD文件?

时间:2010-01-25 21:01:56

标签: xml xhtml uri

1)FPI可用于识别DTD文件。据我所知,FPI有点类似于URN,因为它们唯一地标识资源(DTD文件),那么为什么我们不使用URN而不是FPI来定位DTD?换句话说,是什么让FPI更有效地识别DTD文件?

2)我也不了解FPI在查找引用的DTD文件方面的用处。也就是说,XML解析器“想要”公共/系统标识符的唯一内容是让它们向解析器显示在哪里找到引用的DTD文件。由于URL可以很好地定位文件,为什么我们要使用FPI而不是URL?

3)另外,FPI如何帮助解析器找到引用的DTD文件?

感谢名单

1 个答案:

答案 0 :(得分:2)

解析器需要知道FPI以及如何解决它。通常,应用程序将使用所谓的目录文件来解释公共标识符。目录文件基本上将公共标识符转换为适当的系统标识符(URI)。

另见Public Identifiers, System Identifiers, and Catalog Files

FPI 必须全局唯一,而系统标识符 如果使用URL或URI则可能全局唯一。由于系统标识符也可以使用文件系统路径或相对URL / URI说明符,因此无法保证在某些上下文中标识的资源的全局唯一性。

恕我直言,这只与标准制定有关。对于正常的应用程序开发,系统标识符就足够了。