Frederic, thanks for the update.
About importing XML into Maxima, it seems like the most
useful representation would be a Maxima expression, instead
of a string. For example '((MPLUS) $X $Y $Z) instead of "x+y+z".
Since XML_IMPORT returns a tree of tags, it seems like it would
be straightforward to construct a corresponding Maxima expression
tree. E.g. in the code to handle plus in math_import.lisp, something like
(cons '(mplus) (mapcar #'make-maxima-symbol children))
where MAKE-MAXIMA-SYMBOL could be a function which
extracts a symbol name, smashes $ onto it, and interns it.
All the best,
Robert Dodier