It's not misbehaving and it's not illegal xml. It's a well documented fact that the character data function may be called more than once. The normal programming practice is to put the strings that are given to you at each call into a buffer. Then you write code in the end handler to process it, and to reset the buffer after processing.
Justin Farnsworth wrote:
This is normal. You have illegal XML there, as it should be in <![CDATA[ value ]]>. I have run across this, and have to clean it up with an awk script. Ampersand is a no-no.
Just running xmllint on the file will tell you about the problem(s).
_justin
Jeff Bearer wrote:
I've come across this frustrating behavior with the XML parser when it reads an escaped ampersand (&)
If the xml being evaluated is: <COLORS>Blue, Green & Red</COLORS>
it calls the character data handler 3 times: the first time the $data is "Blue, Green " the second time is "&" and the third time is " Red"
Needless to say this is screwing up my parser, and the stuff I'm doing won't make it easy to add this allowance. I'm hoping somebody can point out a way to turn off this behavior. If this is the proper operation, is it documented anywhere? I've been unable to find it.
-- Jeff Bearer, RHCE Webmaster, PittsburghLIVE.com
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
--
Raditha Dissanayake ------------------------------------------------------------- http://www.radinks.com/sftp/ Lean and mean Secure FTP applet with Graphical User Inteface. just 150 Kilo Bytes
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php