ID:               18033
 Updated by:       [EMAIL PROTECTED]
 Reported By:      gk at proliberty dot com
-Status:           Verified
+Status:           Bogus
 Bug Type:         XML related
 Operating System: linux 2.4.18
 PHP Version:      4.3.3RC2-dev 5.0.0b2
 New Comment:

Whitespace after the target are removed - normal behavior.
The linespacing (between the closing bug tag and the PI) is screwed up
as your xml is not well formed.

As far as whitespaces in the variable producing blank output, check the
return error. The xml declaration is probably screwed up to produce no
output. This was the only instance I could reproduce no output.


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

[2002-10-16 15:25:42] [EMAIL PROTECTED]

There is another issue here that I've come across while testing the
bug. If the variable containing the XML data contains any white space
such as \n, \r or ' ', the resulting output is blank.

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

[2002-06-27 20:54:15] gk at proliberty dot com

<?php
/* 
BUG in PHP 4.2.1:
Leading white space is lost inside processing-instruction data, prior
to first character after pi-target

output is:
bug
    php 4.2.1
bugpi_data=hello
end_pi_data

output SHOULD be:
bug
    php 4.2.1
bug

pi_data=
    hello
end_pi_data

*/

/// CODE TO REPRODUCE BUG

$q = '?';
$xmlSource = <<< EOD
<{$q}xml version="1.0"{$q}>
<bug>
    php 4.2.1
</bug>

<{$q}php
    hello
{$q}>
EOD;

$parser = xml_parser_create(); 
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); 
// this doesn't do anything:
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 0); 
xml_set_element_handler($parser, "start_element", "stop_element"); 
xml_set_character_data_handler($parser, "char_data"); 
xml_set_processing_instruction_handler( $parser, "_handlePI");
xml_parse( $parser, $xmlSource );

function _handlePI($parser, $target, $data) {
    echo("pi_data=".$data."end_pi_data"); exit;
}

function start_element($parser, $data, $attribs) {
echo $data;
}
function stop_element($parser, $data ) {
echo $data;

}
function char_data($parser, $data ) {
echo $data;
}
?>

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


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

Reply via email to