replacement-break
Full Description
swirl
Syntax
  replacement-break character string condition?


Purpose

Defines a string used to replace a specified character in data content when OmniMark decides to break a line at one of the following:

  • a "%/" format item that immediately precedes the character.
  • the character occurs in SGML PCDATA being written to a stream, which is not controlled by the h modifier.

Typically, space and tab characters are replaced by end-of-line sequences.

The character is a single character expressed as a quoted string; string is the replacing string and condition is an optional condition.

The replacement-break declaration and insertion string can contain only static text, and must contain at least one end-of-line sequence.

An OmniMark program can have any number of replacement-break declarations. However, the conditions must ensure that only one declaration for a given character is valid at any time.

The condition on a replacement-break rule can't contain function calls. This rather extreme provision has been made to avoid the consequences of side-effects within such functions. Two types of side-effect are especially troublesome:

  • The synchronization of output in general, as a consequence of output or put actions in a function called from within such a condition, is highly non-deterministic.
  • It is not clear what the effect of an output-to in such a condition should be.

Note that referents may interact with the line-breaking mechanism to prevent optimal results.

Copyright © OmniMark Technologies Corporation, 1988-1998.