Document Object Model (DOM)

This would involve writing a DOM binding for Emacs Lisp.

The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page.

This binding would present the standard objects and methods to a programmer, doing any necessary conversion from the DOM to the underlying parse representation.

Packages like the Gnus web-based backends could use URL + PARSER + DOM to do all of their work instead of requiring all of Emacs/W3, which they generally care very little about. This could also be used by Emacspeak to do better table reading, etc. It could even do something really ambitious and not render the document visually at all. SGML/HTML/XML to Postscript using the DOM would be tractable as well.