Значение по умолчанию xmlns? - PullRequest
2 голосов
/ 07 февраля 2011

Предположим, у нас есть следующий XML-документ

<?xml version="1.0" encoding="utf-8"?>
<Root>
  <Child />
</Root>

Как видите, Root не имеет спецификации пространства имен по умолчанию. Пространство имен по умолчанию указывается с атрибутом xmlns .

Вопрос в том, какое пространство имен по умолчанию для такого XML-документа?

Если вы публикуете ответ, не могли бы вы также указать ссылку, откуда была взята информация, например, W3C.

Ответы [ 2 ]

2 голосов
/ 07 февраля 2011

Как отмечает Одед, схемы по умолчанию не существует.

Ваши элементы Root и Child не имеют имени пространства имен.

Из пространств имен в XML (1.0) Раздел 6.2 «По умолчанию для пространства имен»:

Если в области есть объявление пространства имен по умолчанию, то расширенное имя, соответствующее имени элемента без префикса, имеет URI пространства имен по умолчанию в качестве имени пространства имен. Если нет пространства имен по умолчанию объявление в области видимости, пространство имен имя не имеет значения.

2 голосов
/ 07 февраля 2011

В XML нет схемы или пространства имен по умолчанию.

Если вы не объявляете пространство имен в своем XML-документе, его нет.

Из spec :

Для имени N, которое отсутствует в пространстве имен, имя пространства имен не имеет значения.

...