предполагается, что префикс xsi: известен в XML?

Работая над синтаксическим анализатором XML, я вижу много XML-файлов, использующих атрибут xsi:schemaLocation без объявления пространства имен xsi.

Это ошибка или есть спецификация, в которой говорится, что она должна быть известна перед синтаксическим анализом? Проверка спецификации пространств имен для «xsi» не дает результатов, но, возможно, ответ находится в другом документе.


person nraynaud    schedule 02.03.2012    source источник


Ответы (1)


Никакие пространства имен [кроме пространства имен XML] не могут считаться известными.

Если документ содержит префикс xsi, должно быть также связанное с ним пространство имен (обычно это xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance").

Если пространство имен не объявлено, файл XML недействителен.

person Oded    schedule 02.03.2012
comment
Спасибо, я знаю, что доказать, что чего-то не существует, сложно, но у вас есть какой-нибудь справочный документ, ссылающийся на это? У меня может быть жаркий спор с каким-нибудь редактором программного обеспечения, и мне может понадобиться что-то показать. - person nraynaud; 02.03.2012
comment
@nraynaud — Доказательство отсутствия — спецификации не упоминайте это как известное пространство имен. - person Oded; 02.03.2012
comment
Правильный ответ, за исключением того, что всегда существует одно предопределенное пространство имен, известное по префиксу xml. Отредактировал ответ, чтобы добавить этого всадника. - person Michael Kay; 02.03.2012