XML_Parser
XML parsing class based on PHP's bundled expat
This is an XML parser based on PHPs built-in xml extension.
It supports two basic modes of operation: "func" and "event". In "func" mode, it will look for a function named after each element (xmltag_ELEMENT for start tags and xmltag_ELEMENT_ for end tags), and in "event" mode it uses a set of generic callbacks.
Since version 1.2.0 there's a new XML_Parser_Simple class that makes parsing of most XML documents easier, by automatically providing a stack for the elements.
Furthermore its now possible to split the parser from the handler object, so you do not have to extend XML_Parser anymore in order to parse a document with it.
schst
Stephan Schmidt
schst@php-tools.net
lead
ssb
Stig Sæther Bakken
stig@php.net
developer
cox
Tomas V.V.Cox
cox@php.net
developer
1.2.6
2005-03-25
PHP License
stable
- fixed Bug #3949: reset does not return true on success as the documentation states
- implement Request #3905: replace "." with "_" in tagnames when using func mode
- added package2.xml file for PEAR 1.4.0
PEAR
1.1.0beta1
2004-04-16
PHP License
beta
- Fixed memory leaks parsing many documents or big files (mroch)
- Fixed setInput() url detection regex (mroch)
- Added setInputString() method, allowing strings to be passed as input (schst)
- Error handling rewritten (cox)
- Increased the overall parsing speed (cox)
- Added free() method (schst
- Added reset() method, that is called when parsing a document so it is possible to parse more than one document per instance (schst)
- Added error codes (schst)
- revamped documentation (cox, schst)
- Fixed bug #516 (url fopen and safe mode) (schst)
- Fixed bug #637 (dependency on PEAR) (schst)
- improved parse() and parseString() to be able to parse more than one document (schst)
- added PHP5 constructor (schst)
- moved xml_parser_create() to _create() for PHP5 compatibility (schst)
- added dependency on PHP 4.2
Thanks to Marshall Roch for commments and contributions and Tomas V.V. Cox
for applying a lot of fixes and improvements.
1.1.0beta2
2004-04-18
PHP License
beta
beta2:
- Fixed calling of __construct
beta1:
- Fixed memory leaks parsing many documents or big files (mroch)
- Fixed setInput() url detection regex (mroch)
- Added setInputString() method, allowing strings to be passed as input (schst)
- Error handling rewritten (cox)
- Increased the overall parsing speed (cox)
- Added free() method (schst
- Added reset() method, that is called when parsing a document so it is possible to parse more than one document per instance (schst)
- Added error codes (schst)
- revamped documentation (cox, schst)
- Fixed bug #516 (url fopen and safe mode) (schst)
- Fixed bug #637 (dependency on PEAR) (schst)
- improved parse() and parseString() to be able to parse more than one document (schst)
- added PHP5 constructor (schst)
- moved xml_parser_create() to _create() for PHP5 compatibility (schst)
- added dependency on PHP 4.2
Thanks to Marshall Roch for commments and contributions and Tomas V.V. Cox
for applying a lot of fixes and improvements.
1.1.0
2004-04-23
PHP License
stable
- Fixed memory leaks parsing many documents or big files (mroch)
- Fixed setInput() url detection regex (mroch)
- Added setInputString() method, allowing strings to be passed as input (schst)
- Error handling rewritten (cox)
- Increased the overall parsing speed (cox)
- Added free() method (schst
- Added reset() method, that is called when parsing a document so it is possible to parse more than one document per instance (schst)
- Added error codes (schst)
- revamped documentation (cox, schst)
- Fixed bug #516 (url fopen and safe mode) (schst)
- Fixed bug #637 (dependency on PEAR) (schst)
- improved parse() and parseString() to be able to parse more than one document (schst)
- added PHP5 constructor (schst)
- moved xml_parser_create() to _create() for PHP5 compatibility (schst)
- added dependency on PHP 4.2
Thanks to Marshall Roch for commments and contributions and Tomas V.V. Cox
for applying a lot of fixes and improvements.
1.2.0beta1
2004-05-17
PHP License
beta
added new class XML_Parser_Simple that provides a stack for the elements so the user only needs to implement one method to handle the tag and cdata.
1.2.0beta2
2004-05-24
PHP License
beta
XML_Parser:
- fixed bug with setMode()
- moved the init routines for the handlers in _initHandlers()
XML_Parser_Simple:
- fixed bug with character data (did not get parsed)
- fixed bug with setMode()
- some refactoring
- added getCurrentDepth() to retrieve the tag depth
- added addToData()
- added new example
1.2.0beta3
2004-05-25
PHP License
beta
- added setHandlerObj() which allows you to have the parser separate from the handler methods
1.2.0
2004-05-28
PHP License
stable
- added setHandlerObj() which allows you to have the parser separate from the handler methods
- fixed bug with setMode()
- moved the init routines for the handlers in _initHandlers()
- added new examples
- fixed test files so they do not fail because of different resource ids
XML_Parser_Simple:
- added new class XML_Parser_Simple that provides a stack for the elements so the user only needs to implement one method to handle the tag and cdata.
1.2.1
2004-10-04
PHP License
stable
fixed bug #2442: Call to "xmltag_ELEMENT_" not correctly managed in function funcEndHandler
1.2.2beta1
2004-12-22
PHP License
beta
- fixed small notice in XML_Parser::free(),
- fixed Bug #2939: bug in error routine leads to segmentation fault (raiseError does not free the internal resources anymore)
1.2.2
2004-12-22
PHP License
stable
- fixed small notice in XML_Parser::free(),
- fixed Bug #2939: bug in error routine leads to segmentation fault (raiseError does not free the internal resources anymore)
1.2.3
2005-01-17
PHP License
stable
- fixed a bug that occured when using 'func' mode and setHandlerObj() (schst)
- added default handlers for 'func' mode (schst)
1.2.4
2005-01-18
PHP License
stable
- fixed a bug in XML_Parser_Simple when trying to register more than the default handlers and a separate callback object (schst)
1.2.5
2005-02-26
PHP License
stable
- fixed Bug #3557 (removed $attribs parameter, which caused a notice)
- fixed Bug #3277 (remove obsolete ini_set('allow_url_fopen'))
1.2.6
2005-03-25
PHP License
stable
- fixed Bug #3949: reset does not return true on success as the documentation states
- implement Request #3905: replace "." with "_" in tagnames when using func mode