Read XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition Online
Authors: Michael Kay
A
character range
is either a
codepoint range
or a
single character
(
XMLCharIncDash
).
A
codepoint range
, for example,
a-z
, consists of two characters, or
single character escapes
, separated by a
-
character. The Unicode codepoint for the second character must be greater than or equal to the codepoint for the first. Specifying a codepoint range is equivalent to listing all the Unicode characters with codepoints in that range, for example
[0-9]
is equivalent to
[0123456789]
.
A
single character
is any character permitted by the XML specification, other than the three characters listed:
[
,
]
, and
\
. There is an additional rule not shown in the grammar: if
∧
appears at the start of a character group, then it is taken to indicate that the group is a negative character group. This means that it can't appear at the start of a positive character group, except in the case where the positive character group is part of a negative character group. (You can't have a double negative, so
[
∧
∧
]
matches any character except a circumflex.)