/** * XML response generator. * will perform character transformation according to parameters. * * @access public * @param object $node a cpaint_node object * @return string */ function toXML(&$node) { $return_value = '<' . $node->get_name(); // handle attributes foreach ($node->attributes as $name => $value) { if ($value != '') { $return_value .= ' ' . $name . '="' . $node->get_attribute($name) . '"'; } } // end: foreach $return_value .= '>'; // handle subnodes foreach ($node->composites as $composite) { $return_value .= cpaint_transformer::toXML($composite); } $return_value .= cpaint_transformer::encode($node->get_data(), $node->get_encoding()) . '</' . $node->get_name() . '>'; return $return_value; }