/** * Parses xml text using SAXY * @param Object A reference to the DOM document that the xml is to be parsed into * @param string The text to be parsed * @param boolean True if CDATA Section nodes are not to be converted into Text nodes * @return boolean True if the parsing is successful */ function parseSAXY(&$myXMLDoc, $xmlText, $preserveCDATA, $definedEntities) { require_once DOMIT_INCLUDE_PATH . 'xml_saxy_lite_parser.php'; $this->xmlDoc =& $myXMLDoc; $this->lastChild =& $this->xmlDoc; //create instance of SAXY parser $parser = new SAXY_Lite_Parser(); $parser->appendEntityTranslationTable($definedEntities); //not yet implemented in SAXY!!! $parser->preserveWhitespace = $this->xmlDoc->preserveWhitespace; $parser->xml_set_element_handler(array(&$this, 'startElement'), array(&$this, 'endElement')); $parser->xml_set_character_data_handler(array(&$this, 'dataElement')); if ($preserveCDATA) { $parser->xml_set_cdata_section_handler(array(&$this, 'cdataElement')); } $success = $parser->parse($xmlText); $this->xmlDoc->errorCode = $parser->xml_get_error_code(); $this->xmlDoc->errorString = $parser->xml_error_string($this->xmlDoc->errorCode); return $success; }
/** * @param string $xmlText * @return bool */ function ParseFromString($xmlText) { $result = false; if (extension_loaded('xml')) { $parser = xml_parser_create(); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false); xml_set_element_handler($parser, array(&$this, '_startElement'), array(&$this, '_endElement')); xml_set_character_data_handler($parser, array(&$this, '_charData')); $result = xml_parse($parser, $xmlText); xml_parser_free($parser); } else { $parser = new SAXY_Lite_Parser(); $parser->xml_set_element_handler(array(&$this, '_startElement'), array(&$this, '_endElement')); $parser->xml_set_character_data_handler(array(&$this, '_charData')); $result = $parser->parse($xmlText); } return $result; }
/** * Invokes SAXY to parse the XML text * @param string The XML text * @return boolean True if the parsing was successful */ function parseSAXY($xmlText) { //create instance of SAXY parser require_once DOM_XMLRPC_INCLUDE_PATH . 'xml_saxy_parser.php'; $parser = new SAXY_Lite_Parser(); $parser->xml_set_element_handler(array(&$this, 'startElement'), array(&$this, 'endElement')); $parser->xml_set_character_data_handler(array(&$this, 'dataElement')); $success = $parser->parse($xmlText); return $success; }
/** * @param string $xmlText * @return bool */ function ParseFromString($xmlText) { $result = true; if (extension_loaded('xml')) { $parser = xml_parser_create(); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false); xml_set_element_handler($parser, array(&$this, '_startElement'), array(&$this, '_endElement')); xml_set_character_data_handler($parser, array(&$this, '_charData')); $result = xml_parse($parser, $xmlText); xml_parser_free($parser); } else { include_once CAdminPanel::RootPath() . '/core/xmlsaxyliteparser.php'; $parser = new SAXY_Lite_Parser(); $parser->xml_set_element_handler(array(&$this, '_startElement'), array(&$this, '_endElement')); $parser->xml_set_character_data_handler(array(&$this, '_charData')); $result = $parser->parse($xmlText); } return $result; }