After another look at the XML Specification:
A tag consists of:
‘’ A Name consists of:
NameStartChar (NameChar)* A NameStartChar consists of:
“:” | [A-Z] | “_” | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] |
[#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] |
[#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD]
| [#x10000-#xEFFFF] A NameChar consists of:
NameStartChar | “-” | “.” | [0-9] | #xB7 | [#x0300-#x036F] |
[#x203F-#x2040] The @ sign is U+0040
So the @ sign is not valid in a NameChar or a NameStartChar, and thus
not valid in a Name.