powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
10 сообщений из 10, страница 1 из 1
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33264399
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, приветствую всех. Возник вопрос, может, дурацкий, и всё же:
Можно ли при разборе стандартным SAX-парсером указать насильно DTD, по которой будет происходить валидация? При условии, что в самом XML-документе отсутствует DOCTYPE.
Под стандартным парсером имеется ввиду:
Код: plaintext
1.
2.
3.
SAXParserFactory factory = SAXParserFactory.newInstance();
parser = factory.newSAXParser();
...
И ещё есть вопрос, который с этим перекликается. Есть jar, а в нём лежит DTD. Возможно ли указать её в качестве DOCTYPE?
Т.е. написать что-то типа <!DOCTYPE doc_type SYSTEM "а_тут_DTD_в_jar'е">?
Заранее спасибо.
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33264426
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я XSD указывал через setFeature - кажется и dtd можно так
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33264495
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Второй вариант XML-Catalog
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33264506
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri - спасибо, смотрим
2 Naug - а пример можно (хоть для XSD)?
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33264523
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор...а пример можно (хоть для XSD)?
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JAXPSAX9.html#wp90294

только для dtd это не катит.
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33264530
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЯ XSD указывал через setFeature - кажется и dtd можно так
Кажется мне непрокатит, по умолчанию валидация при парсинге отключена. Через setFeature можно её включить, но DTD-определение должно присутствовать в файле.
А пример простой
Код: plaintext
1.
reader.setFeature("http://xml.org/sax/features/validation",true);
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33264539
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/210367
Я через dom4j делал, так что не совсем sax, но wesseb там тынц по sax-у и дом-у дал. Я правда к тому времени уже свой вариант доделал и внимательно не читал.

Ещё вот так работает
Код: plaintext
         DOMParser parser =  new  DOMParser();\n            parser.setFeature("http://xml.org/sax/features/validation", true);\n            parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation","schema.xsd");\n            parser.parse("file1.xml");
Но там ахтунг - это фича парсера (ксеркса)
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33264562
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо, буду смотреть. Завтра, если получится / неполучится, скажу о результатах
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33265609
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, говорят , так можно:
Код: plaintext
1.
InputSource inputSource.setSystemId("путь_к_дтд");
Но пока ещё не попробовал.
--С уважением, ponomarevvb--
...
Рейтинг: 0 / 0
Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
    #33265733
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторInputSource inputSource.setSystemId("путь_к_дтд");
Если вы в качестве указателя ресурса используете InputSource(new FileInputStream ...), то без приведенной вами строки парсер ненайдет DTD, если путь к нему задан неявно (DTD/someDTD.dtd). А если в качестве указателя ресурса используется InputSource(xmlURI) необходимость в этой строке отпадает.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Валидация XML SAX-парсером (насильное указание DTD). DTD в jar'е.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]