With two powerful interfaces that are tightly integrated into Arbortext Editor, FOSI developers enjoy a very cushy and supportive development and mainenance environment. The interfaces complement each other nicely, each with its own tools for development and troubleshooting.
The FOSI style panels interface is designed to help newbies get started. But it does a lot more. You can open a style panel from an element in the Edit window, and link from the style panel to the tagged editor, and from the style panel back to the Edit window. The style panels interface displays panels for various components of the FOSI stylesheet at the same time. And the Resolve feature displays the formatting properties in effect for a given element, with a link to the source of each. Wondering where Arial is coded? Resolve the style panel and instantly link to the source panel.
The tagged FOSI editor provides a linear view of the FOSI stylesheet. Since FOSI is a structured markup application, a .fos file displays in Arbortext Editor, and you can use Arbortext Editor capabilities to navigate and edit the FOSI, including entering ACL commands at the command line. The tagged FOSI editor enables linking to each use of a counter, variable, page set, etc. And you can start a style panel from the tagged FOSI editor. You can even select Edit→Edit Selection as SGML/XML Source to globally change a variable name, for example.
In addition, you can select Synchronize Editor Position in the Preview popup menu to link from the Preview window to the corresponding place in the Edit window. Then you can start a style panel for the relevant element, resolve the element, and immediately identify the source of a formatting error.
The graphics below illustrate important functionality.
The first graphic shows the Edit window (in the top left corner) and some components of both FOSI interfaces. The red arrows illustrate one- and two-way links. The blue arrows point out how the command lines in the Edit window and the tagged FOSI editor can be used. In addition, this graphic shows how an ACL variable can change formatting; how an attribute value can be used as document content; how easily counters are declared, incremented, and output; how the Resolve feature displays all formatting in effect; and how a FOSI can format a FOSI.
The next graphic shows the same element in both interfaces and in an ASCII editor. You can see that most FOSI code is generated by the software. The developer supplies only the variable information.
The next graphic shows how easy it is to get help information for FOSI formatting properties. Just click on a category and press F1.
Last but not least, the final graphic shows Preview's Synchronize Editor Position menu item, which links from Preview to the corresponding position in the document in the Edit window. So, when you spot a formatting error in the Preview window, you can link to the document, start a style panel for the relevant element, resolve the panel, and launch the panel in which the formatting property is coded.
The above graphics show that when best-practice naming conventions are used, there is little need for commenting. And since there are no nested parentheses or brackets, there is no need to waste time entering horizontal and vertical white space to keep track of the nesting. In addition, you can see that FOSI syntax is reasonable.