code: protected int skipFullName(char c)
          throws XMLStreamException
      {
          if (!isNameStartChar(c)) {
              --mInputPtr;
              return 0;
          }
  
          /* After which there may be zero or more name chars
           * we have to consider
           */
          int count = 1;
          while (true) {
              c = (mInputPtr < mInputEnd) ?
                  mInputBuffer[mInputPtr++] : getNextChar(SUFFIX_EOF_EXP_NAME);
              if (c != ':' && !isNameChar(c)) {
                  break;
              }
              ++count;
          }
          return count;
      }
docs: Note: does not check for number of colons, amongst other things.
  Main idea is to skip through what superficially seems like a valid
  id, nothing more. This is only done when really skipping through
  something we do not care about at all: not even whether names/ids
  would be valid (for example, when ignoring internal DTD subset).
  
  @return Length of skipped name.