A Stickler for Rules

July 14, 1999

Liora Alschuler

In support of the "No XML Required" philosophy, SoftQuad hid not only the complexity of the markup itself, but some useful representations of document structure. The interface reflects a slightly schizophrenic view of a writer's need to know about control and access to the underlying doctype: In XMetaL, you turn rules checking off by going through the Options menu and checking "Rules checking always off." But what is the logical alternative of "always off?" Off sometimes? Always on?

There are other examples of this divided approach. A writer can access a list of all tag names, but she can't add to or change that list. She can access a list of all currently valid tag names, but she can't view the document or DTD as a tree. Writers can edit the document instance directly in Plain Text mode and the raw CSS file in Notepad invoked from the standard styles GUI, but they can't view or edit the DTD without leaving the interface. They can invoke rules checking by clicking an icon on the standard interface, but they can't easily turn off background rules checking in "Normal" or "Tags On" view. This handling of rules checking on or off is less straightforward in XMetaL than in HoTMetaL or Author/Editor, SoftQuad's original SGML editor (which was sold last year to Interleaf).

With rules checking off, you lose the context-sensitivity of the insertion list: it acts as if all tags are allowed). If you violate the document rules, you have no way to get back, except Undo. You can't turn rules on again until the document is valid, but you don't get much help making it valid since you don't have a picture of the DTD or any clear indication of what is wrong. Simply stated, you can only check rules when the document is valid.

SoftQuad President and CEO Roberto Drassinower and Bruce Sharpe, VP of product development, defended the rigorous emphasis on enforcement as SoftQuad's response to customers that wanted to ensure that writers always use rules checking. In that case, the current interface strikes us as a compromise that will please no one. Background, full-time rules checking should toggle on and off like previous SoftQuad products and leave it to implementers to remove it.