as with g_markup_collect_string, but expects a parameter of type (char **) and strdups the returned pointer.
The pointer must be freed with g_free