if (content && fDocumentHandler != null && fElementCount >= fElementDepth) {
fEndLineNumber = fCurrentEntity.getLineNumber();
fEndColumnNumber = fCurrentEntity.getColumnNumber();
fEndCharacterOffset = fCurrentEntity.getCharacterOffset();
if (fNotifyCharRefs) {
XMLResourceIdentifier id = resourceId();
String encoding = null;
fDocumentHandler.startGeneralEntity(name, id, encoding, locationAugs());
}
str.clear();
str.append((char)value);
fDocumentHandler.characters(str, locationAugs());
if (fNotifyCharRefs) {
fDocumentHandler.endGeneralEntity(name, locationAugs());
}
}
}
catch (NumberFormatException e) {
if (fReportErrors) {
fErrorReporter.reportError("HTML1005", new Object[]{name});
}
if (content && fDocumentHandler != null && fElementCount >= fElementDepth) {
fEndLineNumber = fCurrentEntity.getLineNumber();
fEndColumnNumber = fCurrentEntity.getColumnNumber();
fEndCharacterOffset = fCurrentEntity.getCharacterOffset();
fDocumentHandler.characters(str, locationAugs());
}
}
return value;
}
int c = HTMLEntities.get(name);
// in attributes, some incomplete entities should be recognized, not all
// TODO: investigate to find which ones (there are differences between browsers)
// in a first time, consider only those that behave the same in FF and IE
final boolean invalidEntityInAttribute = !content && !endsWithSemicolon && c > 256;
if (c == -1 || invalidEntityInAttribute) {
if (fReportErrors) {
fErrorReporter.reportWarning("HTML1006", new Object[]{name});
}
if (content && fDocumentHandler != null && fElementCount >= fElementDepth) {
fEndLineNumber = fCurrentEntity.getLineNumber();
fEndColumnNumber = fCurrentEntity.getColumnNumber();
fEndCharacterOffset = fCurrentEntity.getCharacterOffset();
fDocumentHandler.characters(str, locationAugs());
}
return -1;
}
if (content && fDocumentHandler != null && fElementCount >= fElementDepth) {
fEndLineNumber = fCurrentEntity.getLineNumber();
fEndColumnNumber = fCurrentEntity.getColumnNumber();
fEndCharacterOffset = fCurrentEntity.getCharacterOffset();
boolean notify = fNotifyHtmlBuiltinRefs || (fNotifyXmlBuiltinRefs && builtinXmlRef(name));
if (notify) {
XMLResourceIdentifier id = resourceId();
String encoding = null;
fDocumentHandler.startGeneralEntity(name, id, encoding, locationAugs());
}
str.clear();
str.append((char)c);