Я встроил HTML, Опрятный в мое приложение для очистки входящего HTML. Но Опрятный имеет огромную сумму ошибок, и фиксация их непосредственно в источнике является моим худшим кошмаром. Опрятный исходный код является нечитабельным отвращением. Тысяча + функции строки, плохое именование переменной, запутанный код и т.д. Это действительно ужасно.
Хуже все же, официальная разработка, кажется, прекратилась. За прошлые 12 месяцев было три транзакции записи к официальному CVS repo. Но это было мертво и проложило под землей для намного дольше, чем это...
Таким образом, я ищу OSS C или приложение C++ / библиотека, которая может сделать то, что Опрятный может (когда похоже на него): зафиксируйте плохую разметку HTML и преобразуйте ее в допустимый XHTML (это - часть, я интересуюсь). И я имею в виду все виды плохой разметки.
Есть ли что-то как этот там?
Править: Мне нужен он и для манипуляций на дереве DOM подсобным инструментом XML и для общего соответствия спецификации XHTML. Мое приложение должно принять HTML от пользователей (который часто недопустим во всех видах путей), и произведите допустимый XHTML. Это должно быть в состоянии обработать даже HTML, который обычно не отображался бы в браузере, потому что пользователь отредактировал его вручную и не проверял впоследствии.
Общедоступная замена для синтаксического анализатора Tidy с коррекцией ошибок..., который не сосет. Я не возражаю против ошибок, если источник читаем, и я могу решить проблемы сам, или если существуют активные разработчики, которые обеспечивают bugfixes на своевременной основе.
Не могли бы вы рассказать нам, для чего вы планируете использовать этот инструмент? Например, вы хотите исправлять статические веб-страницы, или вам нужен какой-то шаг фильтрации перед другими манипуляциями, чтобы какой-то инструмент мог работать с глючными веб-страницами?
Лично я пишу свой собственный инструмент на основе Python's BeautifulSoup или lxml, когда мне это нужно - это не более десятка строк скрипта, и он делает многое из того, что мне нужно.