3

TagSoup の設定で HTML5 規格を使用するようにしたい。タグ内を
許可しない HTML4 に準拠している tagsoup パーサーを使用しています。したがって、間違った HTML を解析します。ただし、HTML5 では同じものを使用できます。タグスープ (org.ccil.cowan.tagsoup) で HTML5 標準を使用するにはどうすればよいですか。例えば、<div><a>

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

となり、

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

1 に答える 1

2

次の構造でも同じ問題がありました。

<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());
于 2015-11-08T10:37:06.083 に答える