namespace Test { public class Parser: Object { private MarkupParser _parser; private MarkupParseContext _context; construct { _parser = MarkupParser (); _parser.start_element = on_start_element; _parser.end_element = on_end_element; _parser.text = on_text; _parser.error = on_error; _context = new MarkupParseContext (_parser, 0, null, null); } public void parse (string data) { try { _context.parse (data, data.length); } catch (MarkupError error) {} } private void on_start_element (MarkupParseContext context, string element_name, string[] attribute_names, string[] attribute_values) throws MarkupError { } private void on_end_element (MarkupParseContext context, string element_name) throws MarkupError { } private void on_text (MarkupParseContext context, string text) throws MarkupError { } private void on_error (MarkupParseContext context, Error error) { } } }