private static
  boolean targetIsXml(char[] buf, int off, int end) throws InvalidTokenException {
    boolean upper = false;
    if (end - off != 3)
      return false;
    switch (buf[off]) {
    case 'x':
      break;
    case 'X':
      upper = true;
      break;
    default:
      return false;
    }
    off += 1;
    switch (buf[off]) {
    case 'm':
      break;
    case 'M':
      upper = true;
      break;
    default:
      return false;
    }
    off += 1;
    switch (buf[off]) {
    case 'l':
      break;
    case 'L':
      upper = true;
      break;
    default:
      return false;
    }
    if (upper)
      throw new InvalidTokenException(off, InvalidTokenException.XML_TARGET);
    return true;
  }