As I suspected (but I just checked), the choice between "a" and "an" depends on phonetics and not on spelling as such. Acronyms that are pronounced letter by letter (like XML, not like NASA) are generally treated based on the pronunciation of the first letter. (The url you provided doesn't deal with the case of acronyms.)
So you might as well let loose and say "an XML"... ;-)
s-t
PS.: here they are unequivocably for saying "an", whereas here they consider "an" more readable, but admit that some purists prefer "a"...
sub sk{ return unless $in = shift;
$in =~ s!(.)$!!; print $1; sk($in)}
sk("gro.alubaf@yehaf");