Identifiers in HTML, CSS, XML

Identifiers are element and attribute names, CSS selectors and properties, etc.

In HTML, all identifiers are restricted to a subset of ASCII (-_:.A-Za-z0-9). Case insensivity is the rule, but there are exceptions

In CSS, identifiers are almost unrestricted (-A-Za-z0-9 + any char > 160); in fact, all identifers are ASCII. Almost everything is case-insensitive.

In XML, identifiers may be formed from a very large subset of Unicode; non-ASCII identifiers are widely used. Everything is case-sensitive.

In XHTML, the identifiers are those of HTML in lower-case and everything is case-sensitive (from XML).