Прежде всего: пространства имен являются фундаментальной концепцией в XML. Если вы не знакомы с пространствами имен, пожалуйста, найдите время, чтобы изучить и понять их.Несмотря на то, что пространства имен являются URI, им не нужно (но можно) указывать на любую существующую веб-страницу.Это просто уникальные идентификаторы.
Поскольку ваша XML-схема имеет целевое пространство имен, корневой элемент экземпляра документа должен находиться в этом пространстве имен.При желании вы можете использовать другой префикс пространства имен в вашем экземпляре документа, просто убедитесь, что у вас также есть определение пространства имен, которое связывает ваш префикс с этим требуемым целевым URI пространства имен.Как прокомментировал @skaffman, размещенный вами XML на самом деле не является правильно сформированным, потому что он использует префикс пространства имен без преобразования префикса в пространство имен.Другой способ решить вашу проблему - удалить префикс и определить пространство имен по умолчанию в корневом элементе.Если ваш экземпляр документа не должен находиться в каком-либо пространстве имен, тогда ваша схема неверна и ее следует исправить, удалив атрибут targetNamespace
.
Кстати, в вашем документе только корневой элемент принадлежитПространство имен.Это не обычная практика, и я предполагаю, что в этом случае такой результат был вызван непреднамеренной функцией в вашем документе схемы.По умолчанию только те элементы, которые объявлены глобально в документе схемы, будут находиться в целевом пространстве имен.Это можно изменить, установив атрибут elementFormDefault="qualified"
в элементе <xs:schema>
.Этот атрибут гарантирует, что также элементы, которые локально объявлены в этой схеме, принадлежат целевому пространству имен.Значением по умолчанию для этого атрибута является false, которое применяется, если атрибут отсутствует.