4.5.2.4. Generating schema from the catalogue

There are two programs which can be used to build the schema description from the data describing the catalogue. They should be run whenever a description of a constraint in the catalogue has been changed.

download schema.xsd: the XML schema description file of the catalogue (about 1.3 MB).

schema.ecl

The ECLiPSe [AptWallace07] program schema.ecl can be used to re-generate the schema when the catalogue description has been modified. The query schema. produces the schema from descriptions in the src directory, the query top. produces example files for each constraint in the xml directory.

The predicate handle_table defines which of the restrictions in the constraint description are included as part of the schema information. Many of the more complex rules cannot be easily checked by the schema, an entry in handle_table says to ignore the restriction for the moment.

schema_dot.ecl

The program schema_dot.ecl can be used to generate graphviz dot files from the schema file schema.xsd. The generated files are placed in the images directory, and a dot command to produce .png and .eps output is run in the same directory. The pixel based png files are intended for use in web pages, the scalable eps files can be used in LaTeX files producing postscript or pdf documents.

There are some predicates in schema_dot.ecl which control the format of the generated graph. They are:

  • The predicate range_style controls the display of range information, and optional/required choices for attributes.

  • The predicate type_shape defines the shape and colour of the different elements in the schema for a constraint.

  • The predicate match_builtin provides an abbreviated element name for some of the predefined element types in the schema. This is required as the graphs should not become too big to fit onto a single A4 page in the output.