reader.get();
readEndTag();
break;
+ case '<':
+ receiver.handleCData(new String(new char[] {c }));
+ break;
default:
readTag();
}
(aCharacter == ':');
}
+ private boolean isValidUnQuotedAttributeCharacter(char aCharacter) {
+ int type = Character.getType(aCharacter);
+
+ return
+ (type == Character.UPPERCASE_LETTER) ||
+ (type == Character.LOWERCASE_LETTER) ||
+ (type == Character.DECIMAL_DIGIT_NUMBER) ||
+ (aCharacter == '.') ||
+ (aCharacter == '#') ||
+ (aCharacter == '-') ||
+ (aCharacter == '_') ||
+ (aCharacter == ':');
+ }
+
private void skipWhiteSpace() throws IOException {
while (!reader.isAtEnd() && Character.isWhitespace(reader.peek())) {
reader.get();
if (result.length()==0)
return null;
- else
- return result.toString();
+ return result.toString();
}
private String getAttributeValue() throws IOException {
reader.get();
}
else {
- while (!reader.isAtEnd() && isValidTagNameCharacter(reader.peek())) {
+ while (!reader.isAtEnd() && isValidUnQuotedAttributeCharacter(reader.peek())) {
result.append(reader.get());
}
}
reader.get();
if (!reader.isAtEnd() && reader.peek()=='-') {
reader.get();
- break;
+ if (!reader.isAtEnd() && reader.peek()=='>') {
+ reader.get();
+ break;
+ }
+ result.append('-');
}
result.append('-');
}
return;
}
- else {
- result.append('-');
- }
+ result.append('-');
}
while (!reader.isAtEnd() && reader.peek()!='>') {
result.append(reader.get());
}
-
-
receiver.handleCData(HTMLRoutines.resolveHTMLEntites(result.toString()));
}