Case Study: Statute Law Database

Documents of legal law dating back to the Magna Carta are soon to be made available online through object oriented database...

Documents of legal law dating back to the Magna Carta are soon to be made available online through object oriented database techniques

The Statutory Publications Office (SPO), part of the Lord Chancellors Department, is responsible for maintaining a database of primary and secondary legislation. Unfortunately, paper copies only appear as originally passed by Parliament, and do not contain subsequent amendments. To find the current state of the law, one has to manually apply the amendments. This requires a detailed understanding of the legislative process and is time consuming.

A unique feature of the Statute Law Database is that it holds the original version of an Act along with subsequent amendments. Thus, it is possible to view an Act at a specific date with all the amendments applied.

The problem

The system comprised of two components: a document management system used to maintain the law and a publishing system, allowing end users to view the text of the law. Two years ago it was realised that the character-based interface of the publishing system had severe limitations and an alternative was sought.

Initial study

Syntegra provided the SPO with the document management system several years earlier and had a detailed understanding of the SPO's business. The first stage of the project was to fully specify what was required from the new publishing system. The SPO commissioned Syntegra to carry out a study.

As well as producing a study report, Syntegra developed a demonstration model of how the end system would look. The demonstration model was constructed using a series of hand crafted HTML pages.

The demonstration model provided a simple way to capture the user interface definition. Discussion between the SPO and Syntegra allowed the user interface to be refined before any development work commenced. The SPO demonstrated the model to various groups of users and gained much useful feedback. The model was also used as a sales tool by the SPO to get full support and backing for the project.


The system was implemented on a Sun machine running a Netscape Commerce server and Verity's Topic database. The development work consisted of producing a Common Gateway Interface (CGI) program to handle the user interface and the construction of documents on the fly. A filter program was also developed for converting documents from their existing format to HTML, for loading into the Topic database.

The CGI program acts as "middleware" between the Netscape Commerce server and the Topic database. The software was designed using object-orientated design techniques and implemented using the C++ programming language.

An "off the shelf" C++ class library was used to reduce the programming effort and save re-inventing the wheel. The software developed consisted of a set of libraries for handling the CGI interface and the interface to the Topic database, and for constructing documents on the fly. Also application modules were developed for each frame or page within the system. The application modules make extensive use of the common libraries and are thus fairly simple and compact.

During construction of the system, stub modules were provided for the components not yet developed. Early on in the project the SPO were provided with dial-up access to the development system. This enabled the SPO to provide early feedback and monitor progress.

The filter program

The filter program, which loads documents from the current editorial database into the Topic database, has a set of Excel tables at its core. The Excel tables map SGML tags onto HTML tags and specify any special processing required.

The initial approach to exporting SGML data from the editorial system proved too complex and slow. It would have taken four weeks of continuous processing to populate the Topic database. The filter was therefore modified to open the editorial system files directly and process the binary format data. This enabled the entire database to be processed in less than four hours. This has simplified the operation of the update process as a full update can be done over night rather than performing incremental updates of documents marked for translation.


Producing a quick demonstration model using HTML and "smoke and mirrors" was an easy way to capture the user interface. An unexpected benefit of the demonstration model was to provide the SPO with a powerful marketing tool.

By using object orientated techniques, the software libraries could be re-used on other projects. During the project the CGI library was used to develop the user registration and management software for the Syntegra website. Several other projects are planned which may re-use parts of the software produced.

A large amount of effort was put into making the user interface easy to use and in optimising the performance of the system. This has paid off with users commenting on how impressed they are with the system.

The Statutory Publications Office plan to launch a public Internet service sometime during 2000 when the database will be fully up to date.

Compiled by Will Garside from

Read more on Business applications