Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > XML валидация по XML Schema |
Автор: poltora 18.1.2008, 17:57 | ||||||
требуется проверять на валидность xml документ, однако получаю ошибки. привожу код на java, xml-документ и xml-схему ошибки: Parsing problem: schema_reference.4: Failed to read schema document 'upload.xsd', because 1) could not find the document; 2)the document could not be read; 3) the root element of the document is not <xsd:schema>. Parsing error: cvc-elt.1: Cannot find the declaration of element 'загрузка'. xml схема:
xml:
код:
|
Автор: Sardar 19.1.2008, 05:33 |
До самой валидации не дошли, документ не может отыскать upload.xsd. Обычно само приложение ставит условие (схему) на документ, поэтому схема не включается в XML, а поднимается прогой (http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/SchemaFactory.html). Если это просто общий валидатор, то по моему тебе потребуется собственный http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/EntityResolver.html что бы найти хитро спрятанный файл. Указав абсолютный URL можно этого избежать. Также можно посмотреть куда указывает InputSource.getSystemId() твоего XML документа, по идее относительно него должен парсер искать схему. |
Автор: LSD 20.1.2008, 20:23 |
В дополнение к ранее сказанному: DocumentBuilderFactory.setValidating() надо установить в false. Т.к. этот параметр предназначен для DTD, а не XML Schema. А вообще, http://forum.vingrad.ru/faq/topic-158003.html есть пример принудительного включения валидации по схеме. |