Attribute values can contain references to other attributes.
This is done similarly to how Perl, Bourne shell, and Makefiles use variables. The variables that are referenced will be expanded when the variable is used, not when it is defined. This means that attributes don't have to be defined in the order that they are used. Many default values use the attribute expansion mechanism to make configuration easier and more generic. In addition to variable expansion, it is also possible to include the contents of a file as the value of an attribute.