School of Environmental and Information Science,
Charles Sturt University, PO Box 789, Albury, NSW 2640, Australia
Costly issues such as setup, document tracking and production have defeated many would-be Web publishers. We argue that specialized languages offer the most flexible way to simplify the installation and automation of Web publications. High level languages also provide a portable method of specifying publications. Here we describe several models, prototypes and applications of publishing languages that we have developed. We address the problem from two directions. Our bottom-up approach builds publishing operations out of individual tasks. Our top-down approach specifies an entire publication by breaking its organisation down into logical parts.
Our approach is to gain greater functionality out of existing routines by incorporating them as function calls in the high-level procedural language SLEEP (Scripting Language for Electronic Editing and Publishing). Our current implementation combines an interpreter with a Perl subroutine library. Interpreting form input, for example, is a single function call in the language, and standard documents can be delivered by passing parameter values to appropriate templates. We have made extensive use of specialized subroutines for reading and writing files in SGML or XML formats.
Our design is based on a publishing model , which traces the path of an item from the author to delivery online (Fig. 1).
|Fig. 1. Stages in the publication of online information. The model applies to most kinds of publications and materials. Most steps can be automated.|
Although the model applies to most types of publications, the details can vary enormously. The need for flexibility to cope with such enormous variety led us to develop the declarative, object-oriented language GPSL (General Publishing Specification Language). The GPSL definition describes the overall organization and operation of a publication. Essentially, it turns the above model into a formal definition of an entire publication. GPSL treats publication elements as objects. The attributes of such objects include metadata, with the methods being defined as SLEEP scripts.
Handling and using metadata (eg. bibliographies, URL databases) is an important function of the top-down language. The Dublin Core   provides an important standard for specifying metadata about on-line publications.
To maintain consistency with existing standards, we propose to develop the top-down approach as an extension of an existing standard such as DSSSL. (ISO 10179, the Document Style and Semantics Specification Language). DSSSL takes the structure and content model of an SGML document and underpins three subsequent applications, formatting, querying, and transformation.
The approach proposed here has the advantages of generality and efficiency. Once a model has been set up for a particular type of publication, then other instances of that class of publication can be installed very quickly. For instance we have used SLEEP and GPSL to implement online publications such as the Education Virtual Library, and Bibliography of Australian Fire Research. Although superficially different, these publications have virtually identical organization and structure. The main processing in each case includes: a submission form for entries, an editorial page, and a search form for users.
The ultimate aim of our work on publishing languages is to simplify the task of setting up and managing Web publications. In the foreseeable future, it should be possible for non-programmers to install standard kinds of publications simply by completing an installation form.