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 & 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