Укажите TagSoup Parser для использования версии HTML5

Я хочу, чтобы в настройках TagSoup использовались стандарты HTML5.
Я использую Tagoup Parser, который придерживается HTML4, который не позволяет <div> внутри <a> тег. следовательно, синтаксический анализ неправильного HTML. Тем не менее, HTML5 позволяет использовать то же самое. Как сделать tagoup (org.ccil.cowan.tagsoup) для использования стандартов HTML5. например,

<a>
  <div></div>
</a>

становится,

<a></a>
<div></div>

1 ответ

У меня была такая же проблема со следующей структурой:

<a>
  <li></li>
  <p></p>
</a>

стал,

<a>
  <li></li>
</a>
<p></p>

Я решил это с помощью пользовательской HTMLSchema:

private class CustomHTMLSchema extends HTMLSchema
{
    public CustomHTMLSchema()
    {
        super();
        ElementType elA = getElementType("a");
        elA.setModel(elA.model() | M_BLOCK);
    }
}

...

saxParser = SAXParserImpl.newInstance(null);
saxParser.setProperty(Parser.schemaProperty, new CustomHTMLSchema());
Другие вопросы по тегам