ID:               32711
 Updated by:       [EMAIL PROTECTED]
 Reported By:      phpspam at talkingspider dot com
-Status:           Open
+Status:           Wont fix
 Bug Type:         DOM XML related
 Operating System: Fedora C2
 PHP Version:      4.3.9
 New Comment:

Try search for CDATA..



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

[2005-04-17 21:07:51] phpspam at talkingspider dot com

Can you give me a link to a previous bug report explaining why this
won't be fixed?  (Obviously?)

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

[2005-04-17 04:25:05] [EMAIL PROTECTED]

This has been covered in previous bug reports on why it wont be changed

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

[2005-04-17 03:23:33] phpspam at talkingspider dot com

No, they are NOT identical. It's called a canonical value. Think back
to your computer science education.  

http://www.w3.org/TR/2001/REC-xml-c14n-20010315

The official spec for DOM does specify that CDATA nodes are labelled as
such in the DOM.  In other words, in the dom,  CDATA nodes are CDATA
nodes and text nodes are text nodes, they are not the same thing.  So,
for example, you should be able to crawl the dom and spot CDATA nodes.


So, either one of two things are still broken: Either your parsing
function is deciding to convert CDATA into text nodes, in which case,
when the DOM is built, it never has CDATA nodes in it, even though they
are present in the input xml.  Or, your output function is deciding to
convert all the CDATA nodes in the DOM into text nodes.  In either
case, that's a bug.  In perl I can choose to preserve CDATA elements
when I output.  In PHP I can't.  

http://www.w3schools.com/dom/dom_cdatasection.asp

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

[2005-04-16 02:21:16] [EMAIL PROTECTED]

I don't understand. If you're saying that:

<root><![CDATA[ Hello & Goodbye]></root>

is turned into 

<root>Hello &amp; Goodbye</root>

Then this is not a bug. These are identical in XML and the processor
can choose either representation.

It's just like <root></root> vs. <root/>. You cannot control this and
no XML parser should care when consuming them.

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

[2005-04-15 04:34:01] phpspam at talkingspider dot com

Description:
------------
Read in an xml file that has CDDATA elements using domxml_open_file and
then write it out using DomDocument->dump_file.  The CDATA elements get
turned into text elements.




Reproduce code:
---------------
//Read in an xml file that has CDDATA elements using //domxml_open_file
and then write it out using //DomDocument->dump_file.  The CDATA
elements get turned into text elements.


Expected result:
----------------
There's no justifiable reason why it should convert CDATA elements to
text elements. 


Actual result:
--------------
The CDATA elements get turned into text elements.


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


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

Reply via email to