Duplicate Attributes
--------------------
Directory standards may authorize different instances of the same
attribute in a record. For instance the record of a person may contain
several email fields containing different email addresses. When using a
QI directory server this is difficult to distinguish from attributes
having multi-line values such as the postal address that may contain a
line for the street and another one for the zip code and city name. In
both cases, EUDC will consider the attribute duplicated.
EUDC has several methods to deal with duplicated attributes. The
available methods are:
`list'
Makes a list with the different values of the duplicate attribute.
The record is returned with only one instance of the attribute
with a list of all the different values as a value. This is the
default method that is used to handle duplicate fields for which
no other method has been specified.
`first'
Discards all the duplicate values of the field keeping only the
first one.
`concat'
Concatenates the different values using a newline as a separator.
The record keeps only one instance of the field the value of which
is a single multi-line string.
`duplicate'
Duplicates the whole record into as many instances as there are
different values for the field. This is the default for the email
field. Thus a record containing 3 different email addresses is
duplicated into three different records each having a single email
address. This is particularly useful in combination with `select'
as the method to handle multiple matches in inline expansion
queries (Note:Inline Query Expansion) because you are presented
with the 3 addresses in a selection buffer
Because a method may not be applicable to all fields, the variable
`eudc-duplicate-attribute-handling-method' lets you specify either a
default method for all fields or a method for each individual field.
- Variable: eudc-duplicate-attribute-handling-method
A method to handle entries containing duplicate attributes. This
is either an alist of elements `(ATTR . METHOD)', or a symbol
METHOD. The alist form of the variable associates a method to an
individual attribute name; the second form specifies a method
applicable to all attribute names. Available methods are: `list',
`first', `concat', and `duplicate' (see above). The default is
`list'.