The ($attr.attrName) macro extracts a value from a specified attribute in the target entry rather than extracting a value from a field with the same number in the target DN. For example, ($attr.description) is replaced with the value of the description attribute in the target entry. If there are multiple values for the specified attribute then multiple actualized DNs are produced for the bind DN and the first matching actualized DN is used.

The ($attr.attrName) macro expands only the attribute's value so that you can extract values from the targe DN and build RDNs with different attribute names and types. Since the ($attr.attrName) macro extracts only the attribute's value, it is possible to combine it with a type that is different than what is present in the target DN.