diff options
Diffstat (limited to 'library/HTMLPurifier/ChildDef.php')
-rw-r--r-- | library/HTMLPurifier/ChildDef.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/library/HTMLPurifier/ChildDef.php b/library/HTMLPurifier/ChildDef.php new file mode 100644 index 000000000..c5d5216da --- /dev/null +++ b/library/HTMLPurifier/ChildDef.php @@ -0,0 +1,48 @@ +<?php + +/** + * Defines allowed child nodes and validates tokens against it. + */ +abstract class HTMLPurifier_ChildDef +{ + /** + * Type of child definition, usually right-most part of class name lowercase. + * Used occasionally in terms of context. + */ + public $type; + + /** + * Bool that indicates whether or not an empty array of children is okay + * + * This is necessary for redundant checking when changes affecting + * a child node may cause a parent node to now be disallowed. + */ + public $allow_empty; + + /** + * Lookup array of all elements that this definition could possibly allow + */ + public $elements = array(); + + /** + * Get lookup of tag names that should not close this element automatically. + * All other elements will do so. + */ + public function getAllowedElements($config) { + return $this->elements; + } + + /** + * Validates nodes according to definition and returns modification. + * + * @param $tokens_of_children Array of HTMLPurifier_Token + * @param $config HTMLPurifier_Config object + * @param $context HTMLPurifier_Context object + * @return bool true to leave nodes as is + * @return bool false to remove parent node + * @return array of replacement child tokens + */ + abstract public function validateChildren($tokens_of_children, $config, $context); +} + +// vim: et sw=4 sts=4 |