Markup
An Extensible Rendering Engine for XML and HTML by Ciancarini et al, Bologna University
Describes how Java can be used to provide browser support for new HTML / XML tags
<APPLET archive="displets.zip">
<PARAM NAME="def" VALUE = "
<TAG name='reverse' src='reverse.class'>
</TAG> "> ...
<P>Text is displayed as <REVERSE>white text on black</REVERSE>
See http://www.cs.unibo.it/~fabio/displet/
Example of an intermediary