In other instances they are required to use a markup language originally meant for representing documents or structured data such as HTML and XML. These are fine technologies for the applications in which they were originally intended, but a weak substitute for declaring and representing user interfaces.