ID:               41740
 Updated by:       [EMAIL PROTECTED]
 Reported By:      dgrimes at scvl dot com
-Status:           Feedback
+Status:           Bogus
 Bug Type:         *XML functions
 Operating System: Compaq Tru64
 PHP Version:      5.2.3
 New Comment:

.


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

[2007-06-25 18:02:54] [EMAIL PROTECTED]

Yes, the problem is definitely related to libxml2, not PHP.

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

[2007-06-21 20:57:59] dgrimes at scvl dot com

I loaded latest of both libxml2 (2.6.29) and libxslt (1.1.20) and I
still have the same problem. Should I be contacting the developers of
those libraries rather than you? If you're thinking the problem is with
libxml2 then perhaps the problem is not with PHP at all.

Thanks,
Dean

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

[2007-06-20 09:26:25] [EMAIL PROTECTED]

Try updating libxml2. I cant reproduce this (testing with 2.6.26 and
higher).

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

[2007-06-19 17:49:12] dgrimes at scvl dot com

Description:
------------
I'm getting the following error:

XML error: XML declaration not finished at line 1

Here is the xml code:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<note>
        <to>Tove</to>
        <from>Jani</from>
        <heading>Reminder</heading>
        <body>Don't forget me this weekend!</body>
</note>

However, if I remove line one completely the code works but I can't
have any reference to <?xml .... ?>.

Reproduce code:
---------------
I took this code from the php.net xml examples. Everyghing works OK in
php4 but not php5.

Here is the test program:

<?php
$file = "test.xml";
$depth = array();

function startElement($parser, $name, $attrs) 
{
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth[$parser]++;
}

function endElement($parser, $name) 
{
    global $depth;
    $depth[$parser]--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        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:
----------------
NOTE
  TO
  FROM
  HEADING
  BODY


This was run with the above code without the <?xml ... ?> line.

Actual result:
--------------
XML error: XML declaration not finished at line 1

Run with the same code with the <?xml ... ?> line.


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


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

Reply via email to