2010-09-20 3 views
0

Я использую парсер JDOM, который читает мой XML, и включает проверку с использованием схемы xsd.Как использовать схему xsd с пути с моим веб-приложением

обычно для того, чтобы установить путь XSD для синтаксического анализа синтаксиса в соответствии с документацией это-

 SAXBuilder builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser", true); 
     builder.setFeature("http://apache.org/xml/features/validation/schema", true); 
     builder.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", <schema_path>); 

Он может работать, установив schema_path быть либо URL, начиная с HTTP : или абсолютный путь (т.е. c: /myFolder/schema.xsd)
Мой вопрос - как я могу использовать xsd, который находится с моим веб-приложением, и путь к нему будет где-то ниже корня Web? возможно ли обеспечить относительный путь к JDOM-строителю?

Люди, которые способны ответить на этот вопрос может также помочь в решении другой проблемы я столкнулся во внимание с помощью XSD:
in this thread here

ответ

0

Вы не можете обеспечить относительный путь в качестве строкового аргумента.

Чтобы получить реальный путь к папке WEB-INF, попробуйте

getServletContext().getRealPath("/WEB-INF") 

Чтобы получить реальный путь к WEB-INF/my.xsd, используйте

getServletContext().getRealPath("/WEB-INF/my.xsd") 

getRealPath метод вернет абсолютный файл путь к файловой системе сервера.

Если вы добавите свою схему в качестве ресурсов банки, прочитайте this.

Смежные вопросы