XML XMLNS, заканчивающийся на «важный» # - PullRequest
2 голосов
/ 06 сентября 2011

В файле расширений Mozilla с именем install.rdf есть строка с надписью

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

Важны ли эти # символы или какова их цель?

см: https://developer.mozilla.org/en/install_manifests

Ответы [ 2 ]

4 голосов
/ 06 сентября 2011

Идентификатор фрагмента является частью URL (так что да, это важно) и указывает, что URL ссылается на абстрактный ресурс, а не на документ. Это является частью стандарта RDF, по крайней мере, так как он был сформулирован еще тогда, когда формат install.rdf был разработан в конце 1990-х годов. См. http://www.w3.org/DesignIssues/Fragment.html для объяснения, в частности:

В семантической паутине важно четко понимать, что определены. Http: URI (без идентификатора фрагмента) обязательно определяет общий документ. Это потому, что HTTP-сервер ответ о URI может удалить представление (или местоположение, или извинения за) документ, который идентифицируется запрашиваемым URI. клиент, который понимает протокол http:, может немедленно завершить что URI без fragementid является универсальным документом. Это правда даже если издатель (владелец DNS-имени) решил не запускать сервер. Даже если он просто записывает тот факт, что документ не является доступны в Интернете, но клиент знает, что это относится к документу. это означает, что идентификаторы для произвольных понятий RDF должны иметь фрагмент идентификаторы. Это, в свою очередь, означает, что пространства имен RDF должны заканчиваться "#".

Как и в случае с RDF, это довольно неинтуитивно и трудно понять (по крайней мере, для меня). Мой совет - относиться к URL-адресам пространства имен как к непрозрачным строкам и не беспокоиться о них слишком много.

1 голос
/ 06 сентября 2011

Ну, пространство имен XML - это просто URI.В этом случае.Остальное - соглашение.

Я думаю, причина в том, что многие идентификаторы в RDF состоят из пространства имен, объединенного с именем, поэтому вы получаете такие вещи, как

И да, заключительный # важен.Пространства имен должны быть точными.

...