XML encoding names

Is there some reason why XML encoding names are different from IANA
registered MIME charset names?  There seem some pretty gratuitous
differences between the preferred MIME names and names listed in the spec.
For example,

XML Name        Preferred MIME name
ISO8859-1       ISO-8859-1
Shift-JIS       Shift_JIS
EUC-JIS         EUC-JP

There are also some syntactic differences between charset names and encoding
names.  Charset names are stated to be case insensitive, and allow any
printable US ASCII character, although in the currently registered names the
only two characters that occur frequently that aren't allowed in XML
encoding names are underscore and colon.