
Configuration

Configuration is documented on a per-use case: if a class uses a certain
value from the configuration object, it has to define its name and what the
value is used for.  This means decentralized configuration declarations that
are nevertheless error checking and a centralized configuration object.

Directives are divided into namespaces, indicating the major portion of
functionality they cover (although there may be overlaps).  Please consult
the documentation in ConfigDef for more information on these namespaces.

Since configuration is dependant on context, internal classes require a
configuration object to be passed as a parameter.  (They also require a
Context object). A majority of classes do not need the config object,
but for those who do, it is a lifesaver.

Definition objects are complex datatypes influenced by their respective
directive namespaces (HTMLDefinition with HTML and CSSDefinition with CSS).
If any of these directives is updated, HTML Purifier forces the definition
to be regenerated.

    vim: et sw=4 sts=4
