As mentioned in another page,
the configuration file is read in two passes:
- The first pass considers only the zeroth parameter group
These parameters are entered in a dictionary.
- The second pass selects one parameter group among the remaining
The parameters from the selected group update the dictionary.
If a key duplicates one from the zeroth group,
its value replaces the previous one.
You can take advantage of these two passes by writing parameters applicable
to almost all trees in the zeroth parameter group.
The value needed by the other trees is just repeated
in the relevant tree specific parameter groups.
Example with the character set for the tree:
( { # Global parameter group
...
, 'encoding' => 'iso-8859-1' # Default character encoding
...
}
, { 'treename' => 'tree-1' # Using default encoding
... # No 'encoding' parameter here
}
, { 'treename' => 'tree-2'
, 'encoding' => 'utf-8' # Use Unicode for this one
...
}
, { 'treename' => 'tree-3' # Again default encoding
... # No 'encoding' parameter here
}
)
You can do that for any parameter,
but be careful with the database parameters
and those related to the URLs.