@Override public State next(char c, ParserData data, XMLParser xmlparser) { State result = INVALID_END; if (Character.isLetterOrDigit(c) || Character.isWhitespace(c)) { data.attributeName = data.getAttributeName() + c; result = TAG_NAME; } if (c == '=') { result = ATTR_NAME; } if (c == '>') { xmlparser.onOpenTag(data); result = NODE; } if (c == '/') { result = CLOSE_TAG; } return result; }