
Code point(s) Status Description
U+2041..U+206F no Various punctuation marks
U+2190..U+2BFF no Arrows
U+2FF0..U+3000 no Ideographic description characters and ideographic space
U+D800..U+F8FF no Surrogates and Private Use
U+FDD0..U+FDEF no Noncharacters
U+FFFE..U+FFFF no Noncharacters
U+F0000..U+10FFFF no Planes F and 10 (Private Use planes)
Although the definition of XML 1.1 names is more concise than the definition of XML
1.0 names and includes large ranges, implying extensibility (new Unicode characters
will be automatically allowed), it is still somewhat difficult to use. Some characters
(such as U+037E) have been excluded in a matter that looks random, though there are
reasons behind the exclusions (e.g., U+037E is canonical equivalent to semicolon).
Alternative Identifier Syntax
The Unicode standard also specifies an alternate, more permissive syntax for identifiers.
It is based on the idea of excluding some characters from use in identifiers and allowing
the rest. The characters excluded are those that are reserved for syntactic use, so that
identifiers can be distinguished from text.
Syntax analysis based on this approach can be implemented more efficiently, since the
exclusion set is fixed and small. Thus, as new characters are added to Unicode, they
automatically become available for use in identifiers. In fact, they already are: the ap-
proach means that even unassigned code points are ...