Ответ 1
Добавьте еще один слэш после file://
в значение xsi:schemaLocation
. (У вас два, вам нужно три. Подумайте protocol://host/path
, где protocol
есть 'file'
и host
здесь пуст, что дает три слэша в строке.) Вы также можете устранить двойные слэши вдоль path
. Я считаю, что двойные косые черты помогают файловым системам, которые допускают пробелы в именах файлов и каталогов, но вы мудро избегаете этого осложнения в названии пути.
xsi:schemaLocation="http://www.w3schools.com file:///C:/environment/workspace/maven-ws/ProjextXmlSchema/email.xsd"
Не работает? Я предлагаю вам тщательно скопировать полную спецификацию файла для XSD в адресную строку Chrome или Firefox:
file:///C:/environment/workspace/maven-ws/ProjextXmlSchema/email.xsd
Если XSD не отображается в браузере, удалите все, кроме последнего компонента пути (email.xsd), и посмотрите, не отображается ли родительский каталог. Продолжайте таким образом, идя вверх по структуре каталогов, пока не обнаружите, где путь отклоняется от реальности вашей локальной файловой системы.
Если XSD отображается в браузере, укажите, какой процессор XML вы используете, и будьте готовы услышать, что он сломан, или что вы должны обойти некоторые ограничения. Я могу сказать вам, что вышеупомянутое исправление будет работать с моим валидатором на основе Xerces-J.