ID:               39565
 Updated by:       [EMAIL PROTECTED]
 Reported By:      sotiwin at freemail dot hu
 Status:           Open
-Bug Type:         Documentation problem
+Bug Type:         XML related
 Operating System: Windows XP
 PHP Version:      5.2.0
 New Comment:

Fortunately it wouldn't break BC.

If you want to put the whole string to one item you need to concatenate
it currently. If the whole string would be returned at once there's
nothing to concatenate so the result is the same.


Previous Comments:
------------------------------------------------------------------------

[2007-08-17 13:31:58] [EMAIL PROTECTED]

If it was changed we'd break BC. Documentation issue.

------------------------------------------------------------------------

[2007-08-17 11:53:35] [EMAIL PROTECTED]

This behavior is wrong - all character data should be passed at once.

------------------------------------------------------------------------

[2006-11-21 12:27:15] sotiwin at freemail dot hu

Really? How could I parse an xml with accented data? Can I get the
whole word in one piece?

------------------------------------------------------------------------

[2006-11-21 08:17:08] [EMAIL PROTECTED]

This is expected behavior, although we should definitely document this
in a bit better way - changing it to a documentation problem.

------------------------------------------------------------------------

[2006-11-21 02:16:31] sotiwin at freemail dot hu

Description:
------------
I want to parse an xml, with accentuated letters, but the parser cuts
the characters before the first accentuated letter of each
'characterData'.

I use Wamp5 with php 5.1.6.

Reproduce code:
---------------
<meta http-equiv="Content-type" value="text/html; charset=ISO-8859-1"
/>
<?php
        function characterData($parser, $data)
        {
                  echo $data.'1';
        }
        $data='<?xml version="1.0"
encoding="ISO-8859-1"?><book>Exampleéá</book>';
        echo 'XML input:<br>'.$data;
        
        $xml_parser = xml_parser_create('ISO-8859-1');
        xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1);
        xml_set_character_data_handler($xml_parser,'characterData');
        
        echo '<br>Parsed data:<br>';
        if (!xml_parse($xml_parser, $data)) 
        {
                die(sprintf("XML error: %s at line %d",
            xml_error_string(xml_get_error_code($xml_parser)),
            xml_get_current_line_number($xml_parser))); 
                                                
        }
        xml_parser_free($xml_parser);
?>

Expected result:
----------------
characterData could have run only once.

XML input:
Exampleéá
Parsed data:
Exampleéá1


Actual result:
--------------
characterData could have runs twice.
XML input:
Exampleéá
Parsed data:
Example1éá1


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=39565&edit=1

Reply via email to