ID:               26188
 User updated by:  sergey at bds dot ru
 Reported By:      sergey at bds dot ru
 Status:           Open
 Bug Type:         XML related
 Operating System: Windows
 PHP Version:      4.3.2
 New Comment:

In a "Expected result" section the second array with the supposed CDATA
Section should have value of the "tag" attribute "#cdata-section"


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

[2003-11-10 02:57:14] sergey at bds dot ru

Description:
------------
When parse_xml_into_structure parses an xml, it seems for me that it
skips the CDATA section. 
Parser assumes the CDATA node as an usual value of its node.
But, it should be actually parsed into a new child node - CDATA section

Reproduce code:
---------------
test.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<PlaceHolderList>
<![CDATA[
function fnShow()
{

}
]]>
</PlaceHolderList>

test.php
$strXml      = implode("", file("test.xml"));
$objParser   = xml_parser_create();
xml_parser_set_option($objParser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($objParser, XML_OPTION_SKIP_WHITE,   1);
xml_parse_into_struct($objParser, $strXml, $arrParserValues,
$arrParserIndexes);
print_r($arrParserValues);

Expected result:
----------------
Array
(
    [0] => Array
        (
            [tag] => PlaceHolderList
            [type] => complete
            [level] => 1
            [value] => 
    [1] => Array
        (
            [tag] => PlaceHolderList
            [type] => cdata
            [level] => 2
            [value] => function fnShow(){    var aAll = document.all;  
 var e = new Enumerator(aAll);    while (!e.atEnd())    {>        alert
(e.item());        e.moveNext();    }}
        )

)

Actual result:
--------------
Array
(
    [0] => Array
        (
            [tag] => PlaceHolderList
            [type] => complete
            [level] => 1
            [value] => function fnShow(){    var aAll = document.all;  
 var e = new Enumerator(aAll);    while (!e.atEnd())    {>        alert
(e.item());        e.moveNext();    }}
        )

)


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


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

Reply via email to