Может ли tinyMCE редактор или Jsoup исправить ошибки HTML-разметки? - PullRequest
0 голосов
/ 17 января 2019

Я использую редактор tinymce в своем проекте. HTML-разметка, сгенерированная редактором, анализируется с помощью Jsoup (v.1.7.2) и используется для генерации pdf с использованием Apache FOP. Когда пользователь использует функции самого редактора, он генерирует действительную HTML-разметку, но если какой-то пользователь использует инструмент для непосредственного включения исходного кода из другого источника и, скажем, он вводит,

<ul>
  <ul>
     <ul>
        <li>
            one
        </li>
        <li>
            two
        </li>
        <li>
            three
        </li>
        <li>
            four
        </li>
    </ul>
</ul></ul>

эдиор не фиксирует разметку,

    <ul>
        <li>
            one
        </li>
        <li>
            two
        </li>
        <li>
            three
        </li>
        <li>
            four
        </li>
    </ul>

Согласно https://validator.w3.org/nu/#textarea первая разметка недействительна,

Error: Element ul not allowed as child of element ul in this context. 

Возможно ли исправление html-разметки в редакторе tinymce или с помощью анализатора Jsoup, если нет другого подхода?

1 Ответ

0 голосов
/ 06 февраля 2019

Вы можете попробовать использовать JTidy,

Tidy tidy = new Tidy();
tidy.setXHTML(true);
final InputStream inputStream = new FileInputStream("input.html");
tidy.parse(inputStream, System.out);
...