들어오는 HTML을 치료하기 위해 내 응용 프로그램에 HTML Tidy를 내장했습니다. 그러나 Tidy는 엄청난 양의 버그를 가지고 있으며 소스 코드를 직접 수정하는 것이 최악의 악몽입니다. 깔끔한 소스 코드는 읽을 수없는 가증물입니다. 천 + 라인 함수, 불량 변수 네이밍, 스파게티 코드 등. 정말 끔찍합니다.HTML Tidy의 대안이 있습니까?
최악의 경우 공식 개발 seems to have ceased. 지난 12 개월 동안 세 개의 공식 CVS 저장소에 트랜잭션이 기록되었습니다. 하지만 그것은 죽었어 그보다 훨씬 더 묻혀있다 ...
그래서 내가 깔끔하게 할 수있는 일을 할 수있는 OSS C 또는 C++ 응용 프로그램/라이브러리를 찾고있다. (느낌이들 때) : 나쁜 HTML 마크 업 수정 그리고 그것을 유효한 XHTML로 변형시킨다 (이것은 내가 관심을 가지고있는 부분이다). 그리고 모든 종류의 나쁜 마크 업을 의미합니다.
거기에 뭔가가 있습니까?
EDIT : XML 처리 도구로 DOM 트리에서 조작하고 XHTML 스펙을 일반적으로 준수해야합니다. 내 응용 프로그램은 사용자로부터 HTML을 받아 들여야하며 (이는 모든 종류의 방식에서 유효하지 않은 경우가 많다) 유효한 XHTML을 출력해야합니다. 사용자가 손으로 편집하고 이후에 확인하지 않았기 때문에 일반적으로 브라우저에 표시되지 않는 HTML도 처리 할 수 있어야합니다.
Tidy의 오류 수정 파서에 대한 드롭 인 대체. 소스가 읽기 쉽고 버그를 직접 고칠 수 있거나 버그 수정을 적시에 제공하는 활동적인 개발자가있는 경우 버그는 신경 쓰지 않아도됩니다.
이것이 어떤 용도로 사용되는지 모르겠지만 TagSoup (http : //home.ccil.)라는 Java 라이브러리가 있습니다.org/~ cowan/XML/tagsoup /)에는 분명히 C++ 포트가 두 개 있습니다. 아마도 하나는 무료가 아니고 다른 하나는 유지되지 않을 수도 있습니다. SAX 이벤트 스트림을 생성하지만 XML 출력으로 변환하는 것은 올바른 파이프를 노즐에 연결하는 문제 일뿐입니다. 결코 그것을 사용하지 마십시오. –