public function build($interchange)
{
$schema = new HTMLPurifier_ConfigSchema();
foreach ($interchange->directives as $d) {
$schema->add($d->id->key, $d->default, $d->type, $d->typeAllowsNull);
if ($d->allowed !== NULL) {
$schema->addAllowedValues($d->id->key, $d->allowed);
}
foreach ($d->aliases as $alias) {
$schema->addAlias($alias->key, $d->id->key);
}
if ($d->valueAliases !== NULL) {
$schema->addValueAliases($d->id->key, $d->valueAliases);
}
}
$schema->postProcess();
return $schema;
}