Try OpenEdge Now
skip to main content
Internationalizing Applications
Understanding Character Processing Tables : Word-break tables : Creating and modifying word-break tables : Word-break table syntax
 
Word-break table syntax
Word-break behavior varies widely between and even within locales. If CONTAINS queries do not work as expected in a particular locale, you can copy a word-break table that OpenEdge provides and modify it as necessary. You can also create a word-break table from scratch. The syntax is as follows:

Syntax

[ #define symbolic-namesymbol-value ] ...

[ Version = 9
Codepage = codepage-name
wordrules-name = wordrules-name
type = 3
]

word_attr =
{
{char-literal | hex-value | decimal-value } , word-delimiter-attribute[ , { char-literal|hex-value|decimal-value }
, word-delimiter-attribute ] ...
};
symbolic-name
The name of a symbol. For example: DOLLAR-SIGN.
symbol-value
The value of the symbol. For example: '$'.
Note: Although OpenEdge and some versions of OpenEdge let you compile word-break tables that omit all items within the second pair of square brackets, Progress Software Corporation recommends you always include these items. If the source-code version of a compiled word-break table lacks these items, and the associated database is not so large as to make this impractical, Progress Software Corporation recommends you add these items to the table, recompile the table, reassociate the table with the database, and rebuild the indexes.
codepage-name
The name, not surrounded by quotes, of the code page the word-break table is associated with. The maximum length is 20 characters. For example: UTF-8.
wordrules-name
The name, not surrounded by quotes, of the compiled word-break table. The maximum length is 20 characters. For example: utf8sample.
type=3
The table type. Although OpenEdge supports existing word-break tables of type 1 and type 2, Progress Software Corporation recommends you change their table type to 3. If you do, you also must recompile the word-break table, reassociate it with the database, and rebuild the indexes.
char-literal
A character within single quotes or a symbolic-name, which represents a character in the code page. For example: '#'.
hex-literal
A hexadecimal value or a symbolic-name, which represents a character in the code page. For example: 0xAC.
decimal-literal
A decimal value or a symbolic-name, which represents a character in the code page. For example: 39.
word-delimiter-attribute
In what context the character is a word delimiter. Use one of the word delimiter attributes in the table.