This code supports content name pattern groups.
Syntax:
<attribute_identifier>
<attribute_identifier> <2nd-identifier>
User text <attribute_identifier>|(<2nd-identifier><3rd-identifier>)
Example:
<nickname|(<firstname> <lastname>)>
Tokens are looked up from left to right. If a match is found for the
leftmost token, the 2nd token will not be used. Tokens are representations
of fields. So a match means that that the current field has data.
Tokens are the field definition identifiers which are used in the class edit-interface.