Identifiers can name various IDL constructs, such as modules, interfaces, and constants. In IDL, an identifier has to follow these rules:
It can be any length of alphanumeric characters from the ISO Latin-1 character set (e.g., a-z, A-Z, 0-9, plus various characters with accents, graves, tildes, etc.), and the underscore character ( _ ).
All characters in an identifier are significant.
The first character must be an alphabetic character.
Identifiers are case-insensitive, in the sense that two identifiers that differ only by case are considered a name collision and will cause an IDL compiler error. This rule stems from the fact that IDL needs to be mappable into many implementation languages, some of which are case-insensitive.
Identifiers must be spelled and capitalized consistently throughout an IDL file.
All IDL identifiers share the same namespace, so interfaces,
modules, user-defined types, and so on within the same scope all
must have unique identifiers. An interface named
List and a module named
List within the same scope will cause a
name collision and an IDL compiler error. See "Naming Scopes" later in
this appendix for more details.
An IDL-to-Java compiler attempts to map all IDL identifiers unchanged into equivalent Java identifiers.
An exception is the case in which a mapped identifier conflicts with an identifier created automatically by the IDL compiler. IDL interfaces, for example, when they are mapped to Java, have two additional ...