Since php 5.2.7 release, this function work properly with empty content :
Function call : dom_document->createCDATASection("");
- php < 5.2.7 will return an empty node like : <MyNode></MyNode>
- php >= 5.2.7 will return an empty node with CDATA like : <MyNode><![CDATA[]]></MyNode>
it can make problem if you make a xsd validation after it with node cannot be empty
DomDocument->create_cdata_section
(PHP 4 >= 4.1.0)
DomDocument->create_cdata_section — Create new cdata node
Description
domcdata DomDocument->create_cdata_section
( string $content
)
This function returns a new instance of class DomCData. The content of the cdata is the value of the passed parameter. This node will not show up in the document unless it is inserted with (e.g.) domnode_append_child().
The return value is FALSE if an error occurred.
See also domnode_append_child(), domdocument_create_element(), domdocument_create_text(), domdocument_create_attribute(), domdocument_create_processing_instruction(), domdocument_create_entity_reference(), and domnode_insert_before().
DomDocument->create_cdata_section
barthelemy dot seb at gmail dot com
06-Jan-2009 02:55
06-Jan-2009 02:55
webmaster at freecaradverts dot com
01-Apr-2004 03:55
01-Apr-2004 03:55
Beware if you're using the PEAR package XML_BEAUTIFIER. This causes the DOM processor to recognise any CDATA section nodes as text nodes. Better just to stick with the formatting option when using dump_file()......
laurent at rezoloco dot com
03-Sep-2003 08:05
03-Sep-2003 08:05
add CDATA SECTION with xml content in a xml document
$doc_in=domxml_open_mem('<?xml version="1.0"?><paragraphe></paragraphe>'));
$root=$doc_in->document_element ();
$node_txt_para=$root->new_child("txt_para","");
$cdata=$doc_in->create_cdata_section("<root><child num=1></child></root>");
$node_txt_para->append_child($cdata);
$dump=$doc_in->dumpmem();
print($dump);
