SGML: Panorama style sheet features

SGML: Panorama style sheet features

Path: msunews!gmi!!!!!!!pipex!sunic!!!!usenet
From: (Hasse Haitto)
Newsgroups: comp.text.sgml
Subject: Re: Adobe + IBM + NIST + Netscape
Date: 4 Apr 1995 17:57:34 GMT
Organization: Synex Information AB
Lines: 96
Message-ID: <3ls1af$>
References: <>  
 <3lceu3$>  <>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Posted-From: InterNews 1.0.5@
X-Authenticated: haitto on POP host

In article <> (Paul Prescod) writes:
> word processors.  How powerful is SoftQuad's style sheet mechanism?
>  Paul Prescod

Thanks for asking. Synex Information AB develops SoftQuad Panorama,
is distributed exclusively through SoftQuad and their resellers.

Below is a fairly comprehensive description of the style sheet

A primer on Panorama's style sheet support  :-)

Panorama reads and displays SGML files on-the-fly, using any style
sheet. You can have any number of style sheets defined for any given

Because Panorama is based on SGML, it understands hyperlinks marked
up in SGML, such as ID-IDREF(S), a subset of HyTime link concepts,
and a subset of TEI extended pointers: links are *not* generated from
scripts in the style sheet but are instantly available directly from
the markup as (underlined) "hot text".

The PRO version of Panorama bundles an interactive style sheet editor
that lets you select (using a point-and-click interface) a property
from one of five categories (content, paragraph, before, after, or
miscellaneous), coupled with an occurrence qualifier (for formatting
only certain occurrences of an element, such as the first, last, or
the complement of these possibilities).

The style sheet mechanism uses inheritance, so generally speaking,
most formatting aspects can be inherited from parent elements:
Selecting a suitable general style for the topmost (root) element and
fine-tuning the style sheet for headings, footnotes, and similar
elements is the recommended approach. The effects of inheritance are
easy to grasp as Panorama both lets you inspect the tags and can show
you the SGML Tree of the document instance.

You can also specify contextual formatting based on ancestor (parent,
grandparent, etc.) and sibling elements using a qualifier language.
Contextual conditions can be specified with respect to element names
(GIs), attributes, and environment variables.

Style sheets are currently stored as SGML files.

The five categories of properties in some more detail:

- Content: mainly text properties (such as font family, font size, font
  slant, font weight, font color, font scale, baseline offset,
  visibility of element, etc).

- Paragraph: spacing around the element (such as line breaking,
  indentation, justification, leading, and margins).

- Before: text to add (inserting perhaps attribute values), and/or a
  horizontal rule, when opening the element.

- After: text to add (inserting perhaps attribute values), and/or a
  horizontal rule, when closing the element.

- Miscellaneous: Esoteric formatting properties, such as table
  handling (row oriented tables, a subset of CALS tables, and
  table cells are currently supported), engineering math, iconizing
  elements, and auto numbering. In addition:

  Line: underline, strikethrough, or line above.  

  Change bar: with this setting, the left margin has a vertical
  rule as a revision marker for the extent of the element contents.

  By default, Panorama will display hyperlinks as hot text. You can
  choose to suppress the display of link source and/or target.

In text Before/After, the inserted text can also be subject to
processing (if-then-else), where the conditions can be tests on
attribute definitions, attribute values, environment variable
definitions, and environment variable values.

Verbatim formatting (including so-called white space such as tabs and
line breaks) is supported, but not as a style sheet option, because the
decision to keep the line breaks and white space has to be done at
parse time.

Hasse Haitto                 
Synex Information AB                   Fax:   + 46 8 751 5907
Kallforsv. 24, 124 32 Bandhagen        Phone: + 46 8 647 5225
SWEDEN                                     or + 46 8 790 6299