One of the most important issue in source code analysis and software re-engineering is the representation of ode text at an abstraction level and form suitable for algorithmic processing. Moreover, source code representation schemes must be compact, accessible by well defined application programming interfaces (APIs) and above all portable to different operating platforms and various CASE tools. This paper proposes a program representation technique that is based on language domain modes and the XML markup language. In this context, source code is represented as XML DOM trees that offer a higher level of openess and portability than custom-made tool specific Syntax Trees. The DOM trees can be exchanged between tools in textual or binary form. Similarly, the domain model allows for language entities to be associated with analysis services offered by various CASE tools, leading to an Integrated Software Maintenance Environment.