The following is a summary of the definition of the XML 1.0 data type ID. We express the syntax using an extended form of BNF notation:
NCNameChar ::= letter | digit | '.' | '-' | '_' | ':' | CombiningChar | Extender
ID ::= ( letter | '_' | ':' ) NCNameChar*
The characters (
and )
are used for grouping, the
character *
means "zero or more times", and the character
|
indicates logical "or". The production letter
consists of the basic upper and lower case alphabetic characters of the
Latin alphabet along with a large number of related characters defined by
Unicode 2.0; similarly, the production digit
consists of
the numerals 0..9
along with related Unicode 2.0
characters. The CombiningChar
production is a list of
characters that add such things as accents to the preceding character. (For
example, the Unicode character \#x030A
when combined with
a
produces \aa
.) The Extender
production is a list of characters that extend the shape of the preceding
character. Please consult the XML 1.0
specification for the complete definitions of letter
,
digit
, CombiningChar
, and Extender
.