Problème insoluble?

Xml + socket + thread = refaire un parser?

Le problème est de lire un flux xml sur une socket. J'aurais bien utilisé Sax mais vu que le nombre de paramètres des fonctions qu'on lui donne est limité, on est obligé d'utiliser des variables globales si on veut pouvoir changer des valeurs. Seulement, dans un contexte multithread, ça pose problème.

Si quelqu'un voit une autre solution que de refaire un parser à la main, je suis preneur.