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 — Cria um novo node cdata
Descrição
domcdata DomDocument->create_cdata_section
( string $content
)
Esta função retorna uma nova instância da classe DomCData. O conteúdo do cdata é o valor do parâmetro passado. Este nó não será exibido no documento a não ser que ele seja inserido, por exemplo, com domnode_append_child().
O valor do retorno é FALSE se um erro ocorrer.
Veja também domnode_append_child(), domdocument_create_element(), domdocument_create_text(), domdocument_create_attribute(), domdocument_create_processing_instruction(), domdocument_create_entity_reference(), e domnode_insert_before().
DomDocument->create_cdata_section
barthelemy dot seb at gmail dot com
06-Jan-2009 10:55
06-Jan-2009 10:55
webmaster at freecaradverts dot com
01-Apr-2004 10:55
01-Apr-2004 10: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 03:05
03-Sep-2003 03: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);
