3 * PEAR_ChannelFile_Parser for parsing channel.xml
9 * @author Greg Beaver <cellog@php.net>
10 * @copyright 1997-2009 The Authors
11 * @license http://opensource.org/licenses/bsd-license.php New BSD License
12 * @version CVS: $Id: Parser.php 313023 2011-07-06 19:17:11Z dufuz $
13 * @link http://pear.php.net/package/PEAR
14 * @since File available since Release 1.4.0a1
18 * base xml parser class
20 require_once 'PEAR/XMLParser.php';
21 require_once 'PEAR/ChannelFile.php';
23 * Parser for channel.xml
26 * @author Greg Beaver <cellog@php.net>
27 * @copyright 1997-2009 The Authors
28 * @license http://opensource.org/licenses/bsd-license.php New BSD License
29 * @version Release: 1.9.4
30 * @link http://pear.php.net/package/PEAR
31 * @since Class available since Release 1.4.0a1
33 class PEAR_ChannelFile_Parser extends PEAR_XMLParser
39 function setConfig(&$c)
42 $this->_registry = &$c->getRegistry();
45 function setLogger(&$l)
50 function parse($data, $file)
52 if (PEAR::isError($err = parent::parse($data, $file))) {
56 $ret = new PEAR_ChannelFile;
57 $ret->setConfig($this->_config);
58 if (isset($this->_logger)) {
59 $ret->setLogger($this->_logger);
62 $ret->fromArray($this->_unserializedData);
63 // make sure the filelist is in the easy to read format needed
64 $ret->flattenFilelist();
65 $ret->setPackagefile($file, $archive);