Using OmniMark V3

3. OmniMark Error Messages

Detailed Table of Contents

Previous chapter is Chapter 2, "Running OmniMark".

Next chapter is Chapter 4, "SGML Error Messages".

OmniMark error messages fall into three general categories.

The error messages in this manual are documented in the following manner.

Message: The error message.
Class: Recoverable Error

Additional Information::
Any specific information about the particular error encountered.
Explanation:
A further explanation of the problem in more general terms.

The class of the error will be either "Recoverable Error," as above, or "Non-recoverable Error." When a recoverable error occurs, processing continues. Non-recoverable errors cause processing to stop. In general, OmniMark interpreter errors will cause processing to stop. These should be distinguished from SGML errors which very rarely cause processing to stop unless specifically requested by the OmniMark program through the use of a halt action.

Within the following sections, messages are listed in alphabetical order.

3.1 Command-Line Error Messages

Message: An argument exceeded maximum size of 2048.
Class: Non-Recoverable Error

Additional Information::
For argument: 'X'.
Explanation:
command-line arguments must be less than or equal to 2048 characters in size.

Message: An input file must be specified when '-term' is specified and '-save' was not.
Class: Non-Recoverable Error

Explanation:
If the standard input is read for the OmniMark program, it cannot supply the input to that program as well.

Message: Arguments file ended inside a string.
Class: Non-Recoverable Error

Explanation:
command-line string arguments must be terminated.

Message: Attempting to define log file multiple times.
Class: Non-Recoverable Error

Explanation:
The user may only use either the '-log' or '-alog' option only once.

Message: Attempting to define '-of' or '-aof' file multiple times.
Class: Non-Recoverable Error

Explanation:
The user may only use either the '-of or '-aof' option only once.

Message: Conflicting control arguments: -load, -s.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
An OmniMark program cannot be read in and loaded from a saved application file at the same time.

Message: Conflicting control arguments: -load, -save.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
An OmniMark program can either be saved as an application, or a saved application can be loaded for a translation, but not both.

Message: Conflicting control arguments: -library, -save.
Class: Non-Recoverable Error

Explanation:
If a .csc file is being saved, then there is no run-time environment, and it makes no sense to read a LIBRARY file for run-time processing.

Message: Conflicting control arguments: -term, -s.
Class: Non-Recoverable Error

Explanation:
Only one source may be specified.

Message: Conflicting input and output file specification.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
OmniMark makes sure that the specified input and output files do not have the same name.

Message: Control argument requires a single argument.
Class: Non-Recoverable Error

Additional Information::
For argument 'X'.
Explanation:
The single argument to a control argument was not supplied.

Message: Control argument requires two arguments.
Class: Non-Recoverable Error

Additional Information::
For argument 'X'.
Explanation:
The two arguments to a control argument were not supplied.

Message: Duplicate file error.
Class: Non-Recoverable Error

Additional Information::
The X and Y files have the same name. For file 'Z'.
where X and Y are taken from "-csc", "input", and "-log".
Explanation:
Two external files with the same name have been specified.

Message: Duplicate stream conflict.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
A stream may be referenced by either the output command-line options '-aos' or '-os', or by the content definition option '-define', but not by both.

Message: Error encountered while opening library file.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
OmniMark was unable to find or open the library file specified on the command-line.

Message: Error while reading arguments file.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
OmniMark encountered difficulties while trying to read the named arguments file. This is most likely caused by bad media or the deletion of the file by another process.

Message: Error while trying to authorize the program (Code = X).
Class: Non-Recoverable Error

Explanation:
OmniMark was unable to authorize the program. Please contact your systems administrator or OmniMark Technologies Corporation.

Message: Invalid argument for a shelf-modifying action.
Class: Recoverable Error

Additional Information::
The X action isn't allowed on the non-modifiable variable Y 'Z'
Explanation:
VALUE, READ-ONLY, and REMAINDER function arguments may not be modified in any way.

Message: Invalid character in arguments file.
Class: Non-Recoverable Error

Additional Information::
For file: 'X'; For character 'Y'.
Explanation:
An invalid character in the arguments file has been specified. Valid characters include any character allowed on the standard command-line and the newline character.

Message: Invalid text in library file. Only LIBRARY and INCLUDE declarations are allowed.
Class: Non-Recoverable Error

Additional Information::
For text: "X"
Explanation:
Library files are used to specify the mapping of public to system identifiers, so all a library file can do is contain LIBRARY declarations and/or include other library files.

Message: Internal Error (during startup).
Class: Non-Recoverable Error

Explanation:
OmniMark may have run out of memory.

Message: Missing -s or -load control argument.
Class: Non-Recoverable Error

Explanation:
The user must always give a program to run, either by specifying which file to read in with the -s (-source) control argument, or by specifying which saved application to use with the -load control argument.

Message: Multiple source control arguments specified, using either '-s' or '-source'.
Class: Non-Recoverable Error

Explanation:
Only one source program may be specified.

Message: Multiple '-term' control arguments specified.
Class: Non-Recoverable Error

Explanation:
Only one source program may be specified.

Message: Non-numeric value supplied to -limit control argument.
Class: Non-Recoverable Error

Additional Information::
For value: 'X'.
Explanation:
Valid values for -limit (-threshold) are positive integers and 0.

Message: Specified '-linger' time in seconds must > 1.
Class: Non-Recoverable Error

Additional Information::
Value entered: 'X'.
Explanation:
The linger time is the number of seconds OmniMark should retain the license.

Message: The INCLUDE declaration is missing a string argument.
Class: Non-Recoverable Error

Explanation:
The INCLUDE declaration must specify which file to include.

Message: The INCLUDE declaration must be a string argument.
Class: Non-Recoverable Error

Explanation:
The name of the file to include must be enclosed by either single or double quotation marks

Message: The LIBRARY declaration arguments must be strings.
Class: Non-Recoverable Error

Explanation:
The public and system identifiers in the library declaration must be surrounded by single or double quotation marks.

Message: The LIBRARY declaration is missing one or both of its required string arguments.
Class: Non-Recoverable Error

Explanation:
The library declaration is followed by one or more pairs of strings. The first member of a pair specifies a public identifier; the second one its corresponding system identifier.

Message: This program's license key is incorrect.
Class: Non-Recoverable Error

Additional Information::
Please contact OmniMark Technologies Corporation.
Explanation:
The OmniMark program was given an incorrect license key. The license installation procedure might need to be run again.

Message: Unable to open control arguments file.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
The requested control arguments file could not be opened, perhaps because the path does not exist, or because of insufficient access.

Message: Unable to open file for input.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
The requested input file could not be opened, perhaps because the path does not exist, or because of insufficient access.

Message: Unable to open file for output.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
The requested output file could not be opened, perhaps because the path does not exist, or because of insufficient access.

Message: Unable to open library file.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
The requested library file could not be opened, perhaps because the path does not exist, or because of insufficient access.

Message: Unable to open log file.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
The requested control log file could not be opened for writing, perhaps because the path does not exist, or because of insufficient access.

Message: Unexpected error while trying to authorize the program.
Class: Non-Recoverable Error

Explanation:
This error occurs when the license authorization routine fails due to an error in OmniMark's license key. You should contact OmniMark Technologies Corporation if you see this error.

Message: Unrecognized control argument.
Class: Non-Recoverable Error

Additional Information::
The argument is 'X'.
Explanation:
An incorrect control argument has been passed to OmniMark.

Message: Warning: attempting to use the same file for input and as the saved application input.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
It is possible to write an OmniMark program that will do something with its own saved application file, but this is most likely a command-line error.


3.2 OmniMark Application Error Messages

Message: A declaration was encountered in an invalid position.
Class: Recoverable Error

Additional Information::
The declaration is 'X'.
Explanation:
A translation type must appear at the beginning of the OmniMark program (ignoring comments and white space), and at most one such declaration is allowed in a program. A namecase entity or namecase general declaration may appear only after the translation type declaration (if there is one) and before any other rules and declarations.

Message: A disallowed operation on a default counter was encountered.
Class: Recoverable Error

Additional Information::
The 'X' action cannot be applied to COUNTER 'Y'.
Explanation:
The built-in counters #FIRST, #LAST, #SGML-ERROR-TOTAL, etc., may not be modified.

Message: A disallowed operation on a default shelf was attempted.
Class: Non-Recoverable Error

Additional Information::
The 'T' action cannot be applied to STREAM/COUNTER/SWITCH 'X'.
where T is the action performed on the shelf and X is the name of the shelf
Explanation:
This error occurs when an attempt is made to perform an operation (e.g., modify the key) of a shelf that is not modifiable.

Message: A disallowed operation on a default stream was attempted.
Class: Non-Recoverable Error

Additional Information::
The 'T' action cannot be applied to stream 'X'.
where T is the action performed on the stream and X is the name of the stream.
Explanation:
This error occurs when an attempt is made to modify a stream that is not modifiable.

Message: A disallowed operation on a default stream was encountered.
Class: Recoverable Error

Additional Information::
Stream 'X' cannot be used in the current translation type.
or
The '%g' format item cannot be used on stream 'X'.
or
The stream "X" can be reopened, but cannot be explicitly attached to anything.
where X is a predefined stream that cannot be removed or attached to another destination.
or
The 'X' action cannot be applied to stream 'Y'.
Explanation:
The sgml stream cannot be used in down- and cross-translations. The output and, if allowed, sgml stream, cannot be opened, reopened, closed, discarded, cleared, saved, save-cleared, newed, or accessed with the '%g' format item.

Message: A disallowed operation on a non-modifiable stream argument was encountered.
Class: Recoverable Error

Additional Information::
The 'X' action cannot be applied to stream 'Y'.
Explanation:
VALUE, READ-ONLY, and REMAINDER function arguments may not be modified in any way.

Message: A duplicate comparison modifier was encountered.
Class: Recoverable Error

Additional Information::
The modifier is 'X'.
Explanation:
The comparison modifier, 'UL', may appear at most once.

Message: A format item that is currently not allowed was encountered.
Class: Recoverable Error

Additional Information::
The format item 'X' is not allowed in 'Y' rules.
Explanation:
A format item has been used in a context in which it is not allowed. An example of this would be using a %c format in a find rule.

Message: A group has been defined but never used.
Class: Recoverable Error

Additional Information::
The group is 'X'.
Explanation:
All rules defined in an unused group can never be executed or tested. This message points out that there are such rules in the program.

Message: A group has been used but not defined.
Class: Recoverable Error

Additional Information::
The group is 'X'.
Explanation:
All groups that appear in a next group or using group action in the program must be defined, even if they are empty.

Message: A limit has been exceeded in the OmniMark compiler.
Class: Recoverable Error

Additional Information::
A maximum of 32 pattern variables may be defined in a single pattern, but the pattern 'X' exceeds that limit.
or
The maximum allowed maximum-width is 65,535, but the value entered is 'X'.
or
The maximum allowed preferred-width is 65,535, but the value entered is 'X'.
or
Too many Xs have been entered.
where X is 'counter,' 'stream,' or 'switch.'
or
Exceeded maximum allowed number of GIs in a qualifier list.
or
Exceeded maximum number of allowed function parameters: X allowed, encountered Y.,
Explanation:
The OmniMark language imposes the following internal limits: pattern variables: 32 per pattern; GIs in a qualifier list: 65,535; preferred-width of a line: 65,535 characters; maximum-width of a line: 65,535 characters; 16,383 arguments per function call.

