XAMLName Grammar
From the XAML Specification
XAML defines the grammar XamlName to identify the set of legal symbolic identifiers used for types and properties.
String values that are of type XamlName must conform to the following grammar:
XamlName ::=
NameStartChar
(
NameChar
)*
NameStartChar ::=
LetterCharacter
| '_'
NameChar ::=
NameStartChar
|
DecimalDigit
|
CombiningCharacter
LetterCharacter ::= UnicodeLu | UnicodeLl | UnicodeLo | UnicodeLt | UnicodeNl
DecimalDigit ::= UnicodeNd
CombiningCharacter ::= UnicodeMn | UnicodeMc
Which assumes the following general category values as defined in the Unicode Character Database
Abbr. | Description |
---|---|
Lu |
Letter, Uppercase |
Ll |
Letter, Lowercase |
Lt |
Letter, Titlecase |
Lm |
Letter, Modifier |
Lo |
Letter, Other |
Mn |
Mark, Non-Spacing |
Mc |
Mark, Spacing Combining |
Nd |
Number, Decimal |
Nl |
Number, Letter |
XAML defines a second grammar, DottedXamlName, that is used for property elements. See PropertyPath XAML Syntax.
String values that are of type DottedXamlName must conform to the following grammar:
DottedXamlName ::= XamlName ‘.’ XamlName