/** * OS Tube * * @version 1.0 * @copyright 2007 Auvica GmbH * * class originally taken from * http://www.withouthonor.com/obj_xml.html * */ class xml_doc { var $parser; // Object Reference to parser var $xml; // Raw XML code var $version; // XML Version var $encoding; // Encoding type var $dtd; // DTD Information var $entities; // Array (key/value set) of entities var $xml_index; // Array of object references to XML tags in a DOC var $xml_reference; // Next available Reference ID for index var $document; // Document tag (type: xml_tag) var $stack; // Current object depth (array of index numbers) function xml_doc($xml='') { // XML Document constructor $this->xml = $xml; // Set default values $this->version = '1.0'; $this->encoding = "ISO-8859-1"; $this->dtd = ''; $this->entities = array(); $this->xml_index = array(); $this->xml_reference = 0; $this->stack = array(); } function parse() { $this->parser = xml_parser_create($this->encoding); xml_set_object($this->parser, $this); xml_set_element_handler($this->parser, "startElement", "endElement"); xml_set_character_data_handler($this->parser, "characterData"); xml_set_default_handler($this->parser, "defaultHandler"); if (!xml_parse($this->parser, $this->xml)) { // Error while parsing document $err_code = xml_get_error_code($this->parser); $err_string = xml_error_string($this->parser); $err_line = xml_get_current_line_number($this->parser); $err_col = xml_get_current_column_number($this->parser); print "
Error Code: $err_code
$err_string
Line: $err_line
Column: $err_col