62 xml_set_object($a_xml_parser,$this);
63 xml_set_element_handler($a_xml_parser,
'handlerBeginTag',
'handlerEndTag');
64 xml_set_character_data_handler($a_xml_parser,
'handlerCharacterData');
77 $this->default_handler = $a_default_parser;
90 $this->element_handlers[$a_element] = $a_parser;
91 $this->handlers_in_use[$a_element] =
false;
114 if(isset($this->element_handlers[$a_name]) or $this->handler_in_use)
116 if(!$this->handler_in_use)
118 $this->handler_in_use = $this->element_handlers[$a_name];
121 $this->current_handler = $this->handler_in_use;
122 return $this->current_handler->handlerBeginTag($a_xml_parser,$a_name,$a_attribs);
125 $this->handler_in_use =
false;
127 return $this->default_handler->handlerBeginTag($a_xml_parser,$a_name,$a_attribs);
138 if(isset($this->element_handlers[$a_name]))
140 $this->handler_in_use =
false;
141 $this->current_handler = $this->element_handlers[$a_name];
142 return $this->element_handlers[$a_name]->handlerEndTag($a_xml_parser,$a_name);
144 elseif($this->handler_in_use)
146 $this->current_handler = $this->handler_in_use;
147 return $this->current_handler->handlerEndTag($a_xml_parser,$a_name);
149 $this->handler_in_use =
false;
151 return $this->default_handler->handlerEndTag($a_xml_parser,$a_name);
162 return $this->current_handler->handlerCharacterData(a_xml_parser,$a_data);