Верстка, CSS, HTML, SVG

Вот про эту деталь в XML никто не ответил. А мне всё же хочется узнать (...)

XSD. Зачем для пространств имен нужно писать именно http: // и так далее? Если это вовсе не URL, а просто текстовая метка. Эта странность при первом столкновении с ней дико сбивает с толку...
Пространства имен глобальны, необходимо указывать протокол для их интерпретации
Константин Лукин
Константин Лукин
26 960
Лучший ответ
Пространства имен XML обычно начинаются с http:// по нескольким причинам:

1. Уникальность: Пространства имен XML не имеют никакого значения в своем значении, кроме того, чтобы быть уникальными, чтобы избежать конфликта имен. URL-адреса служат той же цели - быть уникальными. Использование URL обеспечивает уникальность, поскольку доменное имя может быть зарегистрировано только одним владельцем.

2. Стандарты: Документ W3C, определяющий пространства имен XML, говорит, что пространство имен XML идентифицируется ссылкой URI. Каждый URI начинается с имени схемы, которое относится к спецификации для назначения идентификаторов в рамках этой схемы. Использование http:// ближе всего к стандарту, поскольку HTTP - это наиболее распространенная схема, используемая в сети.

3. Соглашение: С течением времени стало хорошей практикой использовать URL, потому что если все будут делать это, то не должно произойти конфликта имен. Кроме того, стало условием документировать пространство имен по данному URL.
Артем Винничук
Артем Винничук
25 860
Для пространств имен (namespace) в URL, такие как XML или XHTML, префикс http:// используется как идентификатор пространства имен (namespace identifier). Этот префикс указывает на конкретное пространство имен и связывает элементы и атрибуты в документе с определенным пространством имен.

Префикс http:// (или другой префикс, например, https://) используется потому, что он обычно ассоциируется с URL-адресами и служит уникальным идентификатором для пространства имен. Это помогает различать разные пространства имен в документе и обеспечивает ясность в том, какие элементы и атрибуты принадлежат определенному пространству имен.

Например, в XML-документе вы можете увидеть следующее:

xml
Copy code
<rss xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Пример RSS-канала</title>
<dc:creator>John Doe</dc:creator>
</channel>
</rss>
Здесь xmlns:dc указывает, что элементы и атрибуты, начинающиеся с dc:, принадлежат пространству имен, идентифицированному как "http://purl.org/dc/elements/1.1/". Это позволяет использовать одни и те же имена элементов в разных пространствах имен без конфликтов.

Таким образом, префикс http:// (или другой URL) в данном контексте служит идентификатором пространства имен, а не ссылкой на ресурс в сети Интернет
Damir Muhamedov
Damir Muhamedov
412
"дико сбивает" - какой ты сбивчивый.
Спокойно работаю с XML уже 10 лет и такие мелочи не волнуют, они несущественны.