Panorama Publisher and Viewer  ☑

The Panorama Free plugin for Netscape was many end-users’ first sight of SGML, although if properly set up, they would hardly notice the difference except for the superior formatting. When a Panorama user browsed or followed a link to an SGML document, the plugin (or standalone version) would expect to find two files called (exactly) catalog and entityrc on the server in the same directory as the SGML file. The catalog contained entries resolving the Formal Public Identifier in the document’s DOCTYPE declaration to a downloadable DTD in the normal way of catalogs:

PUBLIC "+//Silmaril//DTD Recipes//EN" "../recipe.dtd"

This allows Panorama to download the DTD. The entityrc file contains entries matching the FPIs in the catalog and providing the names of the stylesheet[s] and navigator[s].

PUBLIC "+//Silmaril//DTD Recipes//EN" 
  DOCTITLE "recipe,title"
  STYLESPEC "Standard" "recipes.ssh"
  NAVIGATOR "Contents" "recipes.nav"

Per-document variants of the stylesheets and navigators can be specified in the instance by using Processing Instructions:

<?STYLESHEET "NewStyle" "cookbook.ssh">
<?NAVIGATOR "WebVersion" "webrecipes.nav">

Figure 14. Panorama Publisher creating styles for a document

Panorama Publisher creating styles for a document

For a large DTD (eg DocBook, TEI, and many industrial schemas) the process of creating the stylesheet is lengthy, the same as it would be for CSS today, but the stylesheet interface is entirely graphical and very easy to use (see Figure 14, “Panorama Publisher creating styles for a document”).

Opening SGML either locally or over the web offered a significant advantage: the browser obeyed the stylesheet formatting, so you were no longer at the mercy of the web browsers’ feeble implementations of CSS; the downside was that in-browser scripting (eg VBScript or Javascript) were not available within Panorama, so it was restricted to classical document-server applications (nonetheless extensive). The biggest advantage, however, was never really taken up: hypertext. Panorama implemented HyTime techreport, so it could handle bidirectional linking, multi-headed (drop-down) links, and — most importantly — you could apply links via the browser without needing write-access to the document because they were stored in your own local file which you could publish on the web, so that other people opening the document could reference your file and see all the links take effect.