Character Range
A character range R identifies a set of characters C(R) containing all XML characters with Universal Character Set (UCS) code points in a specified range.
Syntax
charRange ::= seRange | XmlCharRef | XmlCharIncDash
Syntax
seRange ::= charOrEsc '-' charOrEsc
Syntax
XmlCharRef ::= ( '&#' [0-9]+ ';' ) | ('&#x' [0-9a-fA-F]+ ';' )
Syntax
charOrEsc ::= XmlChar | SingleCharEsc
Syntax
XmlChar ::= [^\#x2D#x5B#x5D]
Syntax
XmlCharIncDash ::= [^\#x5B#x5D]
Remarks
A single XML character is a character range that identifies the set of characters containing only itself. All XML characters are valid character ranges expect as follows:
The left bracket ([), right bracket (]), and backslash (\) character range are not valid character ranges.
The caret (^) character is a valid character range at the beginning of a positive character group only if it is part of a negative character group.
The subtraction (–) character is a valid character range only at the beginning or end of a positive character group.
A character range may also be written in the form s-e, identifying the set that contains all XML characters with UCS code points that are greater than or equal to the code point of s, but not greater than the code point of e.
The form s-e is a valid character range if:
s is a single character escape, or an XML character.
s is not "\".
s is the first character in a character class expression, then s is not "^".
e is a single character escape, or an XML character.
e is not "\" or "[;".
the code point of e is greater than or equal to the code point of s.
Note
The code point of a single character escape is the code point of the single character in the set of characters that it identifies.
See Also
Reference
XML Schema Regular Expressions
XML Schema Regular Expressions Reference Chart
Negative Character Group
Positive Character Group