Почему пространства имен XML обычно начинаются с http: // ...? - PullRequest
8 голосов
/ 05 августа 2009

Например, пространство имен WPF: xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"

Если я определю свое собственное пространство имен, должно ли оно также начинаться с http? Разве http не вводит в заблуждение ?

Ответы [ 5 ]

6 голосов
/ 05 августа 2009

Пространства имен не имеют никакого значения в их значении, за исключением того, что это значение является уникальным, чтобы избежать столкновения имен. Вот почему вы видите, что многие компании добавляют URL-адрес своего веб-сайта в качестве пространства имен. URL-адреса служат той же цели, чтобы быть уникальными. С годами использование URL просто становится хорошей практикой, потому что, если все так поступают, не должно произойти столкновения имен:)

4 голосов
/ 05 августа 2009

Другим распространенным способом вместо использования URL-адреса, начинающегося с http://, является использование Унифицированного имени ресурса , формат которого определяется как RFC2141 .

Такими идентификаторами пространства имен являются, например, используется ODF (формат OpenDocument):

urn:oasis:names:tc:opendocument:xmlns:office:1.0
urn:oasis:names:tc:opendocument:xmlns:style:1.0
urn:oasis:names:tc:opendocument:xmlns:text:1.0
4 голосов
/ 05 августа 2009

Документ W3C, определяющий пространства имен XML говорит ( цитирование ):

Определение: пространство имен XML идентифицируется ссылкой URI [RFC3986]

И RFC 3986 говорит (цитируя):

1.1.1. Общий синтаксис

Каждый URI начинается с имени схемы, как определено в разделе 3.1, что
относится к спецификации для присвоение идентификаторов в этом
схема.

Так что я думаю, что использование http: // - это то, что ближе всего к стандарту - так как HTTP - самая распространенная схема, используемая в сети.

Кроме того, поскольку доменное имя может иметь только одного владельца, оно позволяет каждой компании использовать свой URL в своих пространствах имен.

2 голосов
/ 05 августа 2009

С этой статьи в W3Schools:

"URI пространства имен не используется синтаксическим анализатором для поиска информации. Цель состоит в том, чтобы дать пространству имен уникальное имя. Однако компании часто используют пространство имен в качестве указателя на веб-страницу, содержащую информацию о пространстве имен. Попробуйте перейти до http://www.w3.org/TR/html4/."

2 голосов
/ 05 августа 2009

Это надежный способ создания читаемого глобального уникального идентификатора. Это может быть или не быть действительным URL с дополнительной информацией.

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