Io ho fatto un lavoro simile tempo fa utilizzando lo standard SVG, basato su XML, per il quale le librerie più indicate sono fornite dal gruppo apache in un progetto chiamato batik (non ricordo la url, ma se cerchi batik su google lo trovi subito).
Sostanzialmente oltre a conoscere XML e in particolare guardarti lo standard SVG (che è abbastanza semplice) ti serve avere un po' di familiarità con DOM
Se trovi che ti soddisfi e vuoi altre informazioni mandami pure un pm, anche se sono solo un paio di volte che passo di qui e non so dirti quando ci ripasserò :P
![]()