12.2 Event-based parsingThis is NOT the latest copy of this book; click here for the latest version.
Expat, being an event-based parser, processes your XML document and reports events through callback functions you specify. To give you an idea how it works, consider the following XML:
<lie>
ASP is better than PHP
</lie>
As you can see, the XML contains only one element, "<lie>", which is the root element. When this element is encountered by Expat, it calls the function you specified for the start of an element, passing in the parameter "lie". Then it calls the function you specified for handling character data, passing the parameter "ASP is better than PHP". Finally, it reads "</lie>", and calls the function you provided for closing elements, passing in "lie" again.
When PHP calls your function for starting element, it also passes in an array of attributes that parameter has. This is shown below:
<lie type="statistic">
ASP is 20% more popular than PHP
</lie>
In that example, PHP would pass an array to your start element function containing one element - "type", with the value "statistic".
Now you have an idea of how an event-based parser works, we can take a look at how PHP implements Expat.
|
Want to see this stuff in print? PHP in a Nutshell takes the core topics covered here, adds in thousands of edits from the editorial team and myself, and combines them to make an unbeatable reference for PHP programmers at all levels.
My latest book has hundreds more tips on how to use PHP, Apache, and MySQL, plus Perl, Python, shell scripts, performance tuning, and more!
|