Note that chat clients should also take advantage of the fairly recently added ability to get chatter as already processed HTML (including enforcement of proper nesting of tags, etc.). I'll let demerphq expand on this point, if he'd be so kind. (This means many clients won't need the above feature for translating links, but it can still be useful, especially for some clients).

Instead of expanding on this point I put together a proof-of-concept implementation of a properly parsed CB mirror: CB60.

The point is that the 'modern' xmlstyle which is available from both CB XML tickers is much easier to write clients for than the older versions, and the end product will respect the site markup conventions, even if we change them.