private int readName(boolean checkEscaped) throws IOException { StringBuilder builder = (checkEscaped && escapedTags!=null) ? new StringBuilder() : null; int ch = next(); if (builder!=null) builder.append((char)ch); if (!isFirstIdChar(ch)) return MISMATCH; ch = next(); if (builder!=null) builder.append((char)ch); while(isIdChar(ch)) { ch=next(); if (builder!=null) builder.append((char)ch); } if (ch!=-1) { push(ch); } //strip off the trailing > if (builder!=null && escapedTags.contains(builder.substring(0, builder.length() - 1))){ return MISMATCH; } return MATCH; }
if (isIdChar(ch)) { sb.append((char)ch); } else if (ch=='/') {
if (!isFirstIdChar(ch)) return MISMATCH; ch = next(); while(isIdChar(ch) && ((numRead - lastMark) < safeReadAheadLimit)){ ch=next();