Когда мы выберем Открытый идентификатор вместо Системного идентификатора, чтобы найти файл DTD? - PullRequest
2 голосов
/ 26 января 2010

1) FPI могут использоваться для идентификации файлов DTD. Поскольку, насколько я могу судить, FPI чем-то похожи на URN в том смысле, что они однозначно идентифицируют ресурс (файл DTD), то почему бы не использовать URN вместо FPI для определения местоположения DTD? Другими словами, что делает FPI более эффективными при идентификации файлов DTD?

2) Я также не понимаю полезности FPI при поиске ссылочных файлов DTD. А именно, единственное, что XML-парсер «хочет» из идентификаторов Public / System, - это чтобы он показал парсеру, где найти ссылочный файл DTD. Так как URL прекрасно справляется с поиском файла, зачем нам использовать FPI вместо URL?

3) Кроме того, как FPI помогает парсеру находить ссылочный файл DTD?

1007 * спасибо *

1 Ответ

2 голосов
/ 26 января 2010

Парсер должен знать FPI и как его решить. Обычно приложение использует так называемый файл каталога для интерпретации открытого идентификатора. Файл каталога будет в основном переводить открытый идентификатор в соответствующий системный идентификатор (URI).

См. Также Публичные идентификаторы, системные идентификаторы и файлы каталогов

FPI должен быть глобально уникальным, тогда как системный идентификатор может потенциально быть глобально уникальным, если он использует URL или URI. Поскольку системный идентификатор также может использовать путь файловой системы или относительный спецификатор URL / URI, он не может гарантировать глобальную уникальность ресурса, который он идентифицирует в некотором контексте.

ИМХО, это актуально только для разработки стандартов. Для нормальной разработки приложений достаточно системных идентификаторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...