The tool structure is schematically shown in figure 1. STOWS takes site description, page templates and contents pages as input and produces complete linked site as output. All inputs are HTML based, with some extensions in the description file and in templates that control the processing, and the output is strictly HTML -- at least to the degree the author(s) of contents and templates adhered to the standard.
It is possible to use a same directory for both contents (input) pages and the resulting web site. In that case, the processing tool does not take whole HTML pages as a source, but extracts the original contents from them for processing. This feature makes it possible to update a complete site -- for example, change its design or update links -- without having a separate copy of it for publishing. It is very useful for maintaining existing sites, since one can make changes directly on its pages, without the need for a separate publishing step. The tool structure that corresponds to this concept is shown in figure 2.
The processing can be outlined as follows: First, STOWS reads the given description file, sets the system and user variable accordingly and forms a list of source files to process. Then, it goes through the list, takes each source file and wraps it with the corresponding template, substitutes the variables for their values, performs processing directives and stores the processed file into the destination directory. The process repeats as long as there are pages in the list.