XML-схема: пустое targetNamespace

Законно ли использование атрибута targetNamespace или пустого атрибута в схеме XML?

Если так, то что это значит, мы "добавляем" что-то в "пустое пространство имен" (которое всегда существует) или создаем "анонимное пространство имен", которое не связано с другими схемами?

Как будет выглядеть экземпляр XML-документа, должны ли элементы быть явно ограничены некоторым пространством имен?

2 ответа

Решение

См. XML Schema Part 0: Primer для очень краткого описания того, как работают необъявленные targetNamespaces.

Что касается пустого targetNamespace, это недопустимо. Из спецификации:

Так как пустая строка не является допустимым именем пространства имен, указание пустой строки для targetNamespace является непоследовательным и не то же самое, что вообще не указывать его. Подходящей формой документа схемы, соответствующей · схеме ·, компоненты которой не имеют {целевого пространства имен}, является та, для которой вообще не указан атрибут targetNamespace.

Определенно да. Пространства имен XML являются необязательными - вы можете оставить их, если хотите, и если у вас не возникнут какие-либо проблемы с неоднозначными элементами XML в вашем "мире XML".

Другие вопросы по тегам