Message: A limit has been exceeded in the OmniMark compiler.
Class: Non-Recoverable Error

Additional Information::
At most 200 actions may be compiled with demonstration software, encountered X.
where X is the actual number of actions encountered in the source code.

Message: A macro parameter that was already defined in the current macro was encountered again.
Class: Recoverable Error

Additional Information::
The macro parameter is 'X'.
Explanation:
A macro parameter may only be defined once in a macro definition, either as an arg or a token parameter.

Message: A modifier is specified more than once in the current format item.
Class: Warning

Additional Information::
The modifier is 'X'.
Explanation:
Any modifier may only appear once for a given format item.

Message: A non-existent qualifier sequence was specified.
Class: Non-Recoverable Error

Explanation:
This error occurs when an element or attribute is specified with a qualifier sequence of elements that doesn't occur. For example, asking for the value of an attribute of the parent when the only open element is the doctype element will cause this error to occur.

Message: A pattern that cannot match any text was encountered.
Class: Warning

Explanation:
This message is provided when a pattern that cannot start with any characters is detected. OmniMark does not report all such unmatchable patterns, only ones that cannot match any text at the beginning of the pattern.

Message: A pattern that will cause an infinite loop was detected.
Class: Recoverable Error

Additional Information::
The current pattern repeats with a X, but never fails.
where X is either "+" or "*".
Explanation:
This error occurs for only obvious OmniMark patterns. For example, the pattern FIND (WHITE-SPACE* OR "fish")* will cause OmniMark to loop. This error is detected, because OmniMark can detect that it is being asked to match zero or more white-space characters as many times as possible. The pattern FIND ((WHEN VALUE 1 IS EQUAL 1) OR "fish")* does not elicit this error message, however, because in general OmniMark cannot tell if a condition will always be true or false.

Message: A possibly incorrect REPEAT action was encountered.
Class: Warning

Additional Information::
All %c format items and SUPPRESS actions inside a REPEAT action must have an associated condition.
Explanation:
OmniMark requires that the content of an element be processed exactly once for each instance of an element in an SGML document. If the content is processed in a repeat action, it will be processed once for each cycle, violating the above requirement. This message points out some of the places where that violation is likely to occur.

Message: A related modifier was already given for the current stream.
Class: Recoverable Error

Additional Information::
The modifier is 'X', the stream is 'Y'.
Explanation:
At most one of TEXT-MODE and BINARY-MODE may be specified. At most one of REFERENTS-ALLOWED, REFERENTS-ARE-DISPLAYED, and REFERENTS-ARE-ERRORS may be specified.

Message: A shelf cannot be COPY-CLEARed to itself.
Class: Non-Recoverable Error

Additional Information::
For STREAM/COUNTER/SWITCH 'X'

Message: A shelf has been redeclared inconsistently.
Class: Recoverable Error

Additional Information::
The X 'Y' was originally declared as 'Z', but is declared differently here.
where X is the type of the shelf, Y the shelf identifier (its type and its name), and Z is 'VARIABLE', 'FIXED-fixed size', or 'VARIABLE-maximum size.'
Explanation:
A local or global shelf can be declared several times, but these characteristics must be the same each time.

Also, when a shelf is declared several times, it must agree in its initial size and initial values.

Message: A shelf is possibly not being used as intended.
Class: Warning

Additional Information::
The shelf 'X' is assigned a value that is never used.
or
The shelf 'X' is referenced but never initialized.
or
The shelf 'X' is never initialized or used.
Explanation:
OmniMark does some checking to make sure that all shelves are both initialized and referenced. Since it is possible to initialize shelves on the command-line, and counters and switches are automatically initialized to acceptable values, this is not necessarily an error. It is also conceivable that a shelf would be assigned a value that is deliberately never needed again.

Message: A string continuation character ('_') is not followed by another string.
Class: Recoverable Error

Additional Information::
Reached the end of the current file while continuing the string "X...".
or
Found character 'X' while continuing the string "Y...".
Explanation:
Every string continuation character ('_') must be found between two strings, and the entire sequence of continued strings must be contained completely within one file.

Message: A variable initially defined in a rule or match action's main pattern cannot be used in its main condition.
Class: Recoverable Error

Additional Information::
The pattern variable is 'X'.
Explanation:
Although the main condition appears spatially in the OmniMark program after the pattern-matching part, it may be consulted before the pattern is attempted. This also applies to each block of actions in a scan action that is preceded by the match keyword, a pattern, and a condition. However, references to pattern variables that exist before the match keyword are permitted in the main condition.

Message: An ambiguous construct was detected.
Class: Warning

Additional Information::
The current comparison uses string comparison, but all the entries could be numeric values.
or
In a REOPEN action, the BREAK-WIDTH sequence could be a modifier or a separate declaration. If it's a modifier, preceding it with the WITH keyword will prevent this message. If it's a declaration, it must be moved somewhere else so it doesn't immediately follow a dynamic repeat action. It is assumed to be a modifier.
Explanation:

The first problem occurs in code such as the following:

  SET STREAM s TO "6"
  DO WHEN "3" < "04" < s

All the values in this test could be interpreted as either numbers or strings. As numbers, the test would be true. As strings, false (because the "3" in the first value is greater than the "0" in the second value). By default, the test does string comparison. To coerce the test to a numeric comparison, coerce one of the strings to a number. The simplest way is to do:

  SET STREAM s TO "6"
  DO WHEN +"3" < "04" < s

The REOPEN problem occurs in code such as the following:

DOWN-TRANSLATE

GLOBAL STREAM s

DOCUMENT-START
  OPEN s AS BUFFER
  PUT (s AND #MAIN-OUTPUT) "abcd%/%_efgh%/%_ijkl%/%_mnop%n"
  CLOSE s
  REOPEN s

BREAK-WIDTH 5 50

REPLACEMENT-BREAK "%_" "%n"

This code will not have the desired effect: the BREAK-WIDTH declaration is actually a modifier applied to the REOPEN action. To get it to affect the #MAIN-OUTPUT stream, you could put the REPLACEMENT-BREAK declaration between the end of the DOCUMENT-START rule and the BREAK-WIDTH declaration.

Message: An external text entity can't be resolved.
Class: Non-Recoverable Error

Additional Information::
For entity 'X'.
Explanation:
Every reference to an external text entity in the input document must meet at least one of the following criteria:

Message: An incomplete REPEAT action was encountered.
Class: Warning

Additional Information::
The current REPEAT action has no EXIT action.
Explanation:
Since a repeat action is used to repeat a group of actions until a condition is met, an exit action is needed to end the repeat action. However an action might exit by some other means, such as calling a function that contains a HALT action.

Message: An incomplete rule was encountered.
Class: Recoverable Error

Additional Information::
The 'X' rule must have at least one '%c' format item or SUPPRESS action, but none were encountered.
where X is data-content/, element, marked-section cdata, marked-section rcdata, marked-section ignore, or sgml-comment.
Explanation:
OmniMark requires that each of the above rules process its content, either with a %c format item or a suppress action.

Message: An invalid BREAK-WIDTH value was encountered.
Class: Recoverable Error

Additional Information::
The maximum-width must be positive, but the entered value is 'Y'.
or
The preferred-width must be positive, but the entered value is 'Y'.
or
The maximum-width may not be less than the preferred-width, but the preferred-width is 'X' and the maximum-width is 'Y'.
or
The maximum allowed preferred-width is 65,535, but the value entered is 'X'.
Explanation:
If a break-width declaration is entered, one or two positive integers must be entered, and the second one (the maximum width) may not be less than the first one (the preferred width). Neither value can exceed 65,535. When break-width modifiers are given for streams, the values need not be integers or constant expressions. But if they are, they must be positive.

Message: An invalid BREAK-WIDTH value was encountered.
Class: Recoverable Error

Additional Information::
The maximum allowed maximum-width is 65,535, but the value entered is 'X'.
or
The maximum-width may not be less than the preferred-width, but the preferred-width is 'X' and the maximum-width is 'Y'.
or
The maximum allowed preferred-width is 65,535, but the value entered is 'X'.
or
The maximum-width must be positive, but the entered value is 'X'.
or
The preferred-width must be positive, but the entered value is 'X'.

Message: An invalid byte ordering was encountered.
Class: Recoverable Error

Additional Information::
The byte ordering must be positive, but a value of 'X' was encountered.
Explanation:
The value must be between 0 and the current maximum ordering (3 on machines that represent a counter with four bytes).

Message: An invalid character representation sequence was encountered.
Class: Recoverable Error

Additional Information::
An integer between 0 and 255 is expected between the percent sign and the number sign, but the value encountered is 'X'.
Explanation:
OmniMark allows characters to be represented in strings by entering their decimal numeric codes between a percent sign and a number sign. To enter other literal sequences between these two characters, the format item '%%' should be used to represent the percent sign, and then any other characters can be entered as desired.

Message: An invalid character set was encountered in the current pattern.
Class: Recoverable Error

Additional Information::
The subpattern WHITE-SPACE cannot appear inside a character set because the current NEWLINE sequence contains 'X' characters.
or
The format item '%n' cannot appear inside a character set because the current NEWLINE sequence contains 'X' characters.
where X is the number of characters in the sequence.
or
The second character, of value 'X', is less than the first character, with value 'Y'.
where X and Y are strings used in the form "X to Y".
Explanation:
The subpattern WHITE-SPACE can appear inside a character set only when the NEWLINE sequence is 1 character long (the default).

Message: An invalid character was found.
Class: Recoverable Error

Additional Information::
The invalid character's decimal code is 'X'.
or
The backquote character (`) must either appear in a string or comment, or start a name.
Explanation:
All the printable characters are allowed anywhere in an OmniMark program. These include letters, digits, and the punctuation characters: !@#$%{};:'"`~,<.>/? Spaces are allowed anywhere. Tabs and carriage returns, where available, are allowed outside strings. Line-feed and form-feed characters, where available, are allowed outside strings. All other characters are allowed only inside comments.

Message: An invalid combination of tests was encountered in a stream type test.
Class: Recoverable Error

Additional Information::
For stream 'X', current keyword is 'Y'.
where X is the name of the stream in the test, and Y is the current keyword which conflicts with keywords already present in the test.
Explanation:
Certain tests make no sense, such as "WHEN STREAM <name> IS (OPEN AND CLOSED)" or "(FILE AND SOURCE-BUFFER)" or "(READER-FUNCTION AND REFERENT AND OPEN)". The compiler does not complain about redundant tests, such as "(OPEN AND OPEN)" or "(FILE AND SINK)".

Message: An invalid format item was found in a name.
Class: Recoverable Error

Additional Information::
The format item is 'X'.
where X is %a, %b, %c, %d, %g, %i, %q, %v, %x, %y, %[, %], or %/.
Explanation:
OmniMark names may contain any other format item, as well as all the other characters allowed in OmniMark strings.

Message: An invalid ITEM selector value was encountered.
Class: Recoverable Error

Additional Information::
The selector value is 'X'.
where X is the encountered value.
Explanation:
The value of an ITEM selector must be greater-than or equal to 1.

Message: An invalid modifier and format item combination was encountered.
Class: Recoverable Error

Additional Information::
The modifier 'X' cannot be used with the format item 'Y'.
Explanation:
Most format items have modifiers which can be applied to them. In this case, a modifier which does not apply has been used.

Message: An invalid modifier value was encountered.
Class: Recoverable Error

Additional Information::
The 'X' may be between 'Y' and 'Z', but the current value is 'W'.
where X is 'field width', Y is 0, Z is 3996; or X is 'radix', Y is 2, Z is 36; or X is 'scale factor', Y is 0, Z is 3996; or X is 'ordering factor', Y is 0, Z is the particular machine's maximum byte size less 1 ('3' on most machines).
Explanation:
The field-width must be between 0 and 3996 inclusive. If it is 0, a warning is issued. The radix must be between 2 and 36 inclusive. A value that is not followed by a modifier is assumed to be the scale factor, which must be between 0 and 3996. If the format item is '%b' rather than '%d' (no other format items take such a modifier), the value must be between 0 and the current maximum ordering (3 on machines that represent a counter with four bytes).

Message: An invalid NEWLINE declaration was encountered.
Class: Recoverable Error

Additional Information::
A 'X' was found in the declaration, but is not allowed.
Explanation:
The NEWLINE value may not contain spaces, tabs, '%n' sequences, and format items such as '%d'. Any other characters which can appear in a string are allowed. The '%...#' format items are allowed, as long as they do not evaluate to space or tab characters.

Message: An invalid number was encountered.
Class: Recoverable Error

Additional Information::
The sequence 'X...' is not a valid number.
Explanation:
OmniMark numbers are integers (strings of digits), with an optional plus or minus sign ('+' or '-') in front of the number. OmniMark numbers must be between -2,147,483,647 and +2,147,483,647 inclusive. They may not contain commas, decimal points, spaces, or other non-digit characters. All OmniMark numbers must be separated by subsequent names by white space.

Message: An invalid replacement character was encountered.
Class: Recoverable Error

Additional Information::
The replacement character may not be the newline.
Explanation:
If the newline sequence is only one character long, it indicates the end of the line, and there is no point trying to break it. If the newline sequence is more than one character long, the replacement character may be any single character in the sequence.

Message: An invalid shelf size was encountered.
Class: Recoverable Error

Additional Information::
The size is X, but must be positive.
Explanation:
Shelves can be given fixed or maximum values at compile-time, but these values must be positive.

Message: An invalid stream modifier was encountered.
Class: Recoverable Error

Additional Information::
The modifier is 'X', the stream is 'Y'.
or
A buffer cannot appear with the 'REFERENTS-ALLOWED' modifier.
or
A referent cannot appear with the 'REFERENTS-ALLOWED' modifier.
Explanation:
Certain streams are not allowed to be opened, reopened, or written to with certain modifiers. The only time the REFERENTS-ALLOWED modifier is allowed is when a stream is opened as a file. This is the only time it makes sense, since the referent values are not determined until processing has finished; by this time the buffers and referents can no longer be used, but the files are still around.

Message: An invalid test for this translation type was encountered.
Class: Recoverable Error

Additional Information::
The 'X' test is not allowed in Y.
where X is a test and Y is the context in which X occurred.
Explanation:
A test relating to SGML documents has been used in a cross-translation, or a pattern test has been used in a context where patterns are not allowed.

Message: An operation that is not yet supported was encountered.
Class: Recoverable Error

Additional Information::
The SYSTEM-CALL operator is not supported on this platform. supported.
Explanation:
This is a platform-specific message. The only platform-specific language restriction in OmniMark is that system calls are not supported on the Macintosh or on MS Windows. As of OmniMark Version 2 Version 4 there is no native Microsoft Windows version; That version of OmniMark is run in an MS-DOS "compatibility box" and therefore has access to the SYSTEM-CALL operator.

Message: An undeclared shelf was encountered.
Class: Recoverable Error

Additional Information::
The shelf 'X' was used without being declared.
Explanation:
Once one shelf is explicitly declared, all of the shelves in a program must be declared.

Message: An undefined macro parameter was encountered in a '%@(...)' format.
Class: Recoverable Error

Additional Information::
The parameter is 'X'.
Explanation:
Only parameters that name an arg parameter or a token parameter may appear inside a '%@(...)' format item.

Message: An undefined pattern variable was encountered.
Class: Recoverable Error

Additional Information::
The pattern variable is 'X'.
Explanation:
A pattern variable can be accessed in an another subpattern, a '%x' format item, or a pattern test only if some text has been saved into that variable. Also, the pattern variable access must appear in the same rule in which it was saved, if it was saved in a find or translate rule. If the text was saved in the pattern part of a match alternative of a DO SCAN or REPEAT SCAN action, the pattern variable access may appear only within that same match alternative. It becomes unspecified at the end of such a match alternative.

Message: Attempting an SGML-PARSE action in a domain other than the Element Domain.
Class: Non-Recoverable Error

Additional Information::
The current domain is X.

Message: Attempting an SGML-PARSE action specifying an element that is not declared in the current DTD.
Class: Non-Recoverable Error

Explanation:
This error occurs when an attempt is made in the OmniMark program to do an SGML parse using INSTANCE and a WITH DOCUMENT-ELEMENT that specifies an element not defined in the specified DTD (e.g., in an translation-type before .

Message: Attempting an SGML-PARSE action using CURRENT DTD in a context where no DTD is active.
Class: Non-Recoverable Error

Explanation:
This error occurs when an attempt is made in the OmniMark program to do an SGML parse using CURRENT DTD while no current DTD is active, i.e., there is no ongoing SGML parsing at the point where DO SGML PARSE is invoked. For example, this error can occur in an aided translation-type (i.e., a down, context, or up translation), before DTD-END has been reached (e.g, from a document-start rule), or in process translation where do sgml-parse is invoked for the first time.

Message: Attempting an SGML-PARSE action using SUBDOCUMENT in a context where there is no previous SGML-PARSE.
Class: Non-Recoverable Error

Explanation:
This error occurs when an attempt is made in the OmniMark program to do an SGML parse using SUBDOCUMENT when no SGML document is being parsed. In an aided translation type (i.e., in a down, context, or up translation), the error occurs is do sgml-parse is invoked before SGML-DECLARATION has been reached. In a process translation type, this occurs when no sgml document is currently being parsed.

Message: Attempting to access #IMPLIED attribute value.
Class: Non-Recoverable Error

Additional Information::
For element 'X': For attribute 'Y'.
or
For external entity 'X': For attribute 'Y'.
Explanation:
Only attributes which have values specified in the SGML document or those which have a declared default value can be accessed.

Message: Attempting to access an optional function argument that wasn't specified.
Class: Non-Recoverable Error

Additional Information::
For X 'Y'.
where X is the type of the shelf, Y its name.
Explanation:
OPTIONAL arguments that have no INITIAL value should be guarded with an 'IS SPECIFIED' test before accessing them in a function.

Message: Attempting to access a shelf item with an unknown key.
Class: Non-Recoverable Error

Additional Information::
For X shelf 'Y'; For key 'Z'.
where X is either counter, stream or switch.
Explanation:
OmniMark is attempting to access a shelf item with a key that is not associated with the shelf.

Message: Attempting to access external information about an internal function.
Class: Non-Recoverable Error

Additional Information::
For function 'X', for operator 'Y'.
where Y is either FUNCTION-LIBRARY or EXTERNAL-FUNCTION (the name by which function X is known in the library).
Explanation:
Internal functions do not have information related to FUNCTION-LIBRARY or EXTERNAL-FUNCTION.

Message: Attempting to access external information about an undeclared function.
Class: Non-Recoverable Error

Additional Information::
For function 'X', for operator 'Y'.
where Y is either FUNCTION-LIBRARY or EXTERNAL-FUNCTION (the name by which function X is known in the library).

Message: Attempting to access the contents of an open stream.
Class: Non-Recoverable Error

Additional Information::
For stream X.
Explanation:
It is not allowed to use the content of a stream unless it is closed.

Message: Attempting to clear a shelf being used in a repeat over.
Class: Non-Recoverable Error

Additional Information::
For STREAM/COUNTER/SWITCH 'X'. BEFORE/AFTER item Y, repeat over size of Z.
Explanation:
It is not allowed to clear a shelf subject to a repeat over action.

Message: Attempting to close/discard an active stream.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
An active stream cannot be closed or discarded.

Message: Attempting to convert a zero length string into a numeric value.
Class: Non-Recoverable Error

Explanation:
OmniMark is trying to convert a zero length string to a base, binary or a numeric value.

Message: Attempting to convert an out-of-range value to roman numerals.
Class: Recoverable Error

Additional Information::
Value = "X".
Explanation:
OmniMark only converts values from 0 to 3,999 into roman numerals.

Message: Attempting to copy a shelf too large for the target shelf.
Class: Non-Recoverable Error

Additional Information::
For target X shelf 'Y'; For source A shelf 'B'.
where X and A are either counter, stream, or switch.
Explanation:
OmniMark is trying to copy to a shelf whose maximum allowed size is smaller than the size of the shelf being copied.

Message: Attempting to copy a smaller sized shelf to a larger sized shelf which is being used in a repeat over action.
Class: Non-Recoverable Error

Additional Information::
For 'X' shelf 'Y', size 'Z'. For 'A' shelf 'B', size 'C'.
where Y is the name of the shelf being copied to and and X is the type of the shelf either counter, stream or switch and Z is the number of items in the shelf; and B is the name of the shelf being copied and A is its type either counter, stream or switch and the C is the number of items in the shelf.
Explanation:
During the execution of repeat over applied to a shelf, the number of items in the shelf may not be reduced to a value less than the number of items the shelf had at the beginning of the repeat over.

Message: Attempting to copy a stream which is not attached to a buffer.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
Only streams which are closed and bound to buffers may be copied to another shelf.

Message: Attempting to copy a stream which is open.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
Only streams which are closed can be copied to.

Message: Attempting to copy a wrong sized shelf to a fixed sized shelf.
Class: Non-Recoverable Error

Additional Information::
For target X shelf 'Y'; For source A shelf 'B'.
where X and A are either counter, stream, or switch.
Explanation:
OmniMark is trying to copy to a fixed sized shelf a shelf of different size.

Message: Attempting to copy/save a referents-allowed buffer stream opened in an outer nested-referents scope.
Class: Non-Recoverable Error

Explanation:
It is not allowed to copy/save a stream shelf that contains an item that was open with referents allowed in an outer referents scope. The rationale is to avoid the need to resolve referents from outer referent scopes.

Message: Attempting to define shelf item with a key already associated with the shelf.
Class: Non-Recoverable Error

Additional Information::
For X shelf 'Y'; For key 'Z'.
where X is either counter, stream or switch.
Explanation:
OmniMark is trying to assign the key Z to a shelf which already has item associated with the key.

Message: Attempting to divide by zero.
Class: Non-Recoverable Error

Explanation:
A calculation cannot use zero as the divisor.

Message: Attempting to enlarge a shelf past its maximum size.
Class: Non-Recoverable Error

Additional Information::
The action is new. For 'Y' shelf 'Z'.
where Z is the name of the shelf and Y is the type of the shelf either counter, stream or switch.
Explanation:
This shelf had a defined maximum size which the program is attempting to exceed.

Message: Attempting to evaluate a non-numeric string as a number.
Class: Non-Recoverable Error

Additional Information::
For element 'X' : For attribute 'Y' = "Z".
or
For pattern variable 'X' = "Y".
Explanation:
Only a string consisting exclusively of digits, possibly preceded by a plus or minus sign can be evaluated as a numeric value.

Message: Attempting to evaluate a referent immediately.
Class: Non-Recoverable Error

Additional Information::
Referents may only be written to a stream.
Explanation:
An operation such as 'RETURN REFERENT "..."' will trigger this message. Returning a referent from a function is impossible.

Message: Attempting to evaluate the remainder by dividing by zero.
Class: Non-Recoverable Error

Explanation:
A calculation cannot take the modulus of a given number when the divisor is 0.

Message: Attempting to fetch name of either an unattached stream, a stream attached to a buffer or a stream attached to standard out.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
OmniMark has tried to use the name of a stream for a stream which is not attached to either a referent or file.

Message: Attempting to initialize a shelf of fixed size greater than 1.
Class: Non-Recoverable Error

Additional Information::
The action is 'X'. For 'Y' shelf 'Z'.
where Z is the name of the shelf and Y is the type of the shelf either counter, stream or switch and X is either activate (caused by the -Activate or -A command-line option), ATTACH (caused by the -os or -aos command-line options) or DEFINE (caused by the -define or -D command-line option).
Explanation:
The only fixed size shelves that can be initialized from the command-line must contain only one item.

Message: Attempting to insert into a shelf being used in a repeat over, an item which is less than or equal to the size of the shelf at the start of the repeat over.
Class: Non-Recoverable Error

Additional Information::
For STREAM/COUNTER/SWITCH 'X', BEFORE/AFTER item Y, repeat over size of Z.
Explanation:
It is not allowed to insert items to a shelf subject to a repeat over unless the inserted item is added at the right end of the shelf.

Message: Attempting to interfere with another domain's stream.
Class: Non-Recoverable Error

Additional Information::
For stream 'X', is owned by domain 'Y', the current domain is 'Z'.
Explanation:
An open stream may only be written to, opened, closed, reopened, or discarded in the domain in which it was opened.

Message: Attempting to load a corrupted saved application.
Class: Non-Recoverable Error

Explanation:
The program in the environment is corrupted in some way. Try resaving the program.

Message: Attempting to modify a fixed size shelf.
Class: Non-Recoverable Error

Additional Information::
The action is 'X'. For 'Y' shelf 'Z'.
where Z is the name of the shelf and Y is the type of the shelf either counter, stream or switch and X is either clear, new, remove or save-clear action.
Explanation:
The size of fixed sized shelves cannot be modified.

Message: Attempting to open a file with zero length name.
Class: Non-Recoverable Error

Explanation:
A file name must consist of one or more characters.

Message: Attempting to OPEN/REOPEN a stream with a referent which is already in use.
Class: Non-Recoverable Error

Additional Information::
For stream 'X' : For referent 'Y' which is attached to stream 'Z'.
Explanation:
A stream can be opened or reopened as a referent only if the referent is not attached to another open stream.

Message: Attempting to process content twice in one rule.
Class: Non-Recoverable Error

Additional Information::
For element 'X'.
Explanation:
More than one action, with a succeeding condition, contains a %c format item.

Message: Attempting to remove from a shelf being used in a repeat over, an item which is less than or equal to the size of the shelf at the start of the repeat over.
Class: Non-Recoverable Error

Additional Information::
For X shelf Y, item Z, repeat over size of A.
where X is either counter, stream or switch.
Explanation:
The repeat over temporarily freezes the minimum size of a shelf. OmniMark has tried to remove an item whose position is at or inside this minimum size.

Message: Attempting to reopen an unattached stream.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
OmniMark is trying to use an unattached stream with a reopen action which has no attachment clause.

Message: Attempting to restore a saved shelf which is saved in rules that are not properly nested with respect to each other.
Class: Non-Recoverable Error

Explanation:
Scopes over which a shelf is saved and restored must not overlap. This error occurs when a shelf is saved in the find domain as well as in the element and the runtime scopes of the two save operations overlap.

Message: Attempting to save a stream which is not attached to a buffer.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
Only streams which are closed and bound to buffers or are unattached may be saved.

Message: Attempting to save a stream which is open.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
Open streams cannot be saved.

Message: Attempting to select multiple declarations or rules.
Class: Non-Recoverable Error

Additional Information::
Element name is 'X', looking for rule of type 'Y'.
where Y is either element, element #implied, data-content, external-entity or external-entity #implied.
or
Element name is 'X', looking for declaration of type 'Y'.
where Y is either insertion-break, replacement-break, marked-section cdata, marked-section rcdata, or marked-section ignore, or marked-section include-start, or marked-section include-end, or sgml-comment.
or
Conflicting rules found on the following lines: line X in file Y...
Explanation:
The conditions on two or more rules that process parts of an SGML document are true at one time, which is not allowed.

Message: Attempting to skip past a negative number of characters.
Class: Non-Recoverable Error

Additional Information::
For value: 'X'.
Explanation:
OmniMark has specified a negative number of characters to be skipped past.

Message: Attempting to use %c where not allowed.
Class: Non-Recoverable Error

Explanation:
%c is only allowed in a rule of type ELEMENT, DATA-CONTENT, MARKED-SECTION IGNORE, MARKED-SECTION CDATA, MARKED-SECTION RCDATA, and SGML-COMMENT or in the body of a DO SGML-PARSE action. Any use of it in other contexts is an error.

Message: Attempting to use a number base value that is either less than 2 or greater than 36.
Class: Non-Recoverable Error

Additional Information::
The specified base is 'X'.
Explanation:
Numeric bases range from base 2 to base 36.

Message: Attempting to use a referent that does not exist.
Class: Recoverable Error

Additional Information::
For referent 'X'.
where X is the name of the referent.
Explanation:
This error occurs when an attempt is made to access a referent using REFERENTS Key or to display a referent (by writing the referent to a stream open with with referents-displayed) that is not defined within the current referents scope (i.e. does not exist on the referents shelf).

Message: Attempting to use a referent value which is not fully resolved.
Class: Recoverable Error

Additional Information::
For referent 'X'.
where X is the name of the referent.
Explanation:
This error occurs when an attempt is made to get the value of a referent using REFERENTS Key in an action that expects a string value. For example, the output file in the following code is subject to this error:

   OPEN s WITH REFERENTS-ALLOWED AS REFERENT "A"
   PUT s REFERENT "B"
   CLOSE s
   OUTPUT FILE REFERENTS KEY "A"
   SET REFERENT "B" TO "my.file"

Message: Attempting to use a referent with zero length name.
Class: Non-Recoverable Error

Explanation:
Referent names must consist of one or more characters.

Message: Attempting to use an existing referent with no defined value in the current nested-referents scope.
Class: Recoverable Error

Additional Information::
For referent 'X'.
where X is the name of the referent.
Explanation:
This error occurs when a referent which has never been assigned a value gets directly or indirectly written to a stream that is resolved at the end of the referent scope.

Message: Attempting to use an unspecified pattern variable.
Class: Non-Recoverable Error

Additional Information::
For pattern variable 'X'.
Explanation:
Pattern variables must have a value assigned to them before they can be used.

Message: Attempting to use current element but none exists.
Class: Non-Recoverable Error

Explanation:
There is only a current element between the start tag and end tag of the document element. It is an error to attempt to access the components of an element outside of the document element.

Message: Attempting to use current entity but none exists.
Class: Non-Recoverable Error

Additional Information::
Unqualified external entity accessed outside an 'X' rule.
where X is either EXTERNAL-TEXT-ENTITY or EXTERNAL-TEXT-ENTITY.
Explanation:
This error is issued when a function accesses an unqualified entity, notation, or data-attribute, but it turns out the function is not called from an EXTERNAL-TEXT-ENTITY or EXTERNAL-TEXT-ENTITY rule.

Message: Attempting to use out-of-range attribute item selector.
Class: Non-Recoverable Error

Additional Information::
For element 'X' : For attribute 'Y', its size is 'Z' and item selector is 'A'.
or
For element 'X' : For attribute 'Y', a CDATA attribute, the item selector is 'A'.
or
For external entity 'X' : For attribute 'Y', its size is 'Z' and item selector is 'A'.
Explanation:
An attribute's item selector value must be between one and the number of values in the attribute if it is not a cdata attribute. If it is a cdata attribute the selector value must be one.

Message: Attempting to use out-of-range referent item selector.
Class: Non-Recoverable Error

Additional Information::
Number of Referents: X, For Referent item: Y.
Explanation:
OmniMark has tried to index a referent item whose index is larger then the current number of referents.

Message: Attempting to use out-of-range shelf item selector.
Class: Non-Recoverable Error

Additional Information::
For counter 'X', size is 'Y' and item selector is 'Z'.
or
For stream 'X', size is 'Y' and item selector is 'Z'.
or
For switch 'X', size is 'Y' and item selector is 'Z'.
Explanation:
A counter, stream, or switch item selector value must be between one and the number of values in the shelf object.

Message: Attempting to use submit in a domain other than the Find Domain.
Class: Non-Recoverable Error

Additional Information::
The current domain is X.
Explanation:
This error occurs when an attempt is made in the OmniMark program to do a SUBMIT from a domain other than the find domain. The SUBMIT action can only be invoked when the current domain is the find domain.

Message: Attempting to use unknown date format operator.
Class: Non-Recoverable Error

Additional Information::
For Date format operator value: 'X'.
Explanation:
OmniMark has entered an unknown value in the operator position in a date format string.

Message: Attempting to write a referent to a stream which does not allow referents.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
Referents can only be written to the streams opened with the referents-allowed or referents-displayed modifier.

Message: Attribute is not declared for the element or entity.
Class: Non-Recoverable Error

Additional Information::
For element 'X' : For attribute 'Y'.
or
For external entity 'X': for attribute 'Y':
or
For element 'X': for element attribute 'Y'= entity "Z": for attribute 'W':
Explanation:
Only attributes returned with an element or an entity can be referenced.

Message: Attribute type mismatch.
Class: Non-Recoverable Error

Additional Information::
For element 'X': For attribute 'Y', expected type is 'Z' and received type is 'A'.
where Z is either entity/entities or entity/entities/notation and A is either cdata, entity, entities, id, idref, idrefs, name, names, nmtoken, nmtokens, number, numbers, nutoken, nutokens, notation or "Name Group".
Explanation:
An element's attribute declared type must match the type expected by the OmniMark program.

Message: Attribute value is not an external entity.
Class: Non-Recoverable Error

Additional Information::
For element 'X' : For attribute 'Y' = "Z".
Explanation:
The value of an attribute referenced in a notation test must be an external entity.

Message: Cannot create a temporary file, check directory and write permissions.
Class: Non-Recoverable Error

Explanation:
Due to a system error, OmniMark could not open a temporary file for referent processing. This system error is usually due to write permissions or disk space problems.

Message: Cannot output to stream 'X'.
Class: Non-Recoverable Error

Additional Information::
The stream is currently not open.
Explanation:
A user-defined stream can only be written to after opening or reopening it and before closing it.

Message: Cannot reopen an active stream.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
A stream on the active stack may not be closed or reopened, even if it is not on the top of the stack. The stream must be completely removed from the stack, either by using the output-to action, or by waiting until element rules have ended, before the stream can be reopened.

Message: Cannot write to this stream referents that are defined in an outer nested-referent scope.
Class: Non-Recoverable Error

Additional Information::
For stream X
Explanation:
When writing a stream that contains unresolved referents to another stream open with REFERENTS-ALLOWED, attention must be paid to the depths of the referent scopes where the source and the target streams are open. The depth of the referent scope where the source stream has been open must be greater or equal to the depth of the referent scope where the target stream has been open. This condition is imposed by the OmniMark language to ensure that no referents defined in an outer referent scope end up being resolved in an inner referent scope.

Message: Content of current element was not processed.
Class: Non-Recoverable Error

Additional Information::
For element 'X'.
Explanation:
All of the suppress actions or actions with %c format items in the rule had conditions which failed.

Message: Date format string ends prematurely.
Class: Non-Recoverable Error

Explanation:
OmniMark has constructed a date format string and the last character of the string is '=', which is the date operator start character. It must be followed by one or more characters for the format string to be legal.

Message: Declaration condition conflict.
Class: Recoverable Error

Additional Information::
An unconditional INSERTION-BREAK declaration has already been entered, so no further INSERTION-BREAK declarations are allowed for it.
or
The current INSERTION-BREAK declaration must have a condition, since the previous INSERTION-BREAK declarations also have conditions.
or
An unconditional REPLACEMENT-BREAK declaration for 'X' has already been entered, so no such further declarations are allowed for it.
or
The current REPLACEMENT-BREAK declaration for 'X' must have a condition, since the previous such declarations also have conditions.
Explanation:
If there is more than one insertion-break declaration in a program, at most one declaration may be applicable at any one time. Similarly, if OmniMark attempts to replace a single character with a string from a replacement-break declarations, it verifies that at most one such rule is applicable at any one time. If a declaration for insertion or character replacement has no condition, it is always true, and there is no need to enter any other declarations for that particular type.

Message: Declaration not allowed.
Class: Recoverable Error

Additional Information::
Declaration 'X' is not allowed 'Y'.
where X is one of break-width, delimiter, insertion-break, library, or replacement-break and Y is either in cross-translations, in down-translations, in up-translations, or with the -library option.
Explanation:
All declarations are allowed in context-translations and down-translations. Only break-width, insertion-break, replacement-break and symbol declarations are allowed in cross-translations. All declarations except break-width, insertion-break, and replacement-break declarations are allowed in up-translations. Only library declarations are allowed in files specified with the -library control argument specified on the command-line.

Message: Detected a referent loop: referent is directly or indirectly written to itself.
Class: Non-Recoverable Error

Additional Information::
For referent X

Message: Duplicate binary declaration encountered.
Class: Recoverable Error

Additional Information::
The X declaration was previously given with a byte-ordering of 'Y', but the current declaration has a value of 'Z'.
where X is binary-input or binary-output.
or
The X declaration was implicitly set to a byte-ordering of Y when the first rule was encountered, but the current declaration has a value of Z.
Explanation:
binary-input and binary-output declarations can be given several times in an OmniMark program, as long as each kind of declaration always has the same value.

Message: Duplicate declaration encountered.
Class: Recoverable Error

Additional Information::
The declaration is 'X'.
Explanation:
The following declarations may appear at most once in an OmniMark program: escape, newline, break-width, delimiter, namecase entity, namecase general, and symbol.

Message: Duplicate macro name encountered.
Class: Recoverable Error

Explanation:
A macro name which has already been encountered in the program has been encountered again.

Message: Duplicate pattern variable encountered.
Class: Recoverable Error

Additional Information::
The pattern variable is 'X'.
Explanation:
A pattern variable can be used to save text only once in each rule. Use different variables to save several pieces of text.

Message: Duplicate SAVE action encountered.
Class: Recoverable Error

Additional Information::
The 'X' 'Y' has already been saved in the current local scope.
where X is counter, stream, or switch and Y is the shelf's name.
Explanation:
A shelf can be saved at most once in each rule where save and save-clear actions are allowed.

Message: Duplicate stream modifier encountered.
Class: Recoverable Error

Additional Information::
The modifier is 'X', the stream is 'Y'.
Explanation:
The '%c' modifiers are 'u', 'l', 's', 'z', and 'h', as they mainly apply to the processing of PCDATA.

Message: Duplicate test detected.
Class: Warning

Additional Information::
Entity test X already appears.
where X is an entity test, such as GENERAL, PARAMETER, CDATA-ENTITY, etc. or
Notation test X already appears.
where X is a notation test, such as SYSTEM, PUBLIC, or IN-LIBRARY.
or
Declared type X has already been specified.
where X is one of the declared types an element attribute can take, or the keyword 'GROUP'.
or
Attribute test X already appears.

Message: Duplicate USING prefix encountered.
Class: Recoverable Error

Additional Information::
The 'X' 'Y' already appears in the current list of USING prefixes.
where X is attribute, counter, elements, referent, stream, or switch and Y is the object's name.
or
The term 'NESTED-REFERENTS' already appears in the current list of USING prefixes.
Explanation:
Each object may appear at most once in any consecutive list of using prefixes.

Message: ELEMENT rule condition conflict.
Class: Recoverable Error

Additional Information::
An unconditional rule for the generic identifier 'X' has already been entered, so no other rules are permitted.
or
Previous rules for the generic identifier 'X' have conditions, so the current one requires one as well.
Explanation:
It is an error if more than one element rule can be selected at any one time and any particular generic identifier can appear in either only one rule without a condition or several conditional rules.

Message: Encountered a duplicate function parameter.
Class: Recoverable Error

Additional Information::
In function 'X', for parameter Y 'Z'.
or
In function 'X', parameter 'Y' was already declared as type 'Z'.
Explanation:
Each parameter identifier (the shelf type and its name) may appear only once in the parameter list for a given function.

Message: Encountered a format item to stop hiding text, but text was not being hidden.
Class: Recoverable Error

Explanation:
For each stream it is sent to, the format item '%]' must be preceded, at some time, by the format item '%[.' Text between these two items is not counted towards the stream's preferred width.

Message: Encountered a function that was never defined.
Class: Recoverable Error

Additional Information::
The function is "X".
Explanation:
All functions must be declared before they are used. The body of the function may be given anywhere in a program (thereby defining the function), but its heading must appear at least once before its first use.

Message: Encountered a redeclared function with an inconsistent return type.
Class: Recoverable Error

Additional Information::
Previous type of function 'X' was: Y, current is: Z.
Explanation:
A function of a given name must always return the same type of value.

Message: Encountered an attempt to save a local shelf or function parameter.
Class: Recoverable Error

Additional Information::
The shelf is "X Y".
where X is 'COUNTER', 'STREAM', or 'SWITCH'.
Explanation:
Only global variables may be saved.

Message: Encountered an invalid shelf index.
Class: Recoverable Error

Additional Information::
The maximum size of 'X' is 'Y', but the given index is 'Z'.
where X is the name of the affected counter, stream, or switch, Y is its maximum size, and Z the given constant index.
Explanation:
When a shelf is declared as either fixed or bounded, OmniMark verifies that a constant index lies within the shelf's bounds.

Message: Encountered an untyped variable in a heralded program.
Class: Recoverable Error

Additional Information::
The keyword 'X' is needed before "Y" in the current context.
where X is a shelf type, and Y is the name of the shelf.
Explanation:
Heralded programs are those that have either a 'DECLARE HERALDED-NAMES' declaration or are run with "-herald" on the command-line. Variables need not be declared, but every instance of a variable must be given with its type.

Message: Encountered end of file while matching a built-in macro.
Class: Recoverable Error

Additional Information::
Expecting a 'X' character.
where, as of OmniMark Release 2 Version 4, X is either ')', ']', or '}'.
Explanation:
The three bracketing characters, '(', '[', and '{' have a special meaning inside macro ARG parameters. They must always be paired with their respective closing character, and OmniMark will keep matching until it finds it. This allows nesting macros to be built without worrying about ARG parameter expansions containing other macros.

Message: End of file in macro parameter encountered.
Class: Recoverable Error

Additional Information::
The macro is 'X'; the parameter is 'Y'.
Explanation:
An end of file condition was encountered while trying to match the parameter portion of a macro.

Message: End of file in the current string encountered.
Class: Recoverable Error

Additional Information::
The string is "S...".
Explanation:
OmniMark strings must be contained completely within a file.

Message: Error detected while reading a file.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
where X is the name of the file.
Explanation:
Some error has occurred while reading from a file. OmniMark can only detect the error occurrence; it cannot determine what the nature or the cause of the error is.

Message: Error detected while writing to a file.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
where X is the name of the file.
Explanation:
Some error has occurred while writing to a file. OmniMark can only detect the error occurrence; it cannot determine what the nature or the cause of the error is.

Message: Exceeded Demonstration software limit.
Class: Non-Recoverable Error

Additional Information::
Tried to input too many characters.
Explanation:
The OmniMark demo system has all the features of the fully licensed system, but is limited in the number of characters it will process. Please contact OmniMark Technologies Corporation for information on converting a demo system into a fully licensed one.

Message: Exceeded maximum line BREAK-WIDTH.
Class: Recoverable Error

Additional Information::
For stream 'X', line number is 'Y' and maximum BREAK-WIDTH is 'Z'.
Explanation:
The text written to the specified stream could not be broken within the limits specified by a break-width declaration for that stream.

Message: EXIT action out of place.
Class: Recoverable Error

Additional Information::
The current EXIT action is not inside a REPEAT, REPEAT OVER, or REPEAT SCAN action.
Explanation:
The exit action can be used only to end its current repeat action.

Message: External data entity notation's PUBLIC identifier not given in LIBRARY declaration.
Class: Non-Recoverable Error

Additional Information::
For element 'X' : For attribute 'Y' = "Z", notation is 'A' and public id is 'B'.
where Z is the name of the attribute's external entity.
or
For external entity 'X', notation is 'Y' and public id is 'Z'.
Explanation:
An external entity's notation has a specified public identifier which was not defined by a library declaration in the OmniMark program.

Message: External entity's PUBLIC identifier not given in LIBRARY declaration.
Class: Recoverable Error

Additional Information::
For element 'X' : For attribute 'Y' = entity "Z", public id is 'A'.
where Z is the name of the external entity.
or
For external entity 'X': public id is 'Y'.
Explanation:
An external entity has a specified public identifier which was not defined by a library declaration in the OmniMark program.

Message: EXTERNAL-ENTITY rule condition conflict.
Class: Recoverable Error

Additional Information::
An unconditional rule for the external entity 'X' has already been entered, so no other rules are permitted.
or
Previous rules for the external entity 'X' have conditions, so the current one requires one as well.
Explanation:
It is an error if more than one external-entity rule can be selected at any one time and any particular external entity can appear in either only one rule without a condition or several conditional rules.

Message: File indicated by an external text entity can't be found.
Class: Non-Recoverable Error

Additional Information::
For entity 'X': For filename "Y".
Explanation:

Message: Function already defined.
Class: Recoverable Error

Additional Information::
The function is "X".
or
External functions may not be redeclared: for function "X".
Explanation:
Each function's prototype can appear several times in a program, with the elsewhere directive, but the function's body must appear exactly once.

External functions may be defined only once, though.

Message: Function call not allowed.
Class: Recoverable Error

Additional Information::
Function calls aren't allowed in the conditions for INSERTION-BREAK or REPLACEMENT-BREAK rules.
Explanation:
So you're doing line-breaking on the #MAIN-OUTPUT, call a function, and inside that function you do an OUTPUT to the #MAIN-OUTPUT stream. Where does that text go in relation to the text you're currently breaking?

Message: Generic identifier used but not defined.
Class: Recoverable Error

Additional Information::
The generic identifier 'X' was referenced in the program but was never defined and there are no #IMPLIED ELEMENT rules.
Explanation:
OmniMark needs to be able to process the content for every element in the document instance.

Message: Implicit format item modifier added.
Class: Warning

Additional Information::
The 'z' modifier is automatically added to the '%v' format item in TRANSLATE rules.
Explanation:
When CDATA attributes are emitted with the '%v' format item, they are normally subject to processing by TRANSLATE rules. When they are emitted inside TRANSLATE rules, no further TRANSLATE-rule processing can be done on them. This is done by putting the z modifier on the item.

Message: Improper nesting of referent scopes.
Class: Non-Recoverable Error

Explanation:
Referent scopes are not allowed to overlap during execution of an OmniMark program. Overlapping can only occur between referent scopes initiated in different domains.

Message: Incorrect context for indexing into a shelf.
Class: Recoverable Error

Additional Information::
X selection is not allowed with the 'Y' action.
where X is item or key, and Y is clear, new, REPEAT OVER, save or save-clear.
or
X selection is not allowed with the 'Y' condition.
where X is item or key, and Y is 'has key.'
or
X selection is not allowed in conjunction with 'NUMBER-OF'.
where X is item or key.
or
The IS SPECIFIED attribute test cannot be combined with an ITEM selection.
or
The 'X' stream cannot be indexed with 'Y' selection.
where X is output, #output, or sgml and Y is item or key.
or
The 'X' is a scalar shelf, and cannot be indexed.
where X is the name of a counter, stream, or switch.
Explanation:
The item phrase may be used only where it makes sense to work with one particular value of the shelf rather than the complete shelf. Only a complete shelf, not part of it, can be cleared, added to, repeated over, or saved.

Message: Incorrect number of actual parameters in function call.
Class: Recoverable Error

Additional Information::
For function 'X', defined arg count is 'Y', invocation uses 'Z'.
Explanation:
Thor functions always take the same number of arguments. This message probably indicates that a parameter has either been omitted or the function definition has changed.

Message: Insufficient memory.
Class: Non-Recoverable Error

Explanation:
There is no more memory available from host operating system.

Message: Invalid argument to the TEST-SYSTEM action encountered.
Class: Recoverable Error

Additional Information::
Expecting 'C', 'D', or the end of string, but encountered 'X'.
where C is ';', D is '=', and X is the encountered character.
or
The 'LIST-ALL-TESTS' test takes no arguments (called with "X").
or
The 'RUN-ALL-TESTS' test takes no arguments (called with "X").
or
Test 'X' isn't registered.
or
A test name must start with a letter, got 'C'.
where C is the character the test starts with.
or
Entered test ('X...') name is too long, Y characters allowed.
or
Entered test 'X' argument "Y" is too long, Z characters allowed.
or
Sub-action argument for test 'X' ends with escape char '='.
Explanation:
The test-system action is intended for use by OmniMark technical support.

Message: Invalid attempt to initialize a shelf from the command line (either its initial size > 1 or it is predefined).
Class: Non-Recoverable Error

Additional Information::
For counter 'X'
Explanation:
Shelves which are not declared global and with size 1 or variable size with initial size 1 cannot be be initialized from the command line.

Message: Invalid character found in a based number.
Class: Recoverable Error

Additional Information::
The string 'X' contains characters that are not allowed in a base 'Y' number.
Explanation:
A string of base Y can contain only characters '0' through character 'Y - 1', where the next character after '9' is 'a' or 'A', and so on until 'z' or 'Z' for base 36.

Message: Invalid context for 'KEY OF' operator.
Class: Recoverable Error

Additional Information::
The 'KEY OF' expression may not be used with a keyed shelf.
Explanation:
This occurs while trying to take the key of an item, but the item is indexed with a key phrase, not an item phrase.

Message: Invalid COPY action encountered.
Class: Recoverable Error

Additional Information::
The shelf "X" cannot be copied to itself.
Explanation:
This message is given for an action such as COPY STREAM buf TO buf.

Message: Invalid function definition.
Class: Recoverable Error

Additional Information::
Unparenthesized functions may not use commas to separate arguments (for function "X").
or
A name separator is required before the current argument (for function "X").
or
A comma or name separator is required before the current argument (for function "X").
or
The argument list of function 'X' doesn't start with a parenthesis, so it can't end with one.
or
The argument list of function 'X' starts with a parenthesis, but it doesn't end with one.
or
Internal functions may not have return type 'X' (for function "Y").
or
Argument #X for function Y originally had an initial R value of S, but is now T",
where R is one of "numeric", "string", or "boolean", S is the original value, and T the current one.
or
Argument X (Y) for function Z is of class remainder, so it cannot be optional as well.
or
The first argument (X) of function Y can't be optional, because it has no leading herald.
or
Function 'X' was previously defined as an unparenthesized function, but this time it has an open-parenthesis.
or
Function 'X' was previously defined as an unparenthesized function, but this time it has a close-parenthesis.
or
Function 'X' was previously defined as a parenthesized function, but this time it has no parentheses.
or
Function 'X' was previously defined as a parenthesized function, but this time it has no close parenthesis.
or
Argument #X for function Y originally had an initial value, but doesn't in a subsequent declaration.
or
Argument #X for function Y originally had no initial value, but does in a subsequent declaration.
or
Previous declaration of function 'X' had Y args, current has Z.
or
Function 'X' has been defined as returning type 'Y', and therefore can't also be defined as an OUTPUT function.
or
Function 'X' has been defined as an action function, and therefore can't also be defined as an OUTPUT function.
or
Function 'X' cannot be defined as both an OUTPUT and a non-OUTPUT function.
Explanation:
Names must be used to separate function arguments in unparenthesized functions.

Functions that are multiply defined must agree with respect to whether they are parenthesized or not, the numbers, types, and names of their arguments, and the types and names of their arguments' heralds.

Message: Invalid list of groups encountered.
Class: Recoverable Error

Additional Information::
The #IMPLIED group cannot appear with other groups.
or
The #GROUPS designation may appear at most once in a list of groups, but the current action contains more than one.
Explanation:
The #implied group is always active. Therefore it is redundant to specify that it should be used along with other groups. Putting #groups in a list of groups more than once also adds no more information.

Message: Invalid macro definition encountered.
Class: Recoverable Error

Additional Information::
The reserved term "X" must be preceded by 'LITERAL' in a macro definition.
where X is 'MACRO', 'MACRO-END', 'ARG', 'TOKEN', or 'IS'.
Explanation:
This error is given only when the 'CHECK MACROS' directive is given at the beginning of the program. If it is not given, the above terms may appear in a macro definition without requiring a preceding 'LITERAL' in certain situations. When macro checking is activated, the 'LITERAL' is always required.

Message: Invalid multi-value comparison was encountered.
Class: Recoverable Error

Additional Information::
Tests X and Y cannot be combined in a multi-value numeric sequence.
where X is either < or <=, and Y is > or >= (or the other way around).
or
At least one 'ISNT EQUAL' comparison was found in a sequence of N boolean comparisons.

Message: Invalid numeric conversion of a string attempted.
Class: Recoverable Error

Additional Information::
The value of 'X Y Z' is too large to fit into an OmniMark counter.
where X is the string, Y either 'BASE' or 'BINARY', and Z either the radix or byte-ordering, respectively.
or
Only character values between 0 and 255 in described sequences are allowed, but the value encountered is 'X'.
Explanation:
The absolute value of a numeric value must be less than 2 ** 31 (2 to the 31st power).

Message: Invalid occurrence count encountered.
Class: Recoverable Error

Additional Information::
The minimum occurrence value must be greater than or equal to 0, but is X.
or
The maximum value must be greater than or equal to 0, but is X.
or
The first value is X; the second value is Y, but must be at least as large as the first.
Explanation:
This error message appears when a negative value is given as the number of times a pattern should be matched. Also, when a range is specified, ( match some pattern { value TO value } ), and one or both of the values is dynamic, this message appears if the second value is less than the first.

Message: Invalid operation on a fixed-size shelf encountered.
Class: Recoverable Error

Additional Information::
The shelf is 'X', the operation is 'Y'.
where Y is new, clear, or remove.
or
The X 'Y' is fixed with size A, and cannot be copied to X 'Z', with fixed size B.
where X is a shelf type, Y and Z are the names of two fixed-size shelves, and A and B are their respective sizes.
or
The X 'Y' has a maximum size of A, and cannot be copied to X 'Z', with fixed size B.
where X is a shelf type, Y and Z are the names of two fixed-size shelves, and A and B are their respective sizes.
Explanation:
When one shelf is copied to another, either they must both be declared with the same size, or if the destination size is declared variable with an upper bound, that upper bound must be big enough to contain the source shelf.

Message: Invalid operation on a variable-size shelf encountered.
Class: Recoverable Error

Additional Information::
Trying to insert an item X item M of Y 'Z'.
or
Trying to insert an item X item M of Y 'Z', maximum size is N.
where X is 'BEFORE' or 'AFTER', Y is the type of the shelf, Z its name, M the position of insertion, N the maximum size. If N isn't given, the insertion point is too low.

Message: Invalid pattern.
Class: Recoverable Error

Additional Information::
Can't have only LOOKAHEAD inside a '*' or a '+'.
or
Can't save text inside a LOOKAHEAD, '*', or '+'.
or
Consecutive 'X' subpatterns must be separated by parentheses. The last 'X' subpattern is followed by 'Y'.
where X is lookahead or lookahead not.
or
'X' positional patterns may appear only at the 'Y' of a compound pattern.
or where X is content-end, content-start, value-end, or value-start, and Y is 'end' or 'start'.
or
Only 'X' positional patterns can directly precede 'Y'.
or
Only 'X' positional patterns can directly follow 'Y'.
or
Only one EXCEPT is allowed in a character set.
or
The positional pattern 'X' is not allowed in the current pattern.
Explanation:
These messages are given for patterns which either are not supported by the language or are impossible to match. For example, nothing can match word-end line-start, so such a pattern is not accepted.

Message: Invalid qualifier sequence encountered.
Class: Recoverable Error

Additional Information::
The 'DOCTYPE' qualifier may not appear with the 'DOCTYPE' condition.
Explanation:
The doctype qualifier moves the GI pointer to the highest element, so it is impossible to move any higher.

Message: Invalid radix encountered.
Class: Recoverable Error

Additional Information::
The X may be between Y and Z, but the value entered is W.
where X is 'BASE', Y is '2', and Z is '36'.
Explanation:
Only radices between 2 and 36 are allowed.

Message: Invalid repeat-over action encountered.
Class: Recoverable Error

Additional Information::
Some of the fixed shelves have different sizes.
or
Only CURRENT ELEMENTS can be repeated over in REVERSED mode.
Explanation:
All of the shelves in a single repeat over action must have the same size. The compiler can verify that all the fixed-size shelves in that block have the same size.

Message: Invalid shelf declaration encountered.
Class: Recoverable Error

Additional Information::
The predefined X "Y" may not be redeclared.
where X is the type of the shelf, Y its name.
or
The shelf X "Y" has already been declared as type Z in the same scope.
or
Local X "Y" is already declared in the current scope.
Explanation:
The predefined shelves (the ones starting with a '#') may never be declared.

Unless the program is using heralded names, two variables of different types may not be declared in the same scope (either both global, or both at the same level as a local).

Message: Invalid string encountered in LETTERS declaration.
Class: Recoverable Error

Additional Information::
The lower-case string has 'X' characters in it, but the upper-case string 'Y' has 'Z' characters.
or
The format item '%n' cannot appear inside the letters rule.
Explanation:
The letters declaration takes either one string of any size or two strings of the same size after processing. Processing involves changing all the %...# character codes and allowed format items to the single characters they represent. The following format items are not allowed: '%a', '%c', '%d', '%g', '%i', '%q', '%v', '%x', '%y', or '%/'.

Message: Invalid use of #OUTPUT in current stream group encountered.
Class: Recoverable Error

Additional Information::
The #OUTPUT stream may appear at most once in a group of streams, but the current 'X' action contains several.
where X is output-to or put.
Explanation:
The special stream name #output refers to whatever streams are currently active. The order in which streams are entered in a put or output-to action does not matter, but it is an error to enter a specific stream more than once in a given group.

Message: Invalid use of groups encountered.
Class: Recoverable Error

Additional Information::
The SGML-ERROR rule may not change groups.
Explanation:
This error occurs when either a using group, next group, or save groups action appears in an sgml-error rule.

Message: Invalid use of the string continuation character ('_').
Class: Recoverable Error

Additional Information::
The string continuation character may only appear after a string.
Explanation:
The string continuation character may be used in OmniMark either inside strings or to indicate that a string is continued. Comments and newlines appearing among the two strings and the string continuation character are ignored.

Message: Invocation of program tries to activate a switch which was not defined as a global in the program.
Class: Non-Recoverable Error

Additional Information::
For switch 'X'.
Explanation:
Only global switches specified in the OmniMark program may be activated from the command-line.

Message: Invocation of program tries to initialize a counter which was not defined as a global in the program.
Class: Non-Recoverable Error

Additional Information::
For counter 'X'.
Explanation:
Only global counters specified in the OmniMark program may be initialized from the command-line.

Message: Invocation of program tries to use a stream which was not defined as a global in the program.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
Only global streams specified in the OmniMark program may be opened or given a value from the command-line.

Message: Keyword is in use.
Class: Non-Recoverable Error

Additional Information::
Trying to define a function name that has already been used as a keyword (for keyword "X").
or
Trying to define a variable name that has already been used as a keyword (for keyword "X").
Explanation:
Rename the function, or backquote all occurrences of the keyword.

Message: Keyword is unavailable.
Class: Non-Recoverable Error

Additional Information::
Keyword 'X' has been overridden by a function definition.
or
Keyword 'X' has been overridden by a variable definition.
Explanation:
Put a backquote at the start of the keyword to indicate that you want the keyword and not the function or variable of the same name.

Message: Name is too large.
Class: Recoverable Error

Additional Information::
The name starting with 'X...' is at least 'Y' characters long.
Explanation:
OmniMark names can contain up to 2,048 characters. This does not include the string concatenation character, the enclosing quotation marks and any white space found between concatenated strings.

Message: No item phrase supplied for list-valued attribute.
Class: Recoverable Error

Additional Information::
For element 'X' : For attribute 'Y'.
or
For external entity 'X' : For attribute 'Y'.
Explanation:
An item phrase must be used with list-valued attributes in this context if the number of attribute values is greater than one.

Message: No matching ELEMENT rules selectable.
Class: Non-Recoverable Error

Additional Information::
For element 'X'.
Explanation:
For the current element one of the following holds: No element rule or #implied element rule was selectable.

Message: No PUBLIC identifier declared for external data-entity's notation.
Class: Non-Recoverable Error

Additional Information::
For notation 'A':
or
For external entity 'X': for notation 'Y'.
or
For element 'X': for element attribute 'Y' = entity "Z": for notation 'W'
where Z is the name of the attribute's external data-entity.
or
For element 'X': for element attribute 'Y' = notation "Z":
Explanation:
An external entity's notation does not have a specified public identifier.

Message: No PUBLIC identifier declared for external entity.
Class: Non-Recoverable Error

Additional Information::
For element 'X' : For element attribute 'Y' = entity "Z":
where Z is the name of the attribute's external entity.
or
For external entity 'X'.
where X is the name of the external entity.
Explanation:
The external entity does not have a specified public identifier.

Message: No SYSTEM identifier declared for external data-entity's notation.
Class: Non-Recoverable Error

Additional Information::
For notation 'A':
or
For external entity 'X': for notation 'Y'.
or
For element 'X': for element attribute 'Y' = entity "Z": for notation 'W'
where Z is the name of the attribute's external data-entity.
or
For element 'X': for element attribute 'Y' = notation "Z":
Explanation:
An external entity's notation does not have a specified system identifier.

Message: No SYSTEM identifier declared for external entity.
Class: Non-Recoverable Error

Additional Information::
For element 'X' : For element attribute 'Y' = entity "Z".
where Z is the name of the attribute's external entity.
or
For external entity 'X'.
Explanation:
The external entity does not have a specified system identifier.

Message: Number is too large.
Class: Recoverable Error

Additional Information::
The number starting with 'X...' is at least 'Y' characters long.
Explanation:
In theory, OmniMark strings can contain up to 2,048 digits. However, in practice, they cannot be used as numbers if they contain more than 9 digits.

Message: Numeric operand of REPEATED must be greater than or equal to 0.
Class: Non-Recoverable Error

Additional Information::
For value: 'X'.

Message: OmniMark has detected a fatal error using an operating system call.
Class: Recoverable Error

Additional Information::
compiler read abort
where this means the compiler couldn't read a file.
or
compiler write abort
where this means the compiler couldn't write out the CSC file for some reason.
interpreter read abort
where this means the interpreter couldn't read a file.
or
interpreter write abort
where this means the interpreter couldn't write out the CSC file for some reason.
Explanation:

These errors usually arise due to some catastrophic incident -- a disk fills up, a Unix pipe breaks.

Message: Optional function arguments are ambiguous.
Class: Recoverable Error

Additional Information::
In function 'X', optional arguments 'Y' and 'Z' both start with the same herald (W).

Message: Part of a sub-pattern will never be matched.
Class: Warning

Additional Information::
The first sub-pattern in an OR group is always true.
or
The first sub-pattern in an AND group is always false.
Explanation:
In the sub-pattern, (WHITE-SPACE* OR a), sub-pattern a will never be consulted, since the first part always is matched, even if only zero times. In the sub-pattern, ((LOOKAHEAD NOT WHITE-SPACE*) b, the lookahead-not part always fails, so OmniMark never attempts to match sub-pattern b.

Message: Possible empty pattern encountered.
Class: Warning

Additional Information::
This pattern can match zero characters, and therefore slow the program down.
or
A sub-pattern in a repetition might repeat without matching any characters.
Explanation:
As of Version 2 Release 4, OmniMark now allows patterns in find and translate rules to match zero characters. This is most useful for moving from one group to another in find rules without actually consuming characters. Note that if a find rule matches no characters, the next successful find rule must match at least one character. This prevents unexpected looping.

The second type of message can occur when a sub-pattern of the form (A? B* lookahead not C)+ is encountered (or a similar combination thereof).

Message: Potential inconsistency with version V2 of OmniMark detected.
Class: Warning

Additional Information::
Changes in the language from v2 to v3 mean that the current occurrence of 'X' is not part of the string that immediately preceded it. Use parentheses to suppress this warning.
where X is either BASE or BINARY.
Explanation:
The precedence of these two operators was moved below that of the ITEM operator in OmniMark V3, to make it more consistent with other operators. Programs with the following type of code will be affected:

LOCAL/GLOBAL STREAM s 
LOCAL/GLOBAL COUNTER i
...
  RESET i TO STREAM s ITEM <string> BASE/BINARY <num>
; V2 precedence:
  RESET i TO STREAM s ITEM (<string> BASE/BINARY <num>)
; V3 precedence:
  RESET i TO (STREAM s ITEM <string>) BASE/BINARY <num>

Message: Reached the end of the current function without returning a value.
Class: Recoverable Error

Explanation:
This happens when an internal value-returning function is about to hit the end without returning. The compiler would have issued a warning message about this (if the "-warning" option was specified).

Message: Return action out of place.
Class: Recoverable Error

Additional Information::
The current 'X' action is not inside an internal function. definition.
where X is one of RETURN, FAIL, or SUCCEED.
or
The 'X' action is allowed only in SWITCH-returning functions.
where X is FAIL or SUCCEED.

Message: Rule header condition conflict.
Class: Recoverable Error

Additional Information::
An unconditional 'X' rule has already been entered, so no other 'X' rules are permitted.
or
Previous 'X' rules have conditions, so the current one requires one as well.
Explanation:
Rules such as #IMPLIED element rules, marked-section rules, sgml-error rules, etc., can be entered either once with no attached condition, or several times as long as each rule header has a condition.

Message: Rule not allowed.
Class: Recoverable Error

Additional Information::
Rule 'X' is not allowed 'Y'.
where X is one of find, find-end, find-start, or translate and Y is either in cross-translations, in down-translations, in up-translations, or with the -library option.
Explanation:
All rules are allowed in context-translations. Only find, find-end, and find-start rules are allowed in cross-translations. All rules except find, find-end, and find-start rules are allowed in down-translations. All rules except translate rules are allowed in up-translations. No rules are allowed when the -library option is specified on the command-line.

Message: Same stream given more than once in PUT/OUTPUT-TO action.
Class: Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
A stream may only be specified once in a list of streams. The following is not allowed because stream foo is already active:

ELEMENT a                ; <!element a - - (b)*>
  PUT foo "%c"

ELEMENT b
  PUT (#OUTPUT AND foo) "%c"

Message: Several consecutive conditions were found.
Class: Recoverable Error

Additional Information::
'X' conditions in a row were encountered.
Explanation:
Any two conditions in a program must be separated by at least one action or rule header.

Message: SGML-OUT actions should not be used in TRANSLATE rules.
Class: Recoverable Error

Explanation:
sgml-out actions should not be used in translate rules because when a translate rule is executing some text emerging from the parser will have already been processed according to the value specified by a previous sgml-out action. If no such action was given, the default conversions will be used.

Message: Silent referent is written to a stream having no referent defaults.
Class: Non-Recoverable Error

Additional Information::
For referent 'X'.
where X is the name of the referent.
Explanation:
This error occurs when a silent referent has been written to a stream that gets resolved at end of referent scope and the referent is not defined (i.e., does not exist on the referents shelf) and no default value is specified for the stream where the referent has been written.

Message: Specified binary ordering selector is negative.
Class: Non-Recoverable Error

Additional Information::
The binary selector is 'X'.
Explanation:
Binary conversion selectors must be greater than or equal to 0.

Message: Specified number is too big to be converted.
Class: Non-Recoverable Error

Additional Information::
The number is 'X'
Explanation:
Error occurs when a string value is converted into an OmniMark counter using decimal or other base type of numeric conversion.

Message: Specified stream is not attached to a buffer or referent.
Class: Non-Recoverable Error

Additional Information::
For stream 'X'.
Explanation:
The %g format, the clear action, the save, the length of actions and the stream string comparisons can only be used with closed referent or closed buffer streams.

Message: Specified string cannot be converted into a number.
Class: Non-Recoverable Error

Additional Information::
For string "X".
Explanation:
Strings that are converted to numbers may start with a minus sign ('-'), and must be followed by at least one digit. No other characters are allowed, including spaces.

Message: Specified string too large for binary conversion.
Class: Non-Recoverable Error

Additional Information::
The string is 'X...'.
Explanation:
The specified binary string is larger than the allowed size for conversion. Current versions are limited to a string size of 4.

Message: String is too large.
Class: Recoverable Error

Additional Information::
The string starting with 'X...' is at least 'Y' characters long.
Explanation:
OmniMark strings can contain up to 2,048 characters. This does not include the string concatenation character, any white space found between continued strings, or the single quotes and double quotes used to delimit the strings.

Message: SYMBOL declaration missing.
Class: Recoverable Error

Additional Information::
The program contains 'X' '%y's but has no SYMBOL declaration.
where X is the number of times a counter is printed with the %y format item.
Explanation:
A program which contains a %y format item must contain an associated symbol declaration.

Message: Syntax Error.
Class: Recoverable Error

Additional Information::
Expecting 'X', but received 'Y'.
or
Expecting a simple pattern, but received a complex pattern.
When the compiler complains that a pattern is too complex, the pattern should be placed inside parentheses.
or
'UL' does not apply to the 'X' pattern.
where X is any of the predefined character classes: 'any', 'any-text', 'blank', 'digit', 'lc', 'letter', 'space', or 'uc'.
or
A 'USING-X' action must have an explicit index.
where X is either 'COUNTER', 'STREAM, or 'SWITCH'.
or
Can't refer to 'X' outside a repeat-over block.
where X is either 'counter #ITEM', 'switch #FIRST', or 'switch #LAST'.
Explanation:
The entered text does not conform to the syntax of the OmniMark language. These are the most common messages that occur under this heading, but there are many more in OmniMark that are presumably self-explanatory.

Message: The current action is not allowed in the current rule.
Class: Recoverable Error

Additional Information::
The action is 'X' and the rule is 'Y'.
where X is one of output-to, save, save-clear, submit, or suppress.
or
The only rule in the element domain that may have SGML-IN actions is the DOCUMENT-START rule.
Explanation:
The submit and output-to actions are allowed only in find, find-start, and find-end rules. sgml-in actions are allowed in document-start rules because no text has been given to the parser before or during their execution.

Message: The current action is not allowed in the current translation-type.
Class: Recoverable Error

Additional Information::
The action is 'X' and the translation-type is 'Y'.
where X is sgml-in or sgml-out, and Y is cross-translate.
Explanation:
sgml-in and sgml-out actions are not allowed in cross-translations.

Message: The current action is not allowed on a constant parameter.
Class: Recoverable Error

Additional Information::
The 'X' action cannot be applied to Y 'Z'.",
where X is the name of the action, Y its type, and Z its name.
Explanation:
Constant parameters are different from other shelves, in the sense that they have only an unchangeable value.

Message: The current action may not be reachable because of preceding RETURN actions.
Class: Warning

Explanation:
The line in question is positioned after a return action, and therefore can never be reached.

Message: The current macro may not have an ending.
Class: Warning

Additional Information::
The macro boundary keyword 'X' was found while matching a macro name.
where X is either MACRO or MACRO-END.
or
The macro boundary keyword 'X' was found while matching a macro template.
Explanation:
This warning can occur when an AS is inadvertently left off, as in the following example:

MACRO output-it TOKEN x
  PUT (#ERROR AND #CURRENT-OUTPUT) x
MACRO-END

; Other rules follow, no macros, no use of IS...

Message: The current pattern contains an invalid occurrence count.
Class: Non-Recoverable Error

Additional Information::
Repetition is not allowed over a sub-pattern that contains a pattern-save.
Explanation:
Patterns of the form (... P = V ...){M} and (... P = V ...){M to N} are allowed if the value of M and/or N is unknown at compile-time. If at run-time the value is greater than 1 this error is emitted and the system stops.

Message: The current rule has too many %c format items and/or SUPPRESS actions.
Class: Recoverable Error

Additional Information::
The current rule already has an unconditional %c format item or SUPPRESS action, so no more are allowed.
or
The current rule already has 'X' unconditional %c format items and/or SUPPRESS actions, but an unconditional one was encountered.
or
The current rule's such items appear both with and without conditions.
or
The string 'X' contains more than one %c format item.
Explanation:
In rules which can have %c format items or suppress actions, only one unconditional %c format item or suppress action, or several conditional ones may be specified.

Message: The current set of modifiers is invalid.
Class: Recoverable Error

Additional Information::
Modifiers 'X' and 'Y' cannot appear together with format item 'Z'.
or
Modifier 'X' cannot appear without modifier 'Y' in the current format item.
Explanation:
The u and l modifiers may never appear with the same format item. The e, p, or ep, may not appear together with any other modifiers, unless they are combined with the o modifier. No combination of the e, p, and o modifiers may be combined with any of the s, z, and h modifiers. For the %d item, the s modifier requires a scale factor, the z modifier requires f, k requires f, and both u and l require r, where the specified radix is greater than 10.

Message: The current string does not end on the current line.
Class: Recoverable Error

Additional Information::
The string is 'S...'.
Explanation:
OmniMark strings must be entered completely on one line. They can be split across several lines with the string concatenation character ('_'). They can contain embedded newlines by using the %n format item.

Message: The current value-returning function can end without returning.
Class: Warning

Additional Information::
The function is "X".
Explanation:
Every function that returns a value must end with a return action. This is a static check for functions that have possible logical paths where the function's end could be reached without having returned a value to the caller.

Message: The current value-returning function never returns.
Class: Recoverable Error

Additional Information::
The function is "X".
Explanation:
Every function that returns a value must end with a return action. This is a static check for functions that have no possible way of returning a value to the caller.

Message: The OmniMark program has exceeded an internal limit.
Class: Non-Recoverable Error

Additional Information::
Exceeded maximum action code size.
or
Exceeded maximum attribute value storage size.
or
Exceeded maximum buffer size.
or
Exceeded maximum code rule size.
or
Exceeded maximum file name size.
For file 'X'...
or
Exceeded maximum matched pattern size.
or
Exceeded maximum number of allowed attributes per element.
or
Exceeded maximum number of allowed break declaration.
or
Exceeded maximum number of characters allowed in buffer.
or
Exceeded maximum number of DATA-CONTENT rules.
or
Exceeded maximum number of different DOCUMENT-END rules.
or
Exceeded maximum number of different DOCUMENT-START rules.
or
Exceeded maximum number of different FIND-END rules.
or
Exceeded maximum number of different FIND-START rules.
or
Exceeded maximum number of open text-hiding format items ('%[') with 32,768.
or
Exceeded maximum number of single ELEMENT rules. For element 'X'.
or
Exceeded maximum number of single EXTERNAL-DATA-ENTITY rules. For external entity 'X'.
or
Exceeded maximum number of single EXTERNAL-TEXT-ENTITY rules. For external entity 'X'.
or
Exceeded maximum Processing Instruction pattern size. Processing Instruction is 'X...'.
or
Exceeded maximum referent name size.
For referent 'X'...
or
Exceeded maximum rule code size.
or
Exceeded limit on number of different X rules.
where X is the name of an OmniMark rule.
Explanation:
OmniMark has a number of internal limits. One of these limits has been exceeded. These can be overcome by either rewriting the OmniMark program or modifying the DTD of the document being processed.

Message: The proposed ESCAPE character is invalid because it is not a valid string character.
Class: Recoverable Error

Additional Information::
The invalid character's decimal code is 'X'.
Explanation:
Not all characters in a given system's character set may appear inside a string. This message is given when a '%...#' format item is used to describe an escape that can never be expressed directly, such as escape %255#.

Message: The referent resolution file is corrupted.
Class: Non-Recoverable Error

Explanation:
Due to a system error, a temporary file used by OmniMark for referent resolution got corrupted.

Message: The supplied CSC file isn't compatible with this version of OmniMark.
Class: Non-Recoverable Error

Explanation:
This error can occur if the '-save' option is used with one version of OmniMark, and the '-load' option is used with another to read the file the first one saved. OmniMark's '.csc' files are not compatible across different versions of OmniMark. The solution is to recompile and save the original OmniMark program with the most recent version of OmniMark.

Message: The value to skip past by must be positive.
Class: Recoverable Error

Additional Information::
The value is X.
Explanation:
The do skip past action is used to skip forward through a source of input, and therefore cannot go backwards.

Message: Too many files have been included without being closed.
Class: Recoverable Error

Additional Information::
For file 'X'.
Explanation:
The system-defined limit of files that can be opened at any one time has been reached while attempting to include the specified file.

Message: Trying to access the notation of an external entity which does not have one.
Class: Non-Recoverable Error

Additional Information::
For the NDATA entity 'X'.
where X is the name of the entity.

Message: Trying to process content where not permitted.
Class: Non-Recoverable Error

Explanation:
%c is only allowed in a rule of type ELEMENT, DATA-CONTENT, MARKED-SECTION IGNORE, MARKED-SECTION CDATA, MARKED-SECTION RCDATA, and SGML-COMMENT or in the body of a DO SGML-PARSE action. Any use of it in other contexts is an error.

Message: Trying to REOPEN stream WITH REFERENTS-ALLOWED, but stream does not currently have REFERENTS-ALLOWED.
Class: Non-Recoverable Error

Additional Information::
For stream X
Explanation:
A stream which does not currently have referents-allowed cannot be reopen with the referents-allowed modifier.

Message: Trying to use #MAIN-INPUT, but it has already been consumed.
Class: Non-Recoverable Error

Explanation:
This runtime error occurs when the OmniMark program attempts to read from the #MAIN-INPUT stream while the end of the stream has already been reached. Use #COMMAND_LINE_NAMES if you need to read the file(s) on the command multiple times.

Message: Trying to use #PROCESS-INPUT, but it has already been consumed.
Class: Non-Recoverable Error

Explanation:
This runtime error occurs when the OmniMark program attempts to read from the #PROCESS-INPUT stream while the end of the stream has already been reached.

Message: Unable to close file.
Class: Non-Recoverable Error

Additional Information::
For file 'X'.
Explanation:
The requested file could not be closed.

Message: Unable to open file for output.
Class: Non-Recoverable Error

Additional Information::
File is 'X'.
where X is the name of the file.
Explanation:
The host operating system reported a failure when instructed to open a file. There are several causes of this error. Among them, a non-existent path name might have been specified, the disk could be full, or too many files are currently open.

Message: Unequal shelf sizes in REPEAT OVER action detected.
Class: Non-Recoverable Error

Explanation:
Several shelves can be used in a repeat over action, but they all must contain the same number of values at the time the action is initiated.

Message: Unexpected value in macro parameter matching encountered.
Class: Recoverable Error

Additional Information::
The macro name is 'X', expected 'Y', received 'Z'.
Explanation:
Once a macro name has been matched, all the delimiters in that macro's parameter template must be matched.

Message: Unknown external data entity.
Class: Recoverable Error

Additional Information::
For external data entity 'X'.
Explanation:
External entities returned by the SGML Parser must have a matching external-data-entity rule.

Message: Unknown external text entity.
Class: Recoverable Error

Additional Information::
For external text entity 'X'.
Explanation:
External text entities returned by the SGML Parser must have a matching external-text-entity rule, if any rules have been specified for user-defined external text entities.

Next chapter is Chapter 4, "SGML Error Messages".

Copyright © 1997 Stilo Corporation All rights reserved.
EUM13, release 8, 1997/05/27.