字符范围
字符范围 R 标识 C(R) 字符集,该字符集包含所有通用字符集 (UCS) 代码数据点处于指定范围内的 XML 字符。
语法
charRange ::= seRange | XmlCharRef | XmlCharIncDash
语法
seRange ::= charOrEsc '-' charOrEsc
语法
XmlCharRef ::= ( '&#' [0-9]+ ';' ) | ('&#x' [0-9a-fA-F]+ ';' )
语法
charOrEsc ::= XmlChar | SingleCharEsc
语法
XmlChar ::= [^\#x2D#x5B#x5D]
语法
XmlCharIncDash ::= [^\#x5B#x5D]
注释
单个 XML 字符是一个字符范围,标识只包含自身的字符集。除以下情况之外,所有 XML 字符都是有效字符范围:
左中括号 ([)、右中括号 (]) 和反斜杠 (\) 字符范围不是有效字符范围。
只有当插入符号 (^) 字符是负字符组的一部分时,插入符号 (^) 字符才在正字符组的开头处是有效字符范围。
减号 (-) 字符只在正字符组的开头或结尾处才是有效字符范围。
字符范围还可以 s-e 的格式编写,标识的字符集包含所有 UCS 代码数据点大于或等于 s 的代码数据点但不大于 e 的代码数据点的 XML 字符。
在以下情况下 s-e 格式是有效字符范围:
s 是单个字符转义符,或 XML 字符。
s 不是“\”。
s 是字符类表达式中的第一个字符,且 s 不是“^”。
e 是单个字符转义符,或 XML 字符。
e 不是“\”或“[;”。
e 的代码数据点大于或等于 s 的代码数据点。
备注
单个字符转义符的代码数据点在所标识的字符集中是单个字符的代码数据点。