if (isTerminatingCharacter) {
if (i==maxEnd) {
if (source.logger.isErrorEnabled()) log(source,logType,tagName,logBegin,"terminated in the middle of a quoted attribute value",i);
if (reachedMaxErrorCount(++errorCount,source,logType,tagName,logBegin,maxErrorCount)) return null;
valueSegment=new Segment(source,currentBegin,i);
parsingState=ParsingState.BETWEEN_ATTRIBUTES;
} else if (ch=='<' && quote==' ') {
if (source.logger.isErrorEnabled()) log(source,logType,tagName,logBegin,"rejected because of '<' character in unquoted attribute value",i);
return null;
if (source.logger.isErrorEnabled()) log(source,logType,tagName,logBegin,"rejected because of '<' character in attribute name",i);
return null;
if (source.logger.isErrorEnabled()) log(source,logType,tagName,logBegin,"contains attribute name with invalid character",i);
if (reachedMaxErrorCount(++errorCount,source,logType,tagName,logBegin,maxErrorCount)) return null;
parsingState=ParsingState.START_VALUE;
} else if (ch=='<') {
if (source.logger.isErrorEnabled()) log(source,logType,tagName,logBegin,"rejected because of '<' character after attribute name",i);
return null;
} else {
if (quote!=' ') {
if (source.logger.isErrorEnabled()) log(source,logType,tagName,logBegin,"has missing whitespace after quoted attribute value",i);
if (source.logger.isErrorEnabled()) log(source,logType,tagName,logBegin,"rejected because of '<' character",i);
return null;