|
|||||
Naming conventions | |||||
Prerequisite Concepts |
In OmniMark, names can consist of the 26 letters of the Roman alphabet ("a" to "z"), the ten digits ("0" to"9"), the punctuation characters (hyphen ("-"), period ("."), and underscore ("_")), and all the characters with numeric values in the range 128 to 255 (that is, the ASCII eight-bit characters). Names must always start with a letter (or one of the ASCII characters from128 to 255).
Names of all OmniMark-defined objects are case insensitive. That is, names that contain lowercase characters are treated as if they were entered in uppercase.
Names of SGML objects, except for entities, are treated as case insensitive by default. These names are also treated as if they were entered in uppercase.
The names of entities are always case sensitive. Entity names which contain the same characters in different cases are treated as different names.
All keywords in OmniMark are treated as case insensitive as well.
The treatment of SGML names is the one specified by the Reference Concrete Syntax. This allows programmers to use the same naming conventions in their programs that are used in the SGML documents being processed.
The treatment of SGML names by OmniMark's built-in SGML parser can be changed by providing an SGML Declaration that specifies different naming conventions. The treatment of SGML names (and OmniMark names) in the program can be changed by adding OmniMark declarations.
The reason that two different mechanisms are required is that there are two different parts of OmniMark involved:
There are a number of declarations that affect the naming conventions. Naming declarations are all optional, but if used, must appear after the translation type and escape
declaration and before any other declarations and rules. For example, if entity names are to be converted to uppercase, this information must be given before any entity names actually appear in the program.
The naming declarations may be entered in any order within a program, but no more than one declaration of each form is permitted, and if given, they must appear before any other declarations, rules, or function definitions.
Prerequisite Concepts Names |
---- |