Web XML Discoverer

The goal of the Generic Web Xml Discoverer plug-in is to allow generic extractions of information from a Web.xml file, without the need for a metamodel dedicated to a conforming Document Type Definition (DTD) or XML Schema Description (XSD).

Quality disclaimer: this WebApp Discoverer was tested on many files, both well-formed and not well-formed.

Details

Considering Web.xml files conforming to a DTD or XSD, it would be more convenient to have dedicated metamodels to manipulate the information. However, the generic XML Discoverer is an alternative for miscellaneous XML files.

This plug-in aims at analyzing any Web.xml file by providing a model describing the information found. The supported versions are JEE 1.2, 1.3, 1.4, 5 and 6.

Moreover, it allows to serialize the xml file back from the model. Thus, some M2M transformation might be used jointly to upgrade some xml files.

User manual

Discovering and browsing from contextual menu

The plug-in provides the user a contextual menu to easily create models.

To discover a Web XML configuration file, right-click on it in the Eclipse Package Explorer view, and select Discovery > Discoverers > Discover JEE web.xml:

Menu to discover a Web XML file

A discovery parameters dialog opens to let you specify the parameters of the discovery:

Web XML discoverer parameters dialog

Once launched, a progress dialog will appear as soon as the operation begins. Depending on the size of your application, the reverse engineering process might take some time to complete:

Progress dialog during model creation

At the end of the process, the newly created model file is added to the root of your project if you set SERIALIZE_TARGET to true:

Web XML model in the Package Explorer

And the model is opened in the default model browser if you selected Open model in editor after discovery:

Web XML model in the MoDisco model browser

The Web XML XMI files (with a filename ending in ".xml_webapp.xmi" by convention) can be opened in any model browser:

Opening a Web XML model