90     public function prepare($config, $context) {
 
   91         $this->htmlDefinition = $config->getHTMLDefinition();
 
   97         $this->currentNesting =& $context->get(
'CurrentNesting');
 
   98         $this->inputTokens    =& $context->get(
'InputTokens');
 
   99         $this->inputIndex     =& $context->get(
'InputIndex');
 
  112         $def = $config->getHTMLDefinition();
 
  113         foreach ($this->needed as $element => $attributes) {
 
  114             if (is_int($element)) $element = $attributes;
 
  115             if (!isset($def->info[$element])) 
return $element;
 
  116             if (!is_array($attributes)) 
continue;
 
  117             foreach ($attributes as 
$name) {
 
  118                 if (!isset($def->info[$element]->attr[$name])) 
return "$element.$name";
 
  130         if (!empty($this->currentNesting)) {
 
  131             $parent_token = array_pop($this->currentNesting);
 
  132             $this->currentNesting[] = $parent_token;
 
  133             $parent = $this->htmlDefinition->info[$parent_token->name];
 
  135             $parent = $this->htmlDefinition->info_parent_def;
 
  137         if (!isset($parent->child->elements[
$name]) || isset($parent->excludes[
$name])) {
 
  141         for ($i = count($this->currentNesting) - 2; $i >= 0; $i--) {
 
  142             $node = $this->currentNesting[$i];
 
  143             $def  = $this->htmlDefinition->info[$node->name];
 
  144             if (isset($def->excludes[
$name])) 
return false;
 
  158         if ($i === null) $i = $this->inputIndex + 1;
 
  160         if (!isset($this->inputTokens[$i])) 
return false;
 
  161         $current = $this->inputTokens[$i];
 
  173         if ($nesting === null) $nesting = 0;
 
  176             if ($nesting <= 0) 
return false;
 
  191         if ($i === null) $i = $this->inputIndex - 1;
 
  193         if ($i < 0) 
return false;
 
  194         $current = $this->inputTokens[$i];
 
  209         $current = $this->inputTokens[$i];