Авторы схемы решили использовать <xs:sequence>
вместо <xs:all>
.Последовательности XSD зависят от порядка.
Имя атрибута с ошибкой введено неверно.Вы должны подтвердить и потерпеть неудачу изящно.Компьютеры не справляются с неопределенностью.
Надеюсь, это поможет ...
ОБНОВЛЕНИЕ:
Извините, позвольте мне уточнить это.Задача была создана авторами схемы И авторами выходов GPX (различных пакетов программ и устройств).
В принципе, если человек может посмотреть на часть данных и понять, что это значит, ответственность за реализацию гибкой проверки лежит на программном обеспечении, позволяющем использовать программу.
Например,Предположим, у вас есть поле ввода, в которое вы должны ввести сумму в долларах, и пользователь вводит «$ .05», программное обеспечение должно быть достаточно умным, чтобы распознавать его как 5 центов, и достаточно умным, чтобы понимать, что впереди есть местои это бесполезно.
То же самое относится к файлам с устройства.Да, проблема была создана ими.Да, смешно рассматривать выход с устройства как пользовательский ввод, когда для этого формата есть строгое четкое определение.Но это проблема, с которой вы сейчас столкнулись.И в конце концов, никого не волнует, какие технические проблемы вам пришлось преодолеть, чтобы заставить его работать.Все, что их волнует, это «работает ли это» и «насколько это полезно для меня».
Итак, если вы видите, что поля не в порядке, но в противном случае все необходимые данные присутствуют, переставьтеполя, чтобы они прошли проверку.Сделайте ваш импорт гибким.Заполните пробелы в данных предупреждающим сообщением, если пропуски отсутствуют.Но сделайте так, чтобы это работало.
Помимо попытки массировать данные перед проверкой их на соответствие XSD, вы можете сделать еще одну вещь, если обнаружите, что ошибки проверки постоянно вызываются простым упорядочением полей (что является распространенным заблуждением в XSD между xs: sequence и xs: all), это изменить ваш XSD.Переключите это от последовательности ко всем.Вы можете сначала попробовать официальный XSD.Если это пройдет, то вам не придется проверять более слабые версии.
Надеюсь, это поможет ...