| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | <?php/** * Generic schema interchange format that can be converted to a runtime * representation (HTMLPurifier_ConfigSchema) or HTML documentation. Members * are completely validated. */class HTMLPurifier_ConfigSchema_Interchange{    /**     * Name of the application this schema is describing.     * @type string     */    public $name;    /**     * Array of Directive ID => array(directive info)     * @type HTMLPurifier_ConfigSchema_Interchange_Directive[]     */    public $directives = array();    /**     * Adds a directive array to $directives     * @param HTMLPurifier_ConfigSchema_Interchange_Directive $directive     * @throws HTMLPurifier_ConfigSchema_Exception     */    public function addDirective($directive)    {        if (isset($this->directives[$i = $directive->id->toString()])) {            throw new HTMLPurifier_ConfigSchema_Exception("Cannot redefine directive '$i'");        }        $this->directives[$i] = $directive;    }    /**     * Convenience function to perform standard validation. Throws exception     * on failed validation.     */    public function validate()    {        $validator = new HTMLPurifier_ConfigSchema_Validator();        return $validator->validate($this);    }}// vim: et sw=4 sts=4
 |