4.4.2.2. Key features

The following list summarizes the core features of our XML format and the associated schema:

language independent

The underlying description of the constraint in the catalogue is provided as Prolog facts. These may be difficult/tedious to read in other programming languages. The use of XML as an exchange format allows use with most programming languages via provided XML parsers.

machine readable, precise format

The format is precisely defined, using XML schema data types throughout, so that validity of a model can be checked with standard XML tools.

one-to-one match with the data format used for the catalog

The internal structure of the schema follows the data format for the constraints in the rest of the catalogue. This minimises the need for relearning, once the basic format of the catalogue description has been understood.

detailed description of the allowed format for arguments

For each global constraint, the allowed format of the argument is specified in great detail. As the complexity of global constraints increases, this becomes more and more important to simplify the generation of valid problem files.

automated generation of schema from the catalogue data files

The schema is automatically generated from the catalogue data files by the simple generator program. This keeps the schema up-to-date with changes of the catalogue, and reduces the task of schema maintenance.

generation of examples for each constraint

Example XML files based on the examples in the catalogue can be generated automatically, so that a link to these examples can be added to each catalogue entry.

generation of diagrams describing schema for each constraint

At the same time, graph structures of the schema for each constraint can be automatically generated using the graphviz [GansnerNorth00] tool. This can help a human user to produce XML data for a particular constraint without reading the details of the schema.