Soltys Family Home | Internet Resources For Technical Communicators | Articles | Core Dump

What to Expect When Moving to SGML

by Lynne A. Price

Note: This article was excerpted from a post to the Framers mailing list.

From the authors author's viewpoint, working with structured documents does not change if there is going to be an SGML representation of the document. There is more setup work for the developer to prepare an application, though. Just to clarify:

An unstructured document is the kind of document that can be edited in either FM or FM+SGML. An unstructured document consists of a sequence of tagged paragraphs.

A structured document is an FM+SGML document that consists of a hierarchy of elements. For example, a Chapter begins with a Title that is followed by a collection of Paragraphs, Lists, Figures, and Tables, optionally followed by Sections. Lists contain Items. Paragraphs and Items consist of text interspersed with EmphasizedPhrases, CitedTitles, and CrossReferences. All these elements are formatted as FM paragraphs, with interspersed text ranges for inline elements (such as EmphasizedPhrases). Just as FM does not predefine the allowable paragraph or character tags in unstructured documents, FM+SGML does not predefine the allowable element tags in structured ones. A structured template defines the set of element tags permitted within the corresponding documents. It also defines the type and order of other elements that can occur within each one (and where text is permitted). Finally, it defines FM formatting that is applied automatically to each element depending on the context in which it occurs.

Two examples of this automatic formatting are:

While the look and feel of the user interfaces for working with structured and unstructured documents is essentially the same, since the underlying user model of the data is quite different, basic editing operations are quite different. Instead of adding paragraphs to create new material, the author adds new elements. Rearranging material is also quite different. The author can select an entire element with one gesture, so there is no need to find the beginning and the end of a section separately, say, if the author wants to delete the section or move it to a different position in the chapter.

While many organizations that use unstructured documents assign responsibility for maintaining templates to one individual or a small group, some FM users do allow authors to maintain and modify templates as needed. Since structured templates include definitions of available elements, their permitted content, and the automatic formatting they invoke, structured templates are more complicated than unstructured ones and a different set of skills is needed to maintain them. Much more so in FM than in FM+SGML, there are two definite user roles, that of end-user (or author) and that of template developer. Of course, one individual can perform both tasks.

An SGML document is a text document that represents a hierarchy of elements with the same conventions as the hierarchy of a structured FM+SGML documents. (XML is simply a set of conventions for using SGML that avoids some SGML constructs, HTML is a particular SGML document type—in effect, a tag set.) SGML defines the structure and content of documents but not formatting. As HTML illustrates, of course, tools (browsers, for example) can assign formatting to different types of elements. You can open an SGML document in FM+SGML. If there's a structured template available and the appropriate configuration has been provided, FM+SGML automatically formats the resulting structured document. Furthermore, you can save structured documents as SGML.

You can work with structured documents with no need to represent them in SGML. In many situations, though, users of structured documents do want to use SGML as well. Possible scenarios include:

FM+SGML does have a default way of representing every structured document in SGML. As mentioned at the beginning of this article, though, in most cases, the application developer will need to configure FM+SGML to change this default. This "configuration" process can entail a significant effort.


Back to top

Soltys Family Home | Internet Resources For Technical Communicators | Articles | Core Dump