code: protected final boolean isNameChar(char c)
      {
          // First, let's handle 7-bit ascii range
          if (c <= 0x7A) { // 'z' or earlier
              if (c >= 0x61) { // 'a' - 'z' are ok
                  return true;
              }
              if (c <= 0x5A) {
                  if (c >= 0x41) { // 'A' - 'Z' ok too
                      return true;
                  }
                  // As are 0-9, '.' and '-'
                  return (c >= 0x30 && c <= 0x39) || (c == '.') || (c == '-');
              }
              return (c == 0x5F); // '_' is ok too
          }
          return mXml11 ? XmlChars.is11NameChar(c) : XmlChars.is10NameChar(c);
      }
docs: Method that can be used to check whether specified character
  is a valid character of an XML 1.0/1.1 name as any other char than
  the first one; except that colon (:) is not recognized as valid here:
  caller has to verify it separately (since it generally affects namespace
  mapping of a qualified name).