While I think this is worth exploring, at a certain point you end up doing so much that you could just write raw HTML, and then you'd have the advantage of being able to display it directly in the browser and using Javascript's powerful querying features.