Approach to solving the problem
Use an XML based language to represent the user interface: an enhanced subset of XHTML to describe the UI
Use XSLT for doing the translation from XML to the language supported by the device
As long as the navigation between screens is common between WML and HTML, we can use the same source XML pages to describe the user interface
Cocoon, an XML publishing engine, looks like the perfect choice for this, so lets use it!