public function export_to_xml($question, qformat_xml $format, $extra=null) { $extraquestionfields = $this->extra_question_fields(); if (!is_array($extraquestionfields)) { return false; } // Omit table name. array_shift($extraquestionfields); $expout=''; foreach ($extraquestionfields as $field) { $exportedvalue = $format->xml_escape($question->options->$field); $expout .= " <$field>{$exportedvalue}</$field>\n"; } $extraanswersfields = $this->extra_answer_fields(); if (is_array($extraanswersfields)) { array_shift($extraanswersfields); } foreach ($question->options->answers as $answer) { $extra = ''; if (is_array($extraanswersfields)) { foreach ($extraanswersfields as $field) { $exportedvalue = $format->xml_escape($answer->$field); $extra .= " <{$field}>{$exportedvalue}</{$field}>\n"; } } $expout .= $format->write_answer($answer, $extra); } return $expout; }