Re: [PHP-XML-DEV] xml error handling for 5.1
[email protected] (Christian Stocker) Fri, 04 Feb 2005 18:26:24 +0100
| Newsgroups | php.xml.dev |
|---|---|
| Message-ID | <[email protected]> |
On 4.2.2005 18:01 Uhr, Rob Richards wrote:
> Christian Stocker wrote:
>
>>
>> I did some first, very basic tests. Looks promising. But 2 questions:
>>
>> - Can I only get the last error? Shouldn't I be able to get more?
>> Usually libxml2 throws more than one error during parsing (if there's
>> an error) and it would be nice, if I could get all of them. But
>> looking quickly at your code and the one from libxml2, you're using
>> the global error functions of libxml2, which only stores the really
>> last one. Too bad, if libxml2 would use a stack-thingie for that as
>> well, it would have been easy.
>
>
> Right now you can only get the last error. I wanted to start simple it
> could at least get it into the 5.1 release and make sure this is the way
> the new error stuff should go.
Fair enough. But then we should at least make sure, that the API stays
the same for future releases.
while ($error = libxml_get_last_error()) {
/* do your stuff here */
libxml_clear_last_error();
}
should (in the future, when we have the stack), loop through all errors,
but for now only shows the last one (which is fine).
libxml_clear_errors() would clear the whole stack. Therefore, the only
thing, we would have to do right now, is to add the
libxml_clear_last_error() function, which for now is an "alias" to
libxml_clear_errors().
Just my 2 cents ;)
> Updated patch. You can now do:
> $old_state = libxml_use_interal_errors(false); and well as
> $current_state = libxml_use_interal_errors();
great. many thanks
chregu
>
> Rob
--
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71
http://www.bitflux.ch | [email protected] | gnupg-keyid 0x5CE1DECB