+static void on_error( void * ctx, const char * msg, ...)
+{
+ struct _xmlError* err_ptr = xmlCtxtGetLastError(ctx);
+
+ switch( err_ptr->level )
+ {
+ case XML_ERR_WARNING:
+ mlt_log_warning( NULL, "XML parse warning: %s\trow: %d\tcol: %d\n",
+ err_ptr->message, err_ptr->line, err_ptr->int2);
+ break;
+ case XML_ERR_ERROR:
+ mlt_log_error( NULL, "XML parse error: %s\trow: %d\tcol: %d\n",
+ err_ptr->message, err_ptr->line, err_ptr->int2);
+ break;
+ default:
+ case XML_ERR_FATAL:
+ mlt_log_fatal( NULL, "XML parse fatal: %s\trow: %d\tcol: %d\n",
+ err_ptr->message, err_ptr->line, err_ptr->int2);
+ break;
+ }
+}
+