Vocabulary errors and warnings
Vocabulary elements, such as terms, phrases, articles and constants, might be made up of one or more words, called lexical units. These lexical units must comply with specific lexical rules. Vocabulary elements must be non ambiguous. You cannot verbalize two classes with the same term, and you cannot verbalize two members with the same phrase.
Terms
Terms must not conflict with the elements of the business rule language and the System BOM. For example, if a word in a term can be interpreted as a number, you get an error.
Ambiguity errors are reported locally when editing a vocabulary in the same vocabulary file, and reported globally at build time if the ambiguity comes from duplicate terms in two separate files.
Phrases
In phrases, you can use each type of placeholder only once.
You get a warning in the following circumstances:
If the subject placeholder is not used in a navigation phrase
If the
{this}placeholder is missing
You can set a preference to ignore these warnings.
Errors in phrases can also come from their related business element:
An action phrase for a read-only or final attribute
A navigation phrase for a write-only attribute
| Message | Description |
|---|---|
| Character > is forbidden. | A vocabulary element uses a forbidden character. This error is reported when editing the vocabulary. |
| Character > in term for class balsample.Book is forbidden. | A vocabulary element uses a forbidden character. This error is reported at build time. |
| Term book is duplicated. | The term is already used for another class in the current vocabulary file. |
| Lexical conflict in production I-target(balsample.Book,SINGLE,INDEFINITE_ARTICLE,_,_,_) -> 'a' “book” "12" expecting construct "12" and having construct "<ilog.rules.brl.Number>” | Lexical conflict: the lexical unit 12 in
the term associated to the class Book is interpreted
as a number. |
| Placeholder "author" is missing in "balsample.Book: author" | The subject placeholder (author) is missing
in the phrase associated to the member balsample.Book.author. |
| Duplicate verbalization: [balsample.Book: author] and [balsample.Book: title] | The members balsample.Book.author and balsample.Book.title have
the same verbalization. |
| Action phrase not allowed for "balsample.Book: author" (member is read-only) | The attribute is read-only and must not be verbalized as an action phrase. |
| Navigation phrase not allowed for "balsample.Book: author" (member is write-only) | The attribute is write-only and must not be verbalized as a navigation phrase. |
Delimiters in numbers
Commas and spaces are used to separate parts of rules and expressions. In certain locales, they also serve as delimiters in numbers:
- A comma can be used to group three digits, as in
10,000. - A space can also be used to group three digits, as in
10 000. - A comma can be used as a decimal mark, as in
3,14159265.
Follow these instructions to avoid problems when expressing numbers:
- When possible, do not use digits in verbalizations.
- When using digits, avoid space and comma separators between digits, especially if those characters are valid group delimiters or decimal markers in the locale of the vocabulary.
- If a verbalization must contain digits separated with spaces or
commas, surround the numbers with double quotation marks, for example,
"3,14159265".