rulexdb_subscribe_item - put new dictionary item into the rulex database
Contents
Description
The rulexdb_subscribe_item() function inserts new item into one of the dictionary datasets in the
database referenced by rulexdb argument.
The argument key points to a text string containing the original word.
The argument value points to the corresponding pronunciation string.
The argument item_type specifies target dataset. It may accept one of the following values:
RULEXDB_LEXBASE
The item represents a lexical base, therefore should be inserted into the Implicit dictionary.
RULEXDB_EXCEPTION
Explicit item that should be inserted into the Explicit dictionary.
RULEXDB_DEFAULT
Target dictionary should be guessed according to specified key: if it represents any lexical base,
then Implicit dictionary will be chosen, otherwise the Explicit dictionary will be used. If key
word is recognized as a lexical base, but the record for this key already exist in the Implicit
dictionary, then Explicit dictionary will be tried instead.
The argument overwrite If true (non-zero) the new item will replace already existing one with the same
key if any. Otherwise the new item will not be stored.
Errors
RULEXDB_FAILURE
Referenced database has not been opened, internal data structures are corrupted or some other
general failure has occurred.
RULEXDB_EINVKEY
Invalid key specified.
RULEXDB_EINVREC
Invalid pronunciation string specified.
RULEXDB_EPARM
The argument rulexdb or item_type has an invalid value.
RULEXDB_EACCESS
The database is not opened for updating.
Name
rulexdb_subscribe_item - put new dictionary item into the rulex database
Return Value
The rulexdb_subscribe_item() function returns RULEXDB_SUCCESS which is zero when specified item was
successfully subscribed, positive value RULEXDB_SPECIAL when specified key already exists in the
dictionary, or negative error code otherwise.
See Also
rulexdb_classify(3), rulexdb_close(3), rulexdb_dataset_name(3), rulexdb_discard_dictionary(3), rulexdb_discard_ruleset(3), rulexdb_fetch_rule(3), rulexdb_lexbase(3), rulexdb_load_ruleset(3), rulexdb_open(3), rulexdb_remove_item(3), rulexdb_remove_rule(3), rulexdb_remove_this_item(3), rulexdb_retrieve_item(3), rulexdb_search(3), rulexdb_seq(3), rulexdb_subscribe_rule(3)
Synopsis
#include<rulexdb.h>intrulexdb_subscribe_item(RULEXDB*rulexdb,constchar*key,constchar*value,intitem_type,intoverwrite);
