У меня встроенный HTML Tidy в моем приложении для очистки входящего HTML. Но у Tidy огромное количество ошибок, и исправление их непосредственно в источнике - мой худший кошмар. Типичный исходный код - нечитаемая мерзость. Thousand + линейные функции, плохое именование имен, код спагетти и т. Д. Это действительно ужасно.Есть ли альтернатива HTML Tidy?
Хуже еще, официальное развитие seems to have ceased. За последние 12 месяцев было три записи транзакций на официальное репозиторию CVS. Но он был мертв и похоронен гораздо дольше, чем это ...
Итак, я ищу приложение или библиотеку OSS C или C++, которая может делать то, что может сделать Tidy (когда это похоже): исправить плохую разметку HTML и превратить его в действительный XHTML (это часть, которая мне интересна). И я имею в виду всевозможные плохие разметки.
Есть ли что-то в этом роде?
EDIT: Мне нужно это для манипуляций на дереве DOM с помощью инструмента обработки XML и для общего соответствия спецификации XHTML. Мое приложение должно принимать HTML-код от пользователей (что часто бывает недействительным всеми способами) и выводить действительный XHTML. Он должен иметь возможность обрабатывать даже HTML, который обычно не отображается в браузере, потому что пользователь отредактировал его вручную и не проверял впоследствии.
Замена замены для парсинга, исправляющего ошибки Tidy ..., который не сосать. Я не возражаю против ошибок, если источник доступен для чтения, и я могу самостоятельно решать проблемы, или если есть активные разработчики, которые своевременно предоставляют исправления.
Не знаю, подходит ли это для вас, но есть Java-библиотека под названием TagSoup (http: //home.ccil.org/~ cowan/XML/tagsoup /), который, по-видимому, имеет пару портов C++, возможно, за исключением того, что он не является бесплатным, и я не уверен, что другие поддерживаются. Он создает поток событий SAX, но превращение этого в XML-вывод просто должно быть связано с присоединением правой трубы к соплу. Тем не менее, я никогда не использовал его сам. –