WebML provides graphical, yet formal, specifications, embodied in a complete design process, which can be assisted by visual design tools. The main objectives of the WebML design process are:
(a) expressing the structure of a Web application with a high-level description, which can be used for querying, evolution, and maintenance;
(b) providing multiple views of the same content;
(c) separating the information content from its composition into pages, navigation, and presentation, which can be defined and evolved independently;
(d) storing the meta-information collected during the design process within a repository, which can be used during the lifetime of the application for dynamically generating Web pages;
(e) modelling users and communities explicitly in the repository, to permit the specification of personalization policies and one-to-one applications;
(f) enabling the specification of data manipulation operations for updating the site content or interacting with arbitrary external services.