However xml name can be any name. Why do you think :12 is not a valid xml? Do not think it is weird and it's not a valid xml name. It is not aways the case.
Did you do find your answer yet?
Here might be your answer: An XML Name (sometimes called simply a Name ) is a token that begins with a letter, underscore, or colon (but not other punctuation) continues with letters, digits, hyphens, underscores, colons, or full stops [periods], known as name characters.
Names beginning with the string "xml", or any string which would match ((`X'|`x')(`M'|`m')(`L'|`l')), are reserved.
Element and attribute names must be valid XML Names. (Attribute values need not be.) An NMTOKEN (name token) is any mixture of name characters (letters, digits, hyphens, underscores, colons, and periods).