Information technology — Processing languages — Document Style Semantics and Specification Language (DSSSL)

(draft) AMENDMENT 1: Extensions to DSSSL


Introduction

This amendment specifies additional flow object classes and additional formatting areas, and clarifies some existing definitions in ISO/IEC 10179:1996:

a) Additional flow object classes are defined to specify on flow object classes for online display. Additional formatting areas are defined to clarify formatting areas for inline-display area and inter-line attachment area.

b) Annex B (informative) summarizes and clarifies the existing types and symbols. This annex will be a key to considering future extensions to DSSSL.

c) Annex C (informative) specifies formal public identifiers and their associated characteristics for various line breaking and line composition methods.

d) Annex D (informative) summarizes and clarifies the grove plan and SGML property set.

e) Annex E (informative) summarizes and clarifies the flow object classes and characteristics.

f) Annex F (informative) summarizes and clarifies the values of characteristics.



Abstract Application Program Interface to DSSSL Flow Object Tree

Add the following subclause after subclause 12.2.

12.2.1 API to Flow Object Tree

A DSSSL processor generates a flow object tree. The flow object tree contains information about the results of applying formatting specifications. DSSSL style editors operate on the flow object tree through an abstract application program interface. This API reports the following information:

  • character, glyph and glyph-annotations
  • line composition
  • paragraph composition
  • column-set composition
  • page composition
  • document composition
  • documents' volume composition

The abstract API will include dynamic information relating to the document under construction. DSSSL may define a core interface for page composition. The API architecture is system independent.



Formatting Areas

Add the following subclauses after subclause 12.3.4.

12.3.5 Inline-display areas

DSSSL has the following conceptualized formatting areas:

  • Display area
  • Inline area
  • Attachment area

Display areas may include other display areas as well as inline areas. Inline areas may also include conceptualized display areas known as inline-display areas. DSSSL defines an inline-display area as a "display area included within an inline area".

  • display-area := (display-area* | inline-area*)
  • inline-area := (inline-display-area* | contents*)
  • inline-display-area := (inline-display-area* | contents*)

For examples, DSSSL has the following formatting areas for composition:

  • (Main) Display area
    • (Sub) Display area
      • (Subsub) Display area ...
      • Inline area ...
        • inline-display area ...
    • Inline area ...
      • inline-display area ...

12.3.6 Inter-line attachment areas

The concept of an attachment creates a link between one of display area or inline area and an attachment area. The attachment area for a display area shall be outside the display area.
The attachment area for an inline area shall be within the inter-line area between the current line and the immediately following line, or the border adjacent to the next display area.
This amendment, therefore, extends the set of DSSSL formatting areas to the following set:

  • Display area
  • Inline area
  • Inline-display area
  • Inter-line area
  • Attachment area (for display area)
  • Inter-line attachment area



Flow Object Classes

Add the following subclauses after subclause 12.6.28.4.

12.6.28.5 Display-window Flow Object Class

This clause defines an extended-online feature.
The display-window flow object class specifies an abstract size for the display frame of an online display. The display-window flow object class may get the top position of current scroll flow object classes as its root class. The display-window flow object class may be a recursive flow object class. It has a single principal port, which accepts any displayed flow objects.
This flow object has the following characteristics:

-- frame-type: one of the symbols window, dialogue, note, caution, alarm or warning. It specifies the type of window to be displayed. The default value is window.

-- frame-size: one of the symbols maximum-size, good-size or minimum-size. It specifies the relative size of window to be used online display. The default value is good-size. This actual values used to represent this characteristic will depend on frame-type characteristics and display devices.

12.6.28.6 Pop-up Flow Object Class

This clause defines an extended-online feature.
The pop-up flow object class provides information relating to a pop-up area, or the edge area of the current window frame. It has a single principal port, which accepts any displayed flow objects.
This flow object has the following characteristics:

-- information-type: one of the symbols anything, warning, error, additional-information, note, origin-of-link, voice-annotation or semantic-annotation. It specifies the type of information to be placed into the pop-up window or the edge area of the current window on online display. The default value is anything.

NOTE: This flow object can be used to display any information, including position data relating to the grove structure.

12.6.28.7 Dialogue Flow Object Class

This clause defines an extended-online feature.
The dialogue flow object class is used to specify interactive dialogues for online display. The dialogue flow object class shall be placed at the front top of the screen display within a display-window flow object class. Dialogue flow object classes may be treated as an interactive flow object class. It has a single principal port, which accepts any displayed flow objects.
This dialogue flow object has the following characteristics:

-- dialogue-type: one of the symbols request, acknowledgement, select-objects, select-of-list or interaction. The initial value is acknowledgement.

-- dialogue-return-type: one of the symbols yes-no-cancel, yes-no, OK-NO, OK, words or phrase. The initial value is OK.

12.6.29 Sound-Voice and Animation Flow Object Classes

This clause defines the sound-voice-and-animation feature.
The sound-voice and animation flow object classes is used for sounds, voices and animations stored within an external entity. Flow objects of these classes may be inlined or displayed as an online display. This flow object is atomic.

12.6.29.1 Sound-voice Flow Object Class

This clause defines the sound-voice feature.
The sound-voice flow object class is used to specify sound and voice data to be used in conjunction with an online display. The sound-voice flow object class may be an atomic object on the other flow object classes, and it may be recursive on itself, depending on the sound-voice system being used. It has a single principal port, which accepts any flow objects.
This flow object has the following characteristics:

-- output?: boolean specifying whether the flow object shall be output or not. This characteristics is not inherited. The default value is #t.

Other specifications are system independent.

12.6.29.2 Animation Flow Object Class

This clause defines the animation feature.
The animation flow object class specify animation on online display. Animation flow object class may be an atomic object on other flow object classes. It has a single principal port, which accepts any flow objects.
This flow object has the following characteristics:

-- output?:boolean specifying whether the flow object shall be output rather than displayed and inlined. This characteristics is not inherited. The default value is #t.

Other specifications are system independent.



Annexes

Add the following annexes after Annex A.