function svg_parse(xmlStr) {
	
	if(!is_struct(xmlStr))							return noone;
	if(!struct_has(xmlStr, "children")) 			return noone;
	if(struct_try_get(xmlStr, "type") != "root")	return noone;
	if(array_empty(xmlStr.children))				return noone;
	
	var svg_object = xmlStr.children[0];
	if(struct_try_get(svg_object, "type") != "svg") return noone;
	
	return new SVG().setContent(svg_object);
}