Hola brujoMX,
Estoy probando el modulo, te pongo mi opinion y sugerencia sobre algunos puntos:
- La funcion XML_GetElement:
INT XML_GetElement(INT document, XMLElement *e, STRING path)Actualmente la usas asi:
XML_GetElement(document, &eResolution, "NoName.desktop");
XML_GetElement(document, &eActor, "NoName.actor");
Seria mas "comoda" y intuitiva si fuera asi:
XMLElement *XML_GetElement(INT document, STRING path)Para poderla usar asi:
eResolution = XML_GetElement(document, "NoName.desktop");
eActor = XML_GetElement(document, "NoName.actor");
- La funcion XML_DeleteSon:
INT XML_DeleteSon(XMLElement *e, STRING son_name)
INT XML_DeleteSon(XMLElement *e, INT flag) -> (overload 1)
Si flag vale XML_ALL_ELEMENTS se eliminan todos los hijos del element e.Si flag no vale XML_ALL_ELEMENTS que pasaria ?
Creo que una mejor API seria asi:
INT XML_DeleteSon(XMLElement *e)
INT XML_DeleteSon(XMLElement *e, STRING son_name) -> (overload 1)Y tener esas posibilidades de codigo:
xml_deleteson(eResolution); // elimino todos los hijos del elemento "eResolution"
xml_deleteson(eResolution, "blabla"); // elimino el hijo "blabla" del elemento "eResolution"
xml_deleteson(xml_all_element); // elimino todos los hijos de todos los elementos -> problema, lo hace solo para un documiento, cual ?
xml_deleteson(xml_all_element, "blabla"); // elimino el hijo "blabla" de todos los elementos -> problema, lo hace solo para un documiento, cual ?
Como se vee, el ejemplo esta bien sino fuera que si usamos XML_ALL_ELEMENT, solo afecta a un documento, pero cual ?, quizas estaria bien que las funcion XML_DeleteSon tenga otro parametro (INT document) que identifique el documento.
- XML_unload:
Falta la referencia en el TXT.
- Plataformas:
Actualmente el modulo esta disponible solo para windows, tienes pensado porting a Linux y Mac ?
Por ahora es todo.