An Architecture for Scholarly Publishing on the World Wide Web

Stuart Weibel, Eric Miller, Jean Godby, Ralph LeVan

Office of Research, OCLC Online Computer Library Center, Inc., Dublin, Ohio

Questions or comments: Stuart Weibel,


The explosive growth of the World Wide Web (WWW) is due in part to the ease with which information can be made available to Web users. The simplicity of HTML and HTTP servers lowers the barriers to network publishing.

The high-quality rendering of HTML in WWW browsers such as Mosaic raises the aesthetic appeal of information and makes it more useful by virtue of enhanced readability. But the simplicity that makes WWW technology so appealing also makes it difficult to represent the complex markup and typography necessary for scholarly publishing. The need for extensive character sets and more effective interface facilities for inter- and intra-document navigation stretch the limits of the current standards that underlie the Web and its clients. In addition, the stateless nature of WWW client-server interactions presents certain challenges to the effective implementation of search and retrieval functionality so important to effective document retrieval systems.

OCLC distributes several scholarly journals under its Electronic Journals Online program, acting, in effect, as an `electronic printer' for scholarly publishers. As part of this effort, OCLC is prototyping a WWW-accessible version of these journals.

This presentation will describe the problems encountered, detail some of the short-term solutions, and highlight changes to existing standards that will enhance the use of the Web for scholarly electronic publishing.

Scholarly Publishing on the Web

Publishers are increasingly turning to Standard Generalized Markup Language (SGML) [2] as the lingua franca for electronic representation of their products. SGML allows the representation of the logical structure of a document and is sufficiently flexible to support arbitrary rendering models, either paper-based or electronic.

HTML (HyperText Markup Language), a simple application of SGML-like markup, is the standard method for expressing document structure in the WWW [5] . The simplicity of HTML has contributed to its popularity and made Web publishing more accessible, but that same simplicity makes it difficult to express the full richness of conventionally published documents.

There are three major problems that loom large for the publication of technical scholarly information on the Web:

The first two are difficult, but are currently the subject of active development, and standardization of the resulting solutions is part of the agenda of the IETF working group on HTML. The acceptable work-around for these problems is conversion of equations and tables to graphics.

The character-set problem, however, will require a consensus among the networking community and implementation on all client platforms; no straightforward solution can be expected in the near term. The work-around here is to generate bitmaps for unsupported characters and insert them into the running text. This results in a mixture of small bitmaps interspersed with normal characters (disadvantageous, as discussed below), but allows correct representation of complex text which may include unusual characters and mathematical equations.

In spite of these problems, there is great incentive to offer scholarly electronic publishing via the Web. Mosaic has set a new standard by providing platform-independent access to networked information by way of an aesthetically pleasing, intuitive interface. In recognition of this, the American Institute of Physics and OCLC will introduce WWW access to the American Physical Letters Online journal in January of 1995. To accomplish this goal, it has been necessary to develop a translation process from a rich SGML markup to the relatively less-rich HTML representation without compromising accuracy.

The architecture described here involves two areas of development:

The Translation Process

A translation facility has been developed in the OCLC Office of Research to automatically convert SGML documents to an HTML representation. Several functions are integrated under the control of a Tcl (Tool Command Language) shell [3]. Tcl is a scripting language providing generic, embeddable programming facilities that can easily be incorporated into applications. Each application can extend the core Tcl features with additional commands specific to that application. The translator described here integrates the powerful scripting facilities of Tcl with the the tools developed in OCLC's SGML Document Grammar Builder Project [4]; namely, grammar extraction, decomposition, analysis, and a generic translation language.

Context-Sensitive Mapping

Mapping of SGML to HTML requires a context-sensitive approach: the same tag can mean different things, depending on the context in which it is found. For example, the <title> tag may be applied both to the title of an article and to a series of titles that occur in reference citations. Thus, it is not sufficient to map all instances of <title> to, for example, the HTML major heading tag <H1>; to do so would give the same display emphasis to the titles of documents referenced in the bibliography of the articles as is given to the title of the article itself.

Source Documents: 12083 SGML

The source documents in this effort are provided by the American Institute of Physics in ``12083 SGML''. The 12083 proposed standard is a recommended DTD for markup of scholarly information, and includes specifications for marking up mathematical notation [1].

The translator reads each 12083 SGML document and decomposes it into a grammar tree. Each SGML entity in the document is translated into either its HTML-specific counterpart or a URL pointing to a bitmap of the appropriate TrueType(tm) character. Each formula (ie., equations or mathematical notation) is extracted and translated from 12083 SGML to \TeX\ and subsequently rendered to generate a corresponding bitmap. A URL for the bitmap is substituted in the appropriate location in the text, causing the bitmap object to be loaded by the Web browser when the document is loaded. The incorpoation of inline images, as represented by both inline and display equations, in the running text of a Web browser, can be seen in Figure [1].

Figures and Tables

Figures and tables are handled similarly. However, in these cases, the URL points to a subsampled thumbnail GIF image, which is, in turn, hyperlinked to a corresponding full-size GIF image. The thumbnail image is reduced to a height of 125 pixels while maintaining the aspect ratio, thereby reducing initial loading burdens and providing a better-proportioned page display (full-resolution figures in electronic documents are typically of awkward proportion when included inline in running text). The full-sized image is displayed by selecting the thumbnail image, thereby invoking the appropriate external viewer.


Forward and backward hyperlinks are established utilizing the tag, attribute, and value information corresponding to each of the appropriate forward- and backward-referencing SGML tags. Utilizing these tags and their appropriate reference attributes and values, corresponding HTML anchors and hotlinks can be introduced utilizing the HTML ANCHOR tag. These ANCHORs provide a mechanism for traversing the individual document and allow the user to jump forward and backward from references, figures, and tables.

Rendering of Glyphs, Figures, and Tables

The image-rendering process is based on an existing software product developed at OCLC as the display client for the Electronic Journals Online (EJO) electronic publishing system. This software, named Guidon (tm), is provided with each subscription to any of the EJO journals. It is a Microsoft Windows (tm) application that is optimized to display EJO documents. Since OCLC designs TrueType (tm) fonts for any characters that publishers request (as part of our electronic publication service) we have control of all the characters necessary to display EJO documents correctly. Our rendering and display engine has been adapted to function as a bitmap server, rendering a single character or a complex equation as required. The resulting glyphs are stored as transparent GIF images, linked to the text by URLs.

Retaining SGML structure

Once the entire translation is complete, the newly created HTML file and all associate image files are written into the HTML store. The original SGML versions of the documents are used to build an inverted-file database for use by OCLC's dedicated MS-Windows client, Guidon. This same database is used to search the collection (as described below) and generate pointers to the HTML version of the document. It is important to note that the original SGML markup is retained in this database, and this markup supports rich fielded searching capabilities, even though much of this document structure is lost in the translation to HTML for screen rendering. Thus, although the delivery of scholarly journals into the Web involves some display formatting compromises, it need not result in loss of structured document searching capabilities.

The database system employed in this project is OCLC's Newton database, a database and search engine designed for tree-structured data of arbitrary complexity. It is currently in use for databases as large as 30,000,000 records, and is accessible via Z39.50 requests.


The translation architecture described here is not without problems, and should be viewed as an interim solution until WWW protocols evolve sufficiently to support the needs of scholarly publishing. Some of the specific pitfalls include:

A Stateful Union

The statelessness of the Web is one of the virtues of the model, an expression of the simplicity that has contributed to its popularity. Servers maintain no context information and tear down a connection immediately after providing a response. This virtue becomes a vice for an information service that benefits from (or requires) a session-based interaction, as is generally the case with reference databases and document retrieval systems.

Statefulness is essential to retain session context for the user (reusable result-sets, for example) and, in the case of fee-based services, eliminates the need to re-authenticate a user for each transaction. One solution lies in a hybrid HTTP-Z39.50 server, a stateless gateway to the session-based Z39.50 world.

Z39.50 and HTTP

The Z39.50 standard provides the basis for assuring interoperability among disparate document and database query systems, allowing vendors to implement search and retrieval systems that understand queries expressed in the standard manner, and supporting a common understanding of a retrieval session.

Normally, an HTTP server terminates after responding to a client request. Because our server is acting as a Z39.50 client for the HTTP client, it cannot terminate. If it did, the Z39.50 session would be terminated. The connection to the client has been torn down, as per the HTTP protocol; the server must have a way of recognizing returning clients. In our architecture, this is accomplished by putting a session ID in all URL's produced by the gatewayand returned by the client.

Session Reliability

An initial implementation of our architecture resulted in a multi-user server that maintained Z39.50 sessions for each Web browser. Although functional, any server failure resulted in the loss of all ``open'' sessions, clearly an undesirable result. The alternative is to provide some isolation of code- and data- space among the users by initiating individual gateway sessions for users.

The central multi-user HTTP server still exists, but it now acts simply as a message router between the Web browser and a Z39.50 gateway (Figure [2]). The message router needs sufficient functionality to determine if the database request is an initial request (which initializes a Z39.50 gateway) or a subsequent request (the request is routed to an existing Z39.50 session). This functional simplicity results in a more dependable piece of code, important for sustaining production-quality service. A separate Z39.50 gateway is started for each session, and is maintained until the session is terminated (sessions are ``aged'' and terminated when a specified interval without further requests has passed).

Interactive Transactions in a Stateless Environment

Database requests are initiated by the HTTP client (mediated via HTML forms). These forms are provided by the HTTP message router, which has the ability to satisfy simple HTTP GET requests. Upon receiving the form, the message router either initiates a Z39.50 gateway session, or routes the query through an existing Z39.50 session. The Z39.50 server then executes the search of the database, identifies results sets necessary to satisfy the request, and creates a dynamically generated HTML document which it sends to the Web client via the message router.

The HTML document returned in response to a search request will either indicate that no documents could be found to satisfy the request, or contain a short list of titles (and associated URLs that can be used to retrieve the complete documents). If a large number of documents satisfy the request, then the HTML result-set document will also include URL's that can be returned for another list of titles. This is done to avoid delivering unmanageably large result-sets to the client.

The Data Store

Note that in this initial architecture, the HTML store is maintained separately from the database. This is done currently as a production expedient. As the production process is stabilized, the HTML store will be subsumed into the database, thereby simplifying administration of the data store. This problem has received only modest attention in these early days of Web sites, but will loom ever larger as significant stores of documents are brought into the Web.

Another interesting possibility is not to store the HTML version of a document at all, but rather to translate the SGML to HTML on-the-fly. This option was considered, but rejected, in favor of a production process that would support more deliberate examination of the translation process output. One advantage of the on-the-fly approach would be to eliminate future translations of legacy documents subsequent to changes in the HTML standards. The Electronic Journals Online databases do, in fact, include SGML, and it is conceivable that at some point this option will be revisited.

Session-based URLs

Marrying the session-oriented world of Z39.50 with the stateless model of the Web gives rise to interesting issues related to the form and function of URLs. The precise form of Z39.50 URLs (or even whether it is necessary to have a canonical form) continues to be a subject of discussion in standardization circles. OCLC has implemented a URL-Z39.50 scheme which serves the intended purpose, though it may change to reflect experience in a production environment. Several points concerning these URLs merit attention.


The architecture presented here provides a means of delivering complex scholarly publications using current (and somewhat limited) WWW protocols. The solutions are workable methods that will serve the needs of many information providers until the capabilities of this environment evolve. In exchange for the necessary compromises, publishers gain access to the fastest growing segment of the Internet (the World Wide Web) and the growing array of client software across all major hardware platforms.


[1] An example of 12083 SGML to HTML conversion as shown in a Web browser. Inline and display equations are examples of the incoporation of inline images in the running text.

[2] An architecture for an HTTP-Z39.50 Gateway


[1] Electronic Manuscript Preparation and Markup. International Organization for Standardization. NISO/ANSI/ISO 12083, 1994.

[2] Information Processing -- Text and Office Systems -- Standard Generalized Markup Language (SGML). International Organization for Standardization. Ref. No. ISO 8879:1986., 1986.

[3] John K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley Publishing Company, 1994.

[4] Keith Shafer. SGML Grammar Structure. In Annual Review of OCLC Research, 1993.

[4] Tim Berners-Lee. Hypertext Markup Language (HTML), March 1993


Stuart Weibel
Senior Research Scientist

Stuart Weibel has worked in the Office of Research at OCLC since 1985. During this time he has managed projects in the areas of automated cataloging, document capture and structure analysis, and electronic publishing, including the Chemistry Online Retrieval Experiment (CORE Project), a collaborative experiment to republish American Chemical Society journals electronically. He currently coordinates networked information services research projects in the Office of Research, including applications of World Wide Web technology and Internet protocol standardization efforts, including HTML and Uniform Resource Identifiers.

Eric Miller
Research Associate II

Eric Miller is the lead implementor for the X-windows SCEPTER interface, OCLC's experimental SGML browser and viewer, developed for the CORE project. He is a doctoral candidate in the Ohio State University Department of Geography. His research interests include the design and development of geographical information systems and volume visualization as well as electronic publishing and structured markup of text. He is primary implementor of the SGML-HTML translation process described in this paper.

Jean Godby
Associate Research Scientist

Jean Godby has worked at OCLC since 1988, and in the Office of Research since 1990. She has provided technical leadership and systems support in database design and implementation of a 500,000 page SGML database for the Chemistry Online Retrieval Experiment (CORE project). In addition, she manages a project for lexical analysis of text databases aimed at improving access to full-text documents. She is responsible for the image server that supports the translation of SGML to HTML in this paper.

Ralph LeVan
Senior Consulting Analyst

Ralph LeVan has been at OCLC since 1987, during which time he developed the Newton database software and Z39.50 server that support most OCLC database products. He is a member of the Z39.50 Implementors Group and Chairman of the OIW Special Interest Group for Library Automation. He implemented the HTTP-Z39.50 gateway described in this paper.