/** * Convert passed data to XML * @param mixed $data Data to convert * @return string Data converted to XML */ public static function to_xml($data) { $xml_template = '<?xml version="1.0" encoding="UTF-8"?> <package> {__(foreach($. AS @n => @v)__}{__apply branch(@n, @v)__}{__foreach)__} </package> {__(template branch(name, value)__} <{__@name__}> {__(if(is_array(@value))__} {__(foreach(@value AS @n => @v)__}{__apply branch(@n, @v)__}{__foreach)__} {__else__} <![CDATA[{__@value__}]]> {__if)__} </{__@name__}> {__template)__}'; $tmpl = new tmpl($xml_template, 'text'); return $tmpl->_parse($data); }