I do. find evaluates * for -name and -path. It wouldn't make sense to put the * outside quotes -- how could the shell expand filenames find hasn't found yet?
Notice that you are trying to put single quotes inside single quotes. That's not going to work -- it's going to interpret the second single quote as the end of the first. It sees two quoted sections and an unquoted part, not one quoted section inside another quoted section.
You can't escape things inside single quotes either, so I don't think it's possible to put single quotes inside single quotes.
Try putting the outer expression in double-quotes:
alias xmll "find . -type f -name 'T*.xml' > xml_list.txt"
Thanks! Putting another type of quote characters around the "T*.xml" solved the problem. I tried `T*.xml` before and that didn't work. So I didn't know the solution was so easy. Thanks a lot!