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 12:55
06-Jan-2009 12:55
webmaster at freecaradverts dot com
01-Apr-2004 12:55
01-Apr-2004 12: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 05:05
03-Sep-2003 05: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);
