The HTMLTidy library
// There actually is a library for tidying HTML into XHTML called HTMLTidy
// See http://www.html-tidy.org/
// HTMLTidy is actually a great tool, I highly recommend it.
// This isn't the API for Tidy, but let's assume it's a C library returning
// errno domained error codes. out must be freed with free() after use.
extern "C" int tidy_html(char **out, size_t *outlen, const char *in, size_t inlen);
A C API may not initially appear to be a T|E
based API, but if failure
returns some domained error code and causes no other effects, and success
returns some value, then it is effectively a “split” T|E
API. The above
is an example of exactly that form of “split” T|E
API.