ID: 26188
Updated by: [email]moriyoshiphp.net[/email]
Reported By: sergey at bds dot ru
-Status: Open
+Status: Bogus
Bug Type: XML related
Operating System: Windows
PHP Version: 4.3.2
New Comment:

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the doentation available at
[url]http://www.php.net/manual/[/url] and the instructions on how to report
a bug at [url]http://bugs.php.net/how-to-report.php[/url]

The CDATA section and the ordinary text node are no different
semantically... How come you think the CDATA section should be
represented as a separate node...



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

[2003-11-10 03:04:20] sergey at bds dot ru

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

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

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

Description:
------------
When p_xml_into_structure ps an xml, it seems for me that it
skips the CDATA section.
Pr assumes the CDATA node as an usual value of its node.
But, it should be actually pd 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"));
$objPr = xml_pr_create();
xml_pr_set_option($objPr, XML_OPTION_CASE_FOLDING, 0);
xml_pr_set_option($objPr, XML_OPTION_SKIP_WHITE, 1);
xml_p_into_struct($objPr, $strXml, $arrPrValues,
$arrPrIndexes);
print_r($arrPrValues);

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 = doent.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 = doent.all;
var e = new Enumerator(aAll); while (!e.atEnd()) {> alert
(e.item()); e.moveNext(); }}
)

)


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


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