Проверить совместимость XML-документа с DTD, используя JDOM?

Я работаю с Java, и я хочу проверить, является ли файл XML допустимым для DTD.

Предполагая, что у нас есть файл DTD, я хочу проверить, является ли определенный файл XML действительным в отношении тех же определений, предложенных в файле DTD.

Есть ли способ сделать это с помощью JDOM?

1 ответ

Да, вы можете в JDOM. Это проще всего в JDOM 2.x (в отличие от 1.x).

Смотрите конструктор SAXBuilder, который принимает XMLReaderJDOMFactory. Пример использования:

    SAXBuilder sb = new SAXBuilder(XMLReaders.DTDVALIDATING);
    Document doc = sb.build("http://www.w3schools.com/dtd/note_ex_dtd.xml");
    XMLOutputter xout = new XMLOutputter(Format.getPrettyFormat());
    xout.output(doc, System.out);

Обратите внимание, что приведенный выше код проверяет XML на соответствие DTD, указанному в объявлении DocType ("note.dtd"), которое находится в месте, относящемся к документу note-ex_dtd.xml.

Другие вопросы по тегам