Отключить проверку XML на основе внешнего DTD / XSD

Есть ли способ отключить проверку XML на основе внешнего DTD / XSD без изменения исходного кода (библиотек, которые создают DocumentBuilder)? Что-то вроде установки значений по умолчанию для всей JVM для функций DocumentBuilderFactory и того же для SAX?

Проверка хороша при редактировании файлов в IDE, но мне не нужно, чтобы мое веб-приложение не запускалось только из-за того, что somelib.net вышел из строя.

Я знаю, что могу указать локальные расположения DTD / XSD, но это неудобный обходной путь.

Какие есть варианты? Я могу придумать два:

  • Реализовать мой собственный DocumentBuilderFactory.
  • Перехватить конструкцию Xerces DocumentBuilderImpl и изменить функции Hashtable (добавить http://apache.org/xml/features/ nonvalidating / load-external-dtd ).
8
задан Yuri Geinish 4 May 2011 в 13:58
поделиться