Stilo SGML Generator for Windows

June 30, 1996

Seybold Report on Publishing Systems,
Vol 25, No 19
June 30, 1996

The Stilo editor, dubbed a “Document Generator,” was first demonstrated for the Mac last summer at SGML Europe ’95 and released in time for SGML ’95 last December. This year’s demonstration of the Windows version, slated to go on sale this summer, offered another look at this product, which has some original characteristics in its approach to editing SGML documents. The editor’s strengths are in SGML compliance and in support for remote writing and editing, semantic math and modular document architecture. It is weak in rendering and in its handling of faulty instances.

click to load illustration

How it works. In the Stilo Document Generator, every new document starts off with all required elements present. The user can tab from element to element, inserting text as desired. When the cursor is inside an element where optional elements can occur, the editor inserts the element. But if no text is entered between the start and end tags, the element is removed and the next optional element is entered. Clearly, this will work well with some types of document architecture and poorly with others.

Navigation is optimized for keyboarding. All commands are available from the menu, but a user can sequence through all document elements without using the mouse.

While the user can't edit a DTD or edit a document that is not conformant, the editor allows annotation of the DTD to insert comments, processing instructions or online help, and the user can create entities and add them to the DTD.

Other features include the ability to generate TeX or HTML from any document, to alias an element name for easier recognition, to navigate using the graphical view of document structure and to edit attributes. Stilo stores files in its own internal format, which is consistent across platforms. It generates SGML output.

Compliance. The editor can work with any DTD. (It need not be precompiled). On creation, all required elements are inserted in what amounts to a document template. It was the intent of the designers to ensure that a document created with the editor must be in compliance with the associated document type.

Supplying required elements before any text is added simulates the DTD-driven forms interfaces created with APIs for other editors. Stilo plans to add the ability to invoke a text editor that can be used to clean up documents that are too faulty to import directly into the Document Generator.

Managing work. Stilo has done a nice job of implementing the SGML Open Public Reference Catalog. Users can edit documents composed of multiple, chunked files without being aware that the text being edited resides in multiple files and is invoked by nested external entity references. The referenced text shows up as edited in the on-screen document and the source file storing the referenced entity is changed simultaneously. This allows one person (or more than one person) to work on documents without regard for where the components of the document are stored.

As a document manager, the Document Generator is not full-functioned, but there are some nice features that lean in that direction. An administrator can restrict access according to document structure level, so, for example, an author can work only on a specific section or type of structure.

Semantic math. Roy Pike, the founder of Stilo, has been the driving force in the new consideration given to semantic representation of math in SGML. Earlier document types for mathematics represented the appearance of mathematical formulae, not their meaning. These DTDs work much like TeX and contrast with the philosophy and intent of SGML. They allow clean translation of math to rendering devices, but that’s about all. Most users felt that appearance-based SGML had no real advantage over their favorite flavor of TeX and so continued to use it as a notation within SGML-coded documents whenever they needed to represent math.

The advantages of a semantic math DTD have always been clear. It follows the same separation of form and appearance as does other markup in SGML, with the same benefits, and, in addition, allows real processing of the mathematical information from within the document and in direct communication with math processors. It was felt, however, that a semantic math DTD would be too cumbersome and complex.

Using earlier approaches to document architecture, this may have been the case, but Pike has created a prototype semantic math DTD that uses marked sections to include whatever type of mathematical grammar is required. Using minimization and "shortref," Pike’s SGML notation is nearly as compact as TeX. There is a single top layer of mathematical functions always present; then functions are grouped by field of mathematics in parameter entities. The actual sections of the DTD in use at any time are relatively small and manageable.

As a proof of concept, Pike has coded an article on quantum mechanics, which he presented at the conference. (He presented the coding, not the quantum mechanics!)

Stilo can represent math that is coded semantically on-screen and can output TeX from an internal driver. Miles 33 has demonstrated the feasibility of typesetting from semantic SGML math by going from this markup to PostScript. While Stilo can do some simple computations, the real vision for semantic math is direct translation between text-manipulation programs like Stilo and computational algebra programs like Mathematica.

Last year the working group responsible for ISO 12083 (formerly the AAP DTD) formed a committee to take up the issue with Pike as its chairperson.

Rendering. Stilo supports rendering with type family and face; users can select generated text, margins, headers and footers. Tables are a styling issue -- any text can be styled as a table, even with two columns or with images. The editor prints what is on-screen, with or without tags.

Support for standards. Stilo’s strong suit is support for ISO 8879 (SGML) and the SGML Open Public Reference Catalog. It has no direct support for HyTime linking or architectural forms. Martin Pike, son of Roy, is on the British Standards Institute panel on DSSSL and HyTime, but Stilo has not announced support for any aspect of either standard.

Conclusions. The Document Generator is a significant departure from the word-processing-centric view of SGML editing. The first generation of SGML editors retain much of the look and feel of document processing. The Stilo editor conforms more closely to the requirements of database processing and should be judged as a database front end with flexible text editing, not as a competitor to WYSIWYG-capable, word-processor-like editors. While the first wave of editors tries to make SGML editing as much like unstructured, appearance-based editing as possible, the Stilo design accepts the requirements for structure and downplays the importance of appearance.

The Pikes report that the first commercial installation of Stilo was in a conversion house, which we find anomalous, unless data were being rekeyed. We imagine that the type of errors inherent in automated conversion would not be particularly easy to fix in the current Stilo configuration. In their words, the real target audience for Stilo is Roy Pike’s secretary, who must type his physics papers. With more than 300 papers published, we imagine he needs all the help he can get! While today it is not likely that these must be done in SGML, this pattern of usage — where the user is following a known, prescribed form working with material that is not necessarily original with the typist — seems a better fit for this product than cleanup of converted documents.

For many users, this much compliance may be too much compliance, but for others, a fill-in-the-blanks document template may be just the right approach.