]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/HTMLPurifier/standalone/HTMLPurifier/ConfigSchema/Interchange.php
Release 6.5.0
[Github/sugarcrm.git] / include / HTMLPurifier / standalone / HTMLPurifier / ConfigSchema / Interchange.php
1 <?php
2
3 /**
4  * Generic schema interchange format that can be converted to a runtime
5  * representation (HTMLPurifier_ConfigSchema) or HTML documentation. Members
6  * are completely validated.
7  */
8 class HTMLPurifier_ConfigSchema_Interchange
9 {
10
11     /**
12      * Name of the application this schema is describing.
13      */
14     public $name;
15
16     /**
17      * Array of Directive ID => array(directive info)
18      */
19     public $directives = array();
20
21     /**
22      * Adds a directive array to $directives
23      */
24     public function addDirective($directive) {
25         if (isset($this->directives[$i = $directive->id->toString()])) {
26             throw new HTMLPurifier_ConfigSchema_Exception("Cannot redefine directive '$i'");
27         }
28         $this->directives[$i] = $directive;
29     }
30
31     /**
32      * Convenience function to perform standard validation. Throws exception
33      * on failed validation.
34      */
35     public function validate() {
36         $validator = new HTMLPurifier_ConfigSchema_Validator();
37         return $validator->validate($this);
38     }
39
40 }
41
42 // vim: et sw=4 sts=4