Ответ 1
Чтобы понять проблему, пространство имен пытается решить, рассмотрите расширения файлов. 3-буквенные расширения файлов сделали очень плохую работу по описанию содержимого файлов. Они неоднозначны и не содержат информацию о версии. Пространства имен XML используют большее пространство строк, URI, для решения одной и той же проблемы и используют короткие префиксы, чтобы вы могли кратко комбинировать несколько видов XML в одном документе.
Какова цель пространства имен, если существует только одно пространство имен?
Существует много пространств имен, используемых для идентификации различных типов XML и разных версий такого рода.
SVG и MathML представляют собой два типа XML, каждый из которых имеет собственные пространства имен, которые могут быть встроены в HTML5, и они часто используют XLink, другое пространство имен XML. Многие другие схемы XML с соответствующими пространствами имен используются для передачи сообщений между клиентами и серверами и для хранения данных.
XHTML - это попытка выразить HTML как допустимый XML. Он имеет собственное пространство имен.
Итак, мы используем createElementNS (ns_string, 'svg'), а затем setAttributeNS (null,). Зачем? Почему бы не setAttributeNS ('my_ns',)???
Вероятно, вы должны последовательно использовать setAttributeNS
с URI пространства имен при использовании createElementNS
с URI пространства имен.
XML был определен в несколько этапов. Первая версия спецификации ничего не говорила об пространствах имен, но оставила достаточно синтаксиса, чтобы XML с пространствами имен мог быть указан поверх XML без пространств имен, используя префиксы и специальные атрибуты xmlns
. спецификация XML говорит:
"Пространства имен в XML-рекомендации [Имена XML] присваивают значение именам, содержащим символы двоеточия. Поэтому авторы не должны использовать двоеточие в именах XML, кроме целей пространства имен, но XML-процессоры должны принимать двоеточие в качестве символа имени."
пространства имен XML позволяют приложениям обработки XML знать, с чем они имеют дело, и позволяют смешивать несколько типов XML в одном документе.
Почему ns_string должен быть " http://www.w3.org/2000/svg"
Это включает год, когда версия SVG была стандартизирована, 2000, поэтому она содержит полезную информацию.
При использовании с xmlns:svg
он также позволяет браузеру знать, что префикс svg:
означает SVG, а не какой-либо другой диалект XML